ASMB,A,B,L CARTRIDGE TAPE BINARY LOADER HED ** HP 2644/45/48 CARTRIDGE TAPE BINARY LOADER (12992C) ** ORG 7700B ******************************************* * * * REV, 2-18-76 * * PART NUMBER 12992-80009 * * PRODUCT NUMBER 12992C * ******************************************* SC EQU 10B A EQU 0 B EQU 1 * * THIS ASSUMES THE INTERFACE IS A 12966 OR 12968 * THE BAUD RATE IS EXTERNAL * THE CARTRIDGE IS POSITIONED AT THE FILE TO BE READ **** "RUN" CAN NOT BE PRESSED AFTER HALT 77B OR HALT 11B * START LDA LDOTP RESET POINTER STA *+1 NCW LDA OTP GET A WORD FROM THE TABLE ISZ *-1 MOVE TO NEXT WORD IN TABLE OTA SC,C OUTPUT CURRENT WORD CPA EQT END OF TABLE? JMP NRD YES - START INPUT ALF,ALF IS THIS A CHARACTER? AND .377 SZA ? JMP NCW NO - DO NEXT CONTROL WORD STC SC,C PUT CARD IN DATA MODE SFS SC IS CHARACTER OUT? JMP *-1 NO - WAIT FOR IT JMP NCW YES - DO NEXT CONTROL WORD NRD JSB INPUT READ IN FIRST WORD (RECORD COUNT) BLF,BLF POSITION COUNT TO LOWER BYTE CMB,INB,SZB,RSS MAKE IT NEG AND IS IT EOF? HLT 77B YES - END-OF-FILE SSB,RSS IF COUNT WAS ALL ONES HLT 0 THEN TAPE ERROR STB WCT SAVE COUNT JSB INPUT READ STORE ADDRESS STB CKSUM START CHECKSUM STB ADD AND SAVE ADDRESS NWD JSB INPUT GET WORD TO BE STORED LDA ADD CHECK IF ADDRESS ADA MXAD IS ABOVE LOADER SEZ IS IT? HLT 55B YES STB ADD,I NO - PUT WORD IN MEMORY ADB CKSUM ADD IT TO CHECKSUM STB CKSUM ISZ ADD MOVE ADDRESS UP ONE ISZ WCT FINISHED WITH THIS RECORD? JMP NWD NO - READ NEXT WORD * JSB INPUT YES - READ CHECKSUM CPB CKSUM IS CHECKSUM OK? JMP NRD YES - READ NEXT RECORD HLT 11B NO INPUT NOP INPUT ONE WORD FROM INTERFACE CLB,CCE ZERO WRD AND START WITH UPPER HALF LIA SC GET DATA SSA,RSS IS IT VALID DATA? JMP *-2 NO AND .377 YES - ELIMINATE UPPER HALF ADB A ADD DATA TO B REG. SEZ,RSS SECOND HALF READ? JMP INPUT,I YES - RETURN WITH WORD IN B REG BLF,CLE,BLF NO - MOVE BYTE TO UPPER HALF JMP INPUT+2 SET LOWER HALF FLAG AHD READ IT * OTP OCT 150077 MASTER RESET OCT 40740 INTERFACE CONTROL OCT 30003 CHAR FRAME CONTROL CHR1 OCT 33 ASCII "ESC" OCT 50077 RESET BUFFER STATUS CHR2 OCT 145 ASCII LOWER CASE "E" EQT OCT 40340 INPUT COMMAND WORD * .377 OCT 377 UPPER HALF WORD MASK LDOTP LDA OTP POINTER TO OUTPUT TABLE CKSUM NOP CHECKSUM STORAGE ADD NOP ADDRESS STORAGE WCT NOP INPUT WORD COUNT MXAD ABS -START START BINARY LOADER AREA END