FORTRAN II - CAL HANDLER III-A 9-5-63 RET=JMP I-JMS 20/ HELPR JMP . 2 JMP HERE3 DAC PAC JMS .+2 PAC, 0  /SAVED AC PLK, 0  /SAVED LINK ISZ PUSH LAC 20 AND (17777 PUSH, DAC PSTORE-1 /SAVE EXIT ADDRESS ADD (-1 DAC #PTEM LAC I PTEM /GET SUBROUTINE ADDRESS DAC PTEM LAW HELPR DAC 20 ISZ LIMIT JMP EXITP HELP EH 1112 /COPY SUBROUTINE COPYLP, 0 ISZ TM#CNT SKP JMP I COPYLP TT1, XX TT2, XX ISZ TT1 ISZ TT2 JMP COPYLP 1 /CAL HANDLER - PAGE 2 /SAVE 1 REGISTER (RESTORE AC AND LINK) SAVE1=JMS . 0 LAC I PUSH TAD (20000 ISZ PUSH DAC I PUSH /INDEX NO. OF SAVED ARGS. JMS RL6 AND (37 ADD (LAC PST-1 DAC SAVEA LAM -1 ADD PUSH DAC PTEM SAVEA, XX DAC I PTEM ISZ LIMIT RET SAVE1 HELP EH 1112 /PUSH N REGISTERS SAVE=JMS . 0 LAC I SAVE-JMS DAC TT1 SKP SAVE1 ISZ TT1 JMP .-2 RET SAVE /CAL HANDLER - PAGE 3 /EXIT ROUTINES EXIT3=JMP . ISZ I PUSH EXIT2=JMP . ISZ I PUSH EXIT1=JMP . ISZ I PUSH EXIT =JMP . DAC PAC  /SAVE AC AND LINK EXITL, RAR  /SAVE LINK DAC PLK LAC I PUSH /RESTORE OLD AC AND LINK EXITB, DAC PTEM AND (760000 SZA JMP RESTORE EXIT1A, LAM -1 ADD PUSH DAC PUSH LAM -1 ADD LIMIT DAC LIMIT ADD (PUSHN SPA HELP EH 1110 EXITP, LAC PLK RAL LAC PAC JMP I PTEM EXIT3R=JMP . ISZ I PUSH EXIT2R=JMP . ISZ I PUSH EXIT1R=JMP . ISZ I PUSH EXITR =JMP . JMP EXITB-1 DSPTCH, AND (7 ADD I PUSH JMP EXITB /CAL HANDLER - PAGE 4 /MISC. SUBROUTINES RESTOR, JMS RL6 AND (37 CMA DAC TMCNT ADD PUSH DAC PUSH ADD (LAC-DAC DAC COPYLP 4 LAC (DAC PST DAC COPYLP 5 LAC TMCNT ADD LIMIT DAC LIMIT JMS COPYLP JMP EXIT1A /DISPLAY PARAMETERS DSPARA=JMS . 0 LAM -PARN DAC TMCNT LAC (DAC PARA 1 DAC COPYLP 5 LAC I PUSH AND (17777 ADD (LAC DAC COPYLP 4 JMS COPYLP RET DSPARA RL6, 0 RTL RTL RTL JMP I RL6 VARIABLES PST, PST 10/ PARG, PARG PARN 1/ PARA=PARG-1 START