                                                                                
*1000
VECTOR, JMS LEADER
DCA I BINSUM
KCC
TAD BUFFER
DCA ADDR
DCA CKSM
JMS READ
SZA
JMP .-2
JMS PAIR
   ORIGIN,0
   WRDCT,0
TAD ORIGIN
SNA CLA
JMP I FIN
TAD WRDCT
DCA I WDCT
   MAIN, JMS PAIR
   WORD1,0
   WORD2,0
TAD WORD1
JMS STOR
TAD WORD2
JMS STOR
JMP MAIN
FIN,FINISH
CKSM,0
BUFFER,1377
ADDR,0
WDCT,COUNT
BINSUM,CKSUM

READ, HLT
KSF
JMP .-1
KRB
JMP I READ

PAIR, HLT
JMS READ
CLL RTL
RTL
DCA I PAIR
JMS READ
AND MASK  /0017
JMS HELP
KRB
CLL RTL
RTL
AND MASK  /7400
DCA I PAIR
JMS READ
JMS HELP
JMP I PAIR
MASK,7417












HELP, HLT
TAD I PAIR
DCA I PAIR
TAD I PAIR
TAD CKSM
SZL
IAC CLL
DCA CKSM
ISZ PAIR
JMP I HELP

STOR, HLT
ISZ ADDR
DCA I ADDR
ISZ WRDCT
JMP I STOR
JMS PAIR
0
0
LAS      /SW 0 UP FOR UNCONDITIONAL PUNCH
SPA
JMP I TAPEIT
RAL
SPA CLA  /SW 1 UP FOR UNCONDITIONAL OPTION FOR PUNCH
JMP CHOICE
TAD CKSM
ISZ CKSM
JMP CHOICE+1  /BOTH SW 0 & 1 DOWN, STOP ONLY FOR BAD CHECKSUM
JMP I TAPEIT
   CHOICE, TAD CKSM
HLT
LAS      /SW 11 UP FOR NO-PUNCH
CLL RTR
SPA CLA
JMP VECTOR+2
JMP I TAPEIT
TAPEIT, TAPE

LEADER, HLT
CLA
TAD M100
DCA ADDR
TAD P200
JMS I OUT
ISZ ADDR
JMP .-2
CLA
JMP I LEADER
M100,-100
P200,200
OUT,TYPE













*1200
TYPE, HLT
TSF
JMP .-1
TLS
JMP I TYPE

PRINT, HLT
JMS TYPE
TAD CKSUM
DCA CKSUM
JMP I PRINT
CKSUM, 0

TAPE, CLA
TAD I ORGN
JMS HALF
TAD P100
JMS PRINT
TAD I ORGN
AND C77
JMS PRINT
TAD BUFFA
DCA ADRSS
   MORE, TAD I ADRSS
JMS HALF
JMS PRINT
TAD I ADRSS
AND C77
JMS PRINT
ISZ COUNT
SKP
JMP I VECTP3
ISZ ADRSS
JMP MORE
ORGN,ORIGIN
P100,100
BUFFA,1400
ADRSS,0
COUNT,0
VECTP3,VECTOR+2

HALF, HLT
CLL RTR
RTR
RTR
AND C77
JMP I HALF
C77,77

FINISH, TAD CKSUM
JMS HALF
JMS TYPE
CLA
TAD CKSUM
AND C77
JMS TYPE
JMS I LDR
HLT
JMP I START
LDR,LEADER
START,VECTOR

$
                                                                                                                                                                                       