/031 SUBROUTINE PACKS CHARACTERS ONE BY ONE (TSS8) /THREE CHARACTERS IN TWO WORDS (TSS8 FORMAT) /PACKED:111111112222 / 222233333333 / / /CALL :JMS PCKSGL WITH CHAR IN AC / ADDRESS OF OUTPUTBUFFER / RETURN BUFFER FULL / RETURN NARMAL AC=0 / /INITIALIZE CE PCKSWT:=0 / / / PCKSGL, 0 ISZ PCKSWT /INITIALIZE? JMS PCKINI /YE DCA I PCKRP /NO PUT CHAR IN TEMP BUF ISZ PCKRP /INCREMENT POINTER ISZ PCKRCT /3 CHAR'S IN TEMP BUF? JMP PCKNRM /NO,NORMAL EXIT JMS PCKKES /YES,RESET POINTER TMP. BUF TAD I PCKRP /GET FIRST CHAR ISZ PCKRP CLL RTL RTL DCA I PCKPTR /TEP STORAGE TAD I PCKRP /GET SECOND CHAR ISZ PCKRP RTR RTR DCA PCKSWT TAD PPKSWT /TEMP. STORAGE AND C17 /MOST SIGN. 4 BITS TAD I PCKPTR DCA I PCKPTR /FIBRT WORD ISZ PCKPTR TAD PCKSWT RAR AND C7400 /LEAST SIGNIFICANT 4 BITS TAD I PCKRP /GET THIRD CHAR DCA I PCKPTR /SECOND WORD ISZ PCKPTR JMS PCKRES /RESET OINTER TEMP BUF ISZ PCKCNT /BUFFER FULL? JMP PCKNRM /NO DCA PCKSWT /YES SET SWTCH JMP PCKEND / / PCKNRM, CMA DCA PCKSWT /SET SWITCH ISZ PCKSGL PCKEND, IZ PCKSGL JMP I PCKSGL / / PCKINI, 0 DCA PCKSWT /TEMP TORAGE JMS PCKRES /SE POINTER TEMP BUF TAD I PCKSGL /GET BUFFERADDRESS DCA PCKPTR TAD PCKBFL STL RAR /BUFFERSIZE DEVIDED BY 2 DCA PCKCNT TAD PCKSWT JMP I PCKINI / / PCKRES, 0 TAD M3 DCA PCKRCT /TEMP BUF IS 3 WORDS TAD PCKRBA /TEMP BUF ADDRESS DCA PCKRP JMP I PCKRES / / /VARIABLES / PCKSWT, 0 PCKPTR, 0 PCKRP, 0 PCKRCT, 0 PCKCNT, 0 PCKRBA, PCKRB PCKBFL, -400 PCKRB, 0 0 0 / /GENERAL CONSTANTS M3, -3 C17, 17 C7400, 7400