/ /IO HANDLER PART II /VERSION IOH2.V08 /COPYRIGHT 1969, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. / CPAGE 30 PRINT, 0 DCA GCHR CMA /JUMP VECTOR CALCULATION TAD DV /DEVICE-1 DCA JC TAD JC /TIMES 3 CLL RAL TAD JC TAD JA /PLUS BASE OF VECTOR DCA JC TAD GCHR JMP I JC BA, 0 /THIS IS THE END OF LINE SWITCH BH, ISZ BA /ENTRY TO LOOK FOR AN END OF LINE BL, TAD (40 JMP I GCHR G2, 0 /ROUTINE TO GET A NEW INPUT RECORD MM, CLA TAD BA SZA CLA JMP BG JMS GCHR JMP MM BG, DCA BA JMP I G2 GCHR, 0 /GET AN INPUT STRING CHARACTER JD, CLA TAD BA /GET EOR SWITCH SZA CLA JMP BL /IS EOR, RETURN BLANK CMA /JUMP VECTOR CALCULATION TAD DV /DEVICE-1 DCA PRINT TAD PRINT /TIMES 3 CLL RAL TAD PRINT TAD JB /BEGINNING OF JUMP VECTOR DCA PRINT JMP I PRINT JF, DCA PRINT /RETURN IS HERE, SAVE CHAR TAD PRINT /PICK UP CHARACTER TO TEST IT TAD (7440 SMA /LESS THAN 340 JMP JD /NO , IGNORE TAD (100 /YES, IS IT .G.237 SMA JMP JE /YES, RETURN TRIMMED CHAR TAD (23 SNA JMP BH /CARRIAGE RETURN, EOR AND RETURN BLANK TAD (115 /IS CHAR .GE. 100 SMA JMP JD /YES IGNORE TAD (100 /IS GCHAR .GE. 0 SPA SNA JMP JD /NO, IGNORE JE, CLA /YES, RETURN THE CHAR TAD PRINT AND (77 JMP I GCHR BE, 0 JC, 0 JA, JXXX JB, JWWW IX, JMS GLST /INTEGER CONVERSION II, JMSKP BB /TEST MORE AND NON ZERO CURRENT LIST ITEM JMP IN /INPUT TAD AB DCA BE /OUTPUT TAD (-4 DCA WH /-4 DCA SN /0 TAD I ARGUMT SMA /SET SN 0 FOR PLUS, 1 FOR MINUS JMP XZ /PLACE MAGNITUDE IN 20 CIA ISZ SN XZ, DCA SACH IA, TAD SACH SNA /TEST FOR ALREADY ZERO JMP IB CALL 1,DIV ARG TW DCA SACH CALL 1,IREM /IREM NEEDS AN ARGUMENT TO IGNORE ARG 0 DCA I BE /SAVE REMAINDER CMA TAD BE /BE ' BE-1 DCA BE ISZ WH /INDEX COUNT JMP IA /CYCLE IB, TAD WH /GET COUNT TAD (4 /FOUR -COUNT SNA /IF ZERO SET ' 1 IAC TAD SN /< COUNT ' TOTAL CHARS REQ D CIA /-COUNT TAD N2 /