SECT8 RADC BASE 0 STARTD FLDA 0 /GET RETURN ADDRESS FSTA ADCRET /STORE RETURN ADDRESS FADD L2 /GET ADRS OF DATA POINTER FSTA 0 FLDA% 0 /GET DATA ADDRESS FSTA 0 /STORE IT TRAP4 LITEA /INITIALIZE LOOP, STARTF FLDA% 0 /GET CHARACTER ALN 0 /FIX IT FSTA ICHAR /STORE IT STARTD FLDA 0 /GET DATA POINTER FADD L3 /INCREMENT IT FSTA 0 /REPLACE IT TRAP4 LITEB ADCRET, JA . L2, 0;2 L3, 0;3 ICHAR, 0;0;0 LITEA, NOP /***** CLA CLL 6301 /CLEAR DATA /SYNC BITS DCA R1 /INIT WORD CNT HLT CDF CIF JMP% LITEA LITEB, 0 LITE2, ISZ R1 /INC WORD CNT TAD R1 TAD M6 /COMPUTE(CNT-6) SMA CLA /VAR CHAR? JMP LITE4 /NO TAD M4 JMP LITE8 /GO TRANSMIT LITE4, TAD R1 TAD M6 /COMPUTE(CNT-6) SZA CLA /FIXED DIGITS? JMP LITE6 /NO TAD M10 /YES, SET 10 BIT /WORD JMP LITE8 /GO TRANSMIT LITE6, TAD R1 TAD M7 /COMPUTE(CNT-7) SZA CLA /SPECIAL CHARACTERS? JMP GETBAK /RETURN TAD M6 /YES, 6 BITS PER WORD LITE8, DCA R2 /SET BITS PER WORD TAD ICHAR+2 /GET WORD DCA TEMP /STORE PACKED WORD IN TEMP LITE10, TAD TEMP /GET SHIFTED WORD RAR /ROTATE WORD RIGHT ONE DCA TEMP /RETURN TO TEMP SNL /LINK BIT = 1? JMP .+3 /NO TAD P1000 /YES, SET DATA BIT 6301 /TRANSMIT TAD P2000 /ADD SYNC 6301 /TRANSMIT CLA CLL 6301 /CLEAR DATA, SYNC OUTPUT ISZ R2 /ALL BITS SENT? JMP LITE10 /NO JMP LITE2 /YES GETBAK, CDF CIF JMP% LITEB PTR, 0 TEMP, 0 R1, 0 /CHAR COUNTER R2, 0 /BIT COUNTER M4, -4 M10, -12 M6, -6 M7, -7 P1000, 1000 P2000, 2000 KCDF, CDF P2, 2 EXP, 0