* F4$DUM - DEC 10 2006 - VERSION 1 * * FORTRAN COMPILER DUMMY DEVICE DRIVERS AND DATA POOL INITIALISATION * * THIS MODULE MUST BE THE LAST ONE BEING LINKED TO THE F4 COMPILER. * THESE ROUTINES ARE CALLED BY F4-IOS AND THE INITIALISATION ROUTINE * IS OVERWRITTEN BY THE DATA POOL AFTER INITIALISATION. * * HONEYWELL X16 16 BIT COMPUTER SOFTWARE * * PROGRAM LENGTH: 48 WORDS * * THIS SOURCE IS RECREATED FROM THE EXISTING SLST FILE: * - SLST-FRTN.IMG (WHICH ORIGINATES FROM HONEYWELL) * * THE SOURCE IS RECREATED BY: THEO ENGEL (THEO.ENGEL@HETNET.NL) * SUBR F4$INI,SIZE SUBR F4$DUM,DUM SUBR O$LH SUBR O$ME * SUBR I$AA SUBR I$CA SUBR I$PA SUBR I$MA SUBR C$6TO8,C$68 * SUBR O$PB SUBR O$AB SUBR O$MB * SUBR O$LA SUBR C$8TO6,C$86 SUBR O$MA * REL * DUM EQU * DAC *-* JMP* *-1 * O$LH EQU * O$ME EQU * DAC *-* IRS *-1 JMP* *-2 * * SOURCE INPUT I$AA EQU * I$CA EQU * I$PA EQU * I$MA EQU * C$68 EQU * DAC *-* DUMMY SOURCE INPUT JMP* SI * * OBJECT OUTPUT O$PB EQU * O$AB EQU * O$MB EQU * O$MS EQU * DAC *-* DUMMY OBJECT OUTPUT JMP* OO * * LISTING OUTPUT O$LA EQU * C$86 EQU * O$MA EQU * DAC *-* DUMMY LISTING OUTPUT JMP* LL * * JUMP TABLE TO APPROPRIATE DUMMY DRIVER IN F4-IOS SI XAC F4$DUI POINTER TO DUMMY SOURCE INPUT DEVICE DRIVER OO XAC F4$DUO POINTER TO DUMMY OBJECT OUTPUT DEVICE DRIVER LL XAC F4$DUS POINTER TO DUMMY LISTING OUTPUT DEVICE DRIVER * * PURPOSE OF INI ROUTINE IS TWOFOLD: * - INITIALIZE THE MEMORY BOUNDARIES BEING USED BY THE F4 COMPILER CODE * AND I/O DRIVERS TO DETERMINE THE SPACE FOR THE DATA POOL * - INITIALIZE AND LINK THE DATA POOL TO THE F4 COMPILER VIA SECTOR 0 * DP EQU * START OF DATA POOL * SIZE DAC *-* LDA SIZE GET RETURN ADDRESS SUB N1 MINUS 1 STA SIZE = CALLING ADDRESS LDA NOP STA* SIZE REPLACE CALL BY NOP NEXT LDA MTOP MEMORY BOUNDARY SUB CTOP MINUS CODE LENGTH SUB O103 ='103 STA LO SAVE DATAPOOL SIZE LDA* MTOP CONTENT MEM BOUNDARY IAB => B = CONTENT MEM BOUNDARY LDA PAT PATTERN STA* MTOP STORE PATTERN LDA* MTOP AND TRY TO GET IT BACK SNZ JMP* SIZE MEMORY SIZE = MTOP IAB STA* MTOP RESTORE CONTENT MEM BOUNDARY LDA MTOP ADD M4K INCREASE MEM BOUNDARY WITH 4K STA MTOP ERA UPP 16K?/20K? SZE JMP NEXT NO * * THE ADAPTION PROCESS STOPS HERE WHEN MTOP = 16K * THE DATA POOL SIZE (LO) IS ADAPTED THEN FOR THE MTOP = 12K * FOR A 16K MACHINE THE UPPER 4K IS NOT USED FOR THE DATAPOOL. * TO USE THAT UPPER 4K, THE VALUE OF 'UPP' HAS TO CHANCE TO '50000 * JMP* SIZE YES; STOP IF MTOP = UPP * * WORKSPACE * MTOP OCT 20000 MINIMUM MEMORY TOP (8K INIT) NOP NOP NOP OPERATION CTOP DAC DP CODE TOP UPP OCT 40000 16K (20K => '50000) M4K OCT 10000 4K PAT OCT 12525 MEMORY PATTREN O103 OCT 103 ='103 N1 OCT 1 * * * THE FOLLOWING TABLE LINKS THE DATA POOL VIA SECTOR 0 TO THE F4 COMPILER * * ABS ORG '100 DAC DP-4,1 (100) DAC DP-3,1 (101) DAC DP-2,1 (102) DAC DP-1,1 (103) DAC DP,1 (104) DAC DP+1,1 (105) DAC DP+2,1 (106) DAC DP+3,1 (107) DAC DP+4,1 (110) DAC DP+5,1 (111) DAC DP+6,1 (112) LO DAC DP+7 (113) DATA POOL SIZE * END