* * FORTRAN RUNTIME EQUATES * bASE EQU 100H rET EQU bASE+6 fTRET EQU rET+1 eCADD EQU fTRET+2 aRG1 EQU eCADD+2 aRG2 EQU aRG1+2 aRG3 EQU aRG2+2 * ABORT EQU aRG3+2 ABS EQU ABORT+3 ALOG EQU ABS+3 ALOG1 EQU ALOG+3 AMOD EQU ALOG1+3 ATAN EQU AMOD+3 CALL EQU ATAN+3 CBTOF EQU CALL+3 CHAIN EQU CBTOF+3 CHATT EQU CHAIN+3 CHTYP EQU CHATT+3 CLOSE EQU CHTYP+3 COMP EQU CLOSE+3 CIN EQU COMP+3 CTEST EQU CIN+3 COS EQU CTEST+3 CREAT EQU COS+3 DELAY EQU CREAT+3 EXIT EQU DELAY+3 EXP EQU EXIT+3 FINFO EQU EXP+3 FLOAT EQU FINFO+3 IABS EQU FLOAT+3 * IFIX EQU IABS+3 INT EQU IFIX AINT EQU IFIX * KILL EQU IFIX+3 CONTR EQU KILL+3 MOD EQU CONTR+3 MOVE EQU MOD+3 OPEN EQU MOVE+3 PLOT EQU OPEN+3 RAND EQU PLOT+3 RANDO EQU RAND+3 CHNAM EQU RANDO+3 SEEK EQU CHNAM+3 SETUN EQU SEEK+3 * SIGN EQU SETUN+3 ISIGN EQU SIGN * SIN EQU SIGN+3 SPACE EQU SIN+3 SQRT EQU SPACE+3 TAN EQU SQRT+3 AMAX0 EQU TAN+3 AMAX1 EQU TAN+3 MAX0 EQU TAN+3 MAX1 EQU TAN+3 AMIN0 EQU AMAX0+3 AMIN1 EQU AMIN0 MIN0 EQU AMIN0 MIN1 EQU AMIN0 * fRET EQU AMIN0+3 fTADD EQU fRET+3 fTAEQ EQU fTADD+3 fTAIF EQU fTAEQ+3 fTAND EQU fTAIF+3 fTDIV EQU fTAND+3 fTDO EQU fTDIV+3 fTEXP EQU fTDO+3 fTFBS EQU fTEXP+3 fTFEN EQU fTFBS+3 fTFRD EQU fTFEN+3 fTFRW EQU fTFRD+3 fTFWT EQU fTFRW+3 fTGTO EQU fTFWT+3 fTIAD EQU fTGTO+3 fTIDV EQU fTIAD+3 fTIEQ EQU fTIDV+3 fTIEX EQU fTIEQ+3 fTIMP EQU fTIEX+3 fTISB EQU fTIMP+3 fTLEQ EQU fTISB+3 fTLGE EQU fTLEQ+3 fTLGT EQU fTLGE+3 fTLIF EQU fTLGT+3 fTLIN EQU fTLIF+3 fTLLE EQU fTLIN+3 fTLLT EQU fTLLE+3 fTLNE EQU fTLLT+3 fTLOR EQU fTLNE+3 fTMUL EQU fTLOR+3 fTMUS EQU fTMUL+3 fTNDX EQU fTMUS+3 fTNME EQU fTNDX+3 fTNOT EQU fTNME+3 fTPRM EQU fTNOT+3 fTPUS EQU fTPRM+3 fTSTP EQU fTPUS+3 fTSUB EQU fTSTP+3 fTXOR EQU fTSUB+3 fTDMP EQU fTXOR+3 gETSP EQU fTDMP+3 eRSET EQU gETSP+3 eRCLR EQU eRSET+3 BIT EQU eRCLR+3 fTASN EQU BIT+3 fTAGO EQU fTASN+3 DIM EQU fTAGO+3 IDIM EQU DIM+3 ATAN2 EQU IDIM+3 fTENC EQU ATAN2+3 fTDEC EQU fTENC+3 fTTON EQU fTDEC+3 fTTOF EQU fTTON+3 OUT EQU fTTOF+3 fTUMS EQU fTMUS * bCONV EQU OUT+3 fTE01 EQU bCONV+3 fTE20 EQU fTE01+3 fTFX EQU fTE20+3 fTG1 EQU fTFX+3 fTG2 EQU fTG1+3 fTG3 EQU fTG2+3 sTORE EQU fTG3+3 sTRG1 EQU sTORE+3 sTRG2 EQU sTRG1+3 vCOPY EQU sTRG2+3 rELOP EQU vCOPY+3 rELP1 EQU rELOP+3 * * INITIAL STARTUP * XEQ $ LXI SP,sTACK LHLD 0BCA5H LXI D,11 DAD D MVI M,-1 INX H MVI M,-1 LXI H,0 LXI D,rUN CALL 0BCBCH DB 1 CALL fATAL STA fILE sT1 LXI D,rUN LXI B,4 CALL 0BCBCH DB 3 CALL eOF LHLD rUN MOV B,H MOV C,L LHLD rUN+2 XCHG CALL 0BCBCH DB 3 CALL fATAL JMP sT1 fATAL POP H LXI D,-4 DAD D STA fATL1 MOV A,M STA fATL2 MVI A,4 LXI H,fATL3 CALL 0BCB3H DB 0 UXOP JMP 0BCB0H RESET fATL2 DB 0 fATL1 DB 0 fATL3 ASC /--> / rUN ASC *FORTGO/0* DB 0 eOF CPI 24 JNZ fATAL LDA fILE CALL 0BCBCH DB 7 CALL fATAL MOV A,C CPI 2 MVI A,5 JNZ fATAL LHLD rUN PCHL fILE DB 0 DS 7 sTACK EQU $ Last address of the program ORG 103H JMP mAIN GO TO MAIN ROUTINE *