ASMB,R,B,L NAM FFP.A END ASMB,R,B,L HED FAST FORTRAN PROCESSOR LIBRARY 10DEC73 JSO NAM DBLE,6 ENT DBLE EXT .FFP. * DBLE NOP JSB .FFP. GO TO STUFFER RAM DBL DBL EQU 201B END ASMB,R,B,L NAM SNGL,6 ENT SNGL EXT .FFP. SNGL NOP JSB .FFP. GO TO STUFFER RAM SING SING EQU 202B END ASMB,R,B,L NAM XMPY,6 ENT .XMPY EXT .FFP. .XMPY NOP JSB .FFP. GO TO STUFFER RAM XMPY XMPY EQU 203B END ASMB,R,B,L NAM XDIV,6 ENT .XDIV EXT .FFP. * .XDIV NOP JSB .FFP. GO TO STUFFER RAM XDIV XDIV EQU 204B END ASMB,R,B,L NAM .XFER,6 ENT .XFER,.DFER EXT .FFP. EXT $LIBR,$LIBX,.ZRLB * .XFER NOP JSB $LIBR NOP JSB .ZRLB DEF EXIT STA TA STB TB RAM DFER TB BSS 1 TA BSS 1 EXIT JSB $LIBX DEF .XFER JMP .XFER,I RETURN TO USER PROGRAM * .DFER NOP JSB .FFP. GO TO STUFFER RAM DFER DFER EQU 205B END ASMB,R,B,L NAM XADSB,6 ENT .XADD,.XSUB EXT .FFP. * .XADD NOP JSB .FFP. GO TO STUFFER RAM XADD XADD EQU 213B * .XSUB NOP JSB .FFP. GO TO STUFFER RAM XSUB XSUB EQU 214B END ASMB,R,B,L NAM .GOTO,6 ENT .GOTO EXT .FFP. .GOTO NOP JSB .FFP. RAM GOTO GOTO EQU 221B END ASMB,R,B,L NAM ..MAP,6 ENT ..MAP EXT .FFP. * ..MAP NOP JSB .FFP. GO TO STUFFER RAM .MAP .MAP EQU 222B END ASMB,R,B,L NAM .ENTR,6 ENT .ENTR,.ENTP EXT .FFP. * .ENTR NOP JSB .FFP. GO TO STUFFER RAM ENTR ENTR EQU 223B * .ENTP NOP JSB .FFP. GO TO STUFFER RAM ENTP ENTP EQU 224B END ASMB,R,B,L NAM .SETP,6 ENT .SETP EXT .FFP. .SETP NOP JSB .FFP. RAM SETP SETP EQU 227B END ASMB,R,B,L,C NAM .FFP.,6 ENT .FFP. * EXT $LIBR,$LIBX,.ZRLB * * .FFP. IS A GENERAL PURPOSE ROUTINE USED TO REPLACE * A JSB TO A SUBROUTINE WITH THE PROPER MACRO-CODE * AND TO TRANSFER CONTROL TO THE MACRO-CODE. * * CALLING SEQUENCE: * MAIN PROGRAM: * START JSB SUBR CALL TO EXTERNAL SUBROUTINE * * SUBROUTINE CALLED: * SUBR NOP ENTRY POINT * JSB .FFP. CALL TO STUFFER * RAM CODE OPCODE TO REPLACE JSB * * RETURN : * REGISTERS UNCHANGED * .FFP. RETURNS TO LOCATION START * .FFP. NOP ROUTINE TO REPLACE JSB WITH MACRO JSB $LIBR PRIVILEDGED CALL FOR RTE NOP JSB .ZRLB REMOVE $LIBR/X CALLS IN DOS DEF EXIT * STA ASAVE SAVE A REGISTER LDA .FFP. COMPUTE ADDRESS OF ADA DM2 EXTERNAL ENTRY POINT LDA A,I COMPUTE ADDRESS OF ADA DM1 JSB TO BE REPLACED STA TEMP SAVE ADDRESS LDA .FFP.,I LOAD RAM OPCODE STA TEMP,I REPLACE JSB WITH IT LDA ASAVE RESTORE A REGISTER EXIT JSB $LIBX EXIT CALL FOR RTE DEF TEMP JMP TEMP,I EXIT FOR DOS * ASAVE BSS 1 TEMPORARY FOR A REGISTER TEMP BSS 1 DM1 DEC -1 DM2 DEC -2 A EQU 0 * END