Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *************************************************
- *
- * BUILD SUBROUTINE
- *************************************************
- * Register Usage:
- *
- * 1 - used by XDECI / param list addr
- * 2 - param list, table
- * 3 - param list, eot
- * 4 - address of D1
- * 5 - address of H1
- * 6 - extracted num, XDECI/XDECO
- * 7 -
- * 8 -
- * 9 -
- * 10 - subroutine return address
- * 11 -
- * 12 -
- * 13 -
- * 14 -
- * 15 -
- *
- *************************************************
- BUILD DS 0H BEGIN BUILD SUBROUTINE
- STM 0,15,REGSAVE
- LM 2,5,0(1) LOAD PARAM LIST
- READLN XREAD INLINE,80 READ A LINE
- BL ENDRD
- *
- LA 1,INLINE
- FILLTBL XDECI 6,0(1) GET NEXT NUMBER
- BO ENDTBL END OF LINE
- C 6,=F'-88888888' CHECK FOR DELIMITER
- BE LAST3
- CR 2,3 COMPARE TABLE AND EOT
- BNL ENDRD QUIT IF TABLE FULL
- ST 6,0(2) STORE VALUE IN TABLE
- A 2,=F'4' INCREMENT TABLE PTR
- B FILLTBL REPEAT INNER LOOP
- *
- ENDTBL B READLN REPEAT OUTER LOOP
- *
- LAST3 XREAD INLINE,80 READ A LINE
- BL ENDRD
- XDECI 6,INLINE GET NEXT NUMBER
- BO ELAST
- ST 6,0(4) STORE DX
- A 4,=F'4' INCREMENT DX PTR
- XDECI 6,0(1) GET NEXT NUMBER
- BO ELAST
- ST 6,0(5)
- A 5,=F'4' INCREMENT HX PTR
- ELAST B LAST3
- *
- ENDRD ST 2,0(3) STORE EOT POINTER
- LM 0,15,REGSAVE RESTORE REGISTERS
- BR 10
- *************************************************
- * END BUILD
- *************************************************
Advertisement
Add Comment
Please, Sign In to add comment