/032 SUBROUTINE TO PACKCHARACTERS ONE BY ONE (TSS8) /THREE CHARACTERS IN TWO WORDS (TSS8 FORMAT) /PACKED:11111112222 / 222233333333 / /CALL :JMS DSOUT WITH CHAR IN AC / RETURN BUFFER FULL / RETURN NORMAL / /INITIALIZE ONCE DSPTR TO BUFFERADDRESS /AND DSCNT:=DSBFL DIVIDED BY 2 / BSW=7002 DSBUF=400 / / DSOUT, 0 DCA DSTMP /TEMP. STORAGE RAR DCA DSLNK /SAVE LINK TAD DSCNTW /FIRST,SECOND OR THIRD CHAR CLL RTR SNL SMA CLA JMP DSFRST /FIRST CHAR OF THREE SNL JMP DSSEC /SECOND CHAR OF THREE TAD DSTMP /THIRD CHAR TAD I DSPTR DCA I DSPTR /PUT IN BUFFER DCA DSCNTW /RESET CHAR COUUT ISZ DSPTR ISZ DSCNT /BUFFER FULL ? JMP DSEX3 /NO, EXIT TAD DSBFA /YES, REST POINTER DCA DSPTR TAD DSBFL /-BUFFERLENGTH STL RAR /DEVIDE BY 2 DCA DSCNT TAD DSLNK /RESTORE LINK CLL RAL JMP I DSOUT /EXIT BUFFER FULL DSSEC, TAD DSTMP CLL RTL BSW /BYTE SWAP AND C77 TAD I DSPTR DCA I DSPTR ISZ DSPTR TAD DSTMP AND C17 BSW CLL RTL DCA I DSPTR JMP DSEX2 DSFRST, TAD DSTMP CLL RTL RTL DCA I DSPTR DSEX2, ISZ DSCNTW DSEX3, TAD DSLNK /RESTORE LINK CLL RAL ISZ DSOUT JMP I DSOUT /NORMAL EXIT / /VARIABLES / DSBFL, -400 DSBFA, DSBUF /OUTPUT BUFFER ADDRESS DSLNK, 0 DSTMP, 0 DSCNTW, 0 DSCNT, 0 DSPTR, 0 / /GENERAL CONSTANTS C17, 17 C77, 77