1 * (O$PB) - COPY OF O$AB
6 * PROGRAM CATEGORY: I/O LIBRARY
8 * PROGRAM TITLE: O$PB (O$PS,O$PLDR)
9 * TO PUNCH BINARY TAPE ON THE HIGH SPEED PUNCH
28 * CALL O$PB PTP BINARY PUNCH ROUTINE
29 * DAC DATA DATA ADDRESS
32 * CALL O$PS END OF MESSAGE ROUTINE
34 * CALL O$PLDR PUNCH BLANK LEADER
39 * THIS ROUTINE IS USED TO PUNCH BINARY PAPER TAPE, THE ADDRESS
40 * OF THE BINARY WORD COUNT APPEARS IN THE VARIABLE FIELD (DATA)
41 * FOLLOWING THE CALL PSEUDO-OP. THE BINARY INFORMATION TO BE
42 * PUNCHED MUST START AT DATA+1.
43 * THE NORMAL RETURN IS TAKEN WHEN THE NUMBER OF WORDS SPECIFIED
44 * BY THE WORD COUNT HAS BEEN PUNCHED.
48 * EOM (203 OCT), X-OFF (223 OCT), AND RUBOUT (377 OCT) CHARACTERS
49 * ARE PUNCHED WHEN THIS ROUTINE IS USED.
50 * RETURN IS TO THE CALLING PROGRAMM
54 * PUNCH BLANK LEADER. NORMAL RETURN.
59 * BINARY INFORMATION IS PUNCHED AS IST APPEARS IN THE BUFFER (DATA+1).
60 * EACH RECORD ON PAPER TAP EWILL HAVE THE FOLLOWING FORMAT:
61 * START OF MESSAGE, BINARY INFORMATION, X-OFF, TWO LEADER CHARS.
65 ********************************************************************************
81 O$PB PZE ** PTP PUNCH ENTRY
82 STX XR SAVE INDEX REGISTER FROM CALLING PROGRAMM
83 OCP 2 ACTIVATE PAPER TAPE PUNCH
85 LDA* O$PB WORD COUNT ADDRESS
88 TCA TWOS COMPLEMENT BINARY WORD COUNT
90 LDA* O$PB BINARY DATA ADDRESS
91 ADD* TMP DATA ADDRESS+WORD COUNT
93 STA DATA DATA ADDRESS + WORD COUNT, 1
95 LDA ='201 BEGINNING OF MESSAGE
97 BIN6 LDA* DATA BINARY WORD TO BE PUNCHED
98 LRL 16 B-REG: BINARY WORD TO BE PUNCHED
99 JST PNCH GO PUNCH BINARY WORD
101 JMP BIN6 CONTINUE PUNCHING BINARY CHARACTERS
102 JMP RETN LEAVE ROUTINE
103 PNCH PZE ** CONVERT AND PUNCH BINARY CHARACTERS
105 JST CHAR PUNCH BINARY WORD (1-4)
106 JST CHAR PUNCH BINARY WORD (5-10)
107 JST CHAR PUNCH BINARY WORD (11-16)
108 JMP* PNCH RETURN FOR ADDITIONAL WORDS
129 BCD8 PZE ** ASCII PUNCH ROUTINE
135 LDA ='377 RUBOUT CHARACTER
136 JST BCD8 LEADER CHAR.
137 IRS O$PB INCREMENT FOR NORMAL RETURN
138 LDA XR RESTORE INDEX FOR CALLING PROGRAMM
142 O$PS PZE ** PUNCH END OF MESSAGE ENTRY
144 LDA ='203 PUNCH END OF MESSAGE
146 LDA ='223 PUNCH X-OFF
148 LDA ='377 RUBOUT CHARACTER
149 JST BCD8 LEADER CHAR.
150 JMP* O$PS RETURN TO CALLING PROGRAMM
163 LDRC DEC 150 LENGTH OF LEADER
164 PLDR DAC ** PUNCH LEADER ENTRY
165 STX XR SAVE X REGISTER
166 LDA LDRC LENGTH OF LEADER
167 TCA TWOS COMPLEMENT OF LEADER
175 LDX XR RESTORE X REGISTER