mirror of
https://github.com/PDP-10/its.git
synced 2026-02-15 20:36:13 +00:00
103 lines
1.8 KiB
Groff
103 lines
1.8 KiB
Groff
TITLE ASSV4
|
||
;VALRETS DDT COMMAND LINE TO ASSEMBLE APPROPRIATE VERSION NO. OF SSV4
|
||
A=1 ? CH=2 ? IBP=3 ? OBP=4 ? NBP=5
|
||
P=17
|
||
TTYO=16 ? TTYI=15 ? DSKI=14
|
||
.MLLIT==1
|
||
CALL=PUSHJ P, ? RET=POPJ P,
|
||
|
||
GO: MOVE P,[-4,,PDL-1]
|
||
.OPEN TTYO,[1,,'TTY]
|
||
.VALUE
|
||
.OPEN TTYI,[0,,'TTY]
|
||
.VALUE
|
||
MOVEI A,[ASCIZ \
|
||
SSV4 ASSEMBLER!!\]
|
||
CALL TYPE
|
||
TYILIN: MOVEI A,[ASCIZ \
|
||
TYPE VERSION NUMBER OR ">":\]
|
||
CALL TYPE
|
||
SETZM TYIB
|
||
MOVE OBP,[440700,,TYIB]
|
||
TYILP: .IOT TTYI,CH
|
||
CAIN CH,">
|
||
JRST GTR
|
||
CAIN CH,^M
|
||
JRST GOTIT
|
||
CAIL CH,"0
|
||
CAILE CH,"9
|
||
JRST [.IOT TTYO,[^G] ? JRST TYILIN]\
|
||
IDPB CH,OBP
|
||
JRST TYILP
|
||
GTR: MOVSI A,(SIXBIT \>\)
|
||
.CALL DSKBLK
|
||
JRST OPNLUZ
|
||
MOVE A,[DSKI,,RCHBLK]
|
||
.RCHST A,
|
||
MOVE A,RCHFN2
|
||
JRST COMPUT
|
||
GOTIT: MOVE IBP,[440700,,TYIB]
|
||
MOVE NBP,[440600,,A]
|
||
SETZ A,
|
||
GOTLP: ILDB CH,IBP
|
||
JUMPE CH,GOTOPN
|
||
SUBI CH,40 ;CONVERT TO 6BIT
|
||
IDPB CH,NBP
|
||
JRST GOTLP
|
||
GOTOPN: .CALL DSKBLK
|
||
JRST OPNLUZ
|
||
COMPUT: MOVE IBP,[440700,,LINE]
|
||
MOVE OBP,[440700,,OUTLIN]
|
||
CALL ILIN ;":KILL :MMIDAS IMLAC;SSV4B "
|
||
CALL NLIN ;VERSION NO.
|
||
CALL ILIN ;",,SSV4B "
|
||
CALL NLIN ;VER. #
|
||
CALL ILIN ;"_IMLAC;SSV4 "
|
||
CALL NLIN ;VER. #
|
||
MOVEI CH,^M ;TERMINATOR
|
||
IDPB CH,OBP
|
||
SETZ CH,
|
||
IDPB CH,OBP
|
||
.VALUE OUTLIN
|
||
|
||
ILIN: ILDB CH,IBP ;MOVE CHARS FROM LINE TO OUTLIN
|
||
JUMPE CH,CPOPJ
|
||
IDPB CH,OBP
|
||
JRST ILIN
|
||
|
||
NLIN: MOVE NBP,[440600,,A] ;MOVE CHS FROM 6BIT IN A TO OUTLIN
|
||
NLIN1: ILDB CH,NBP
|
||
JUMPE CH,CPOPJ
|
||
ADDI CH,40
|
||
IDPB CH,OBP
|
||
JRST NLIN1
|
||
CPOPJ: RET
|
||
|
||
TYPE: HRLI A,440700
|
||
TYPLP: ILDB CH,A
|
||
JUMPE CH,CPOPJ
|
||
.IOT TTYO,CH
|
||
JRST TYPLP
|
||
|
||
OPNLUZ: MOVEI A,[ASCIZ \
|
||
CAN'T FIND INPUT FILE, TRY AGAIN.\]
|
||
CALL TYPE
|
||
JRST TYILIN
|
||
|
||
TYIB: BLOCK 5
|
||
RCHBLK: 0 ? 0 ;DEV, FN1
|
||
RCHFN2: 0 ? 0 ? 0
|
||
DSKBLK: SETZ ? SIXBIT \OPEN\
|
||
[0,,DSKI] ;MODE,,CHANNEL
|
||
[SIXBIT \DSK\] ;DEV
|
||
[SIXBIT \SSV4\] ;FN1
|
||
A ;FN2
|
||
SETZ [SIXBIT \IMLAC\] ;SNAME
|
||
|
||
PDL: BLOCK 5
|
||
LINE: ASCII \:KILL :MMIDAS IMLAC;SSV4B |