56 lines
1.5 KiB
Plaintext
56 lines
1.5 KiB
Plaintext
/JOANNES I:I - IN PRINCIPIO ERAT VERBUM
|
|
/VERB4 - PRINT FROM PACKED STRING
|
|
CLA
|
|
TAD (-14) /PACKED STR. WORD COUNT * -1
|
|
DCA COUNT
|
|
TAD (PKSTR) /ADDR. OF PACKED STR.
|
|
DCA PTR
|
|
LOOP, CLA
|
|
TAD I PTR /CURR. PACKED STR. WORD
|
|
JMS GETCH1
|
|
JMS CVT6B
|
|
JMS PRCHR
|
|
TAD I PTR /RELOAD CURR. PACKED STR. WORD
|
|
JMS GETCH2
|
|
JMS CVT6B
|
|
JMS PRCHR
|
|
ISZ PTR /INCR. PACKED STR. WORD PTR.
|
|
ISZ COUNT /INCR. WORD COUNT - LOOP UNTIL 0
|
|
JMP LOOP
|
|
JMS PRCRLF
|
|
HLT
|
|
COUNT, 0 /PACKED STR. REMAINING WORD COUNT
|
|
PTR, 0 /CURR. PACKED STR. WORD PTR.
|
|
PKSTR, TEXT 'IN PRINCIPIO ERAT VERBUM' /PACKED STR.
|
|
GETCH1, 0 /EXTRACT 1ST CHAR. FROM PACKED WORD
|
|
JMS SHFT6R
|
|
JMP I GETCH1
|
|
GETCH2, 0 /EXTRACT 2ND CHAR. FROM PACKED WORD
|
|
JMS ROT6L
|
|
JMS SHFT6R
|
|
JMP I GETCH2
|
|
SHFT6R, 0 /SHIFT AC VALUE 6 BITS TO RIGHT
|
|
RAR CLL; RAR CLL; RAR CLL; RAR CLL; RAR CLL; RAR CLL
|
|
JMP I SHFT6R
|
|
ROT6L, 0 /ROTATE AC VALUE 6 BITS TO LEFT
|
|
RAL; RAL; RAL; RAL; RAL; RAL
|
|
JMP I ROT6L
|
|
CVT6B, 0 /CONVERT 6-BIT CHAR. CODE TO 8-BIT
|
|
TAD (7740) /8-COMPLEMENT OF 40 (SUBTRACT 40)
|
|
SPA
|
|
TAD (100)
|
|
TAD (240)
|
|
JMP I CVT6B
|
|
PRCRLF, 0 /PRINT CR-LF
|
|
TAD (215) /CR
|
|
JMS PRCHR
|
|
TAD (212) /LF
|
|
JMS PRCHR
|
|
JMP I PRCRLF
|
|
PRCHR, 0 /PRINT CHAR. CODE IN AC
|
|
TLS
|
|
CLA
|
|
JMP I PRCHR
|
|
$
|
|
|