CR 215 LF 212 SLASH 251 LINE 0 LAC CR JMS TYPE LAC LF JMS TYPE JMP* LINE /SIX OCTAL DIGIT PRINT SUBROUTINE OCT6 0 DAC OCTS /SAVE DATA LAC (240 JMS TYPE LAC OCTS /GET DATA AND (700000 CLL!RTL RTL TAD (260 JMS TYPE LAC OCTS /GET 2ND DIGIT SWHA AND (70 CLL!RAR RTR TAD (260 JMS TYPE LAC OCTS /GET 3RD DIGIT SWHA AND (7 TAD (260 JMS TYPE LAC OCTS /GET 4TH DIGIT SWHA AND (700000 CLL!RTL RTL TAD (260 JMS TYPE LAC OCTS /GET 5TH DIGIT AND (70 CLL!RAR RTR TAD (260 JMS TYPE LAC OCTS /GET 6TH DIGIT AND (7 TAD (260 JMS TYPE JMP* OCT6 OCTS 0 / / /ASCII PRINT FROM SIXBT PACKED WORD. /THREE 6-BIT ASCII CHARACTERS ARE PACKED INTO ONE /WORD BY THE PSEUDO-OP .SIXBT /THE MESSAGE IS ENDED BY "@". ASPRT 0 DAC SAVE9 ASPRT1 LAC* SAVE9 /GET PACKED WORD. RAR /ROTATE RIGHT 3 BITS RTR SWHA DAC SAVE11 AND MASK5 /MASK5 = 77 SNA JMP* ASPRT /END OF MESSAGE JMS ASPRT2 LAC SAVE11 /GET MIDDLE CHARACTER RAR RTR SWHA AND MASK5 SNA JMP* ASPRT /END OF MESSAGE JMS ASPRT2 LAC* SAVE9 /GET THIRD CHARACTER AND MASK5 SNA JMP* ASPRT /END OF MESSAGE JMS ASPRT2 ISZ SAVE9 /GET NEXT WORD JMP ASPRT1 SAVE9 0 SAVE11 0 SAVE12 0 MASK5 77 MASK6 40 B100 100 ASPRT2 0 DAC SAVE12 AND MASK6 /MASK6 =40 SNA!CLA /NUMBERS 40 TO 77, DO NOTHING. LAC B100 /NUMBERS 00 TO 37, ADD 100. TAD SAVE12 JMS TYPE JMP* ASPRT2 TYPE 0 TSF JMP .-1 TLS JMP* TYPE TSF=700401 TLS=700406 .END START