ASMB HED . GET A DATA FROM A 2645/2648 IN BLOCK MODE NAM GETBK,7 92903-16408 REV.1805 780127 SPC 2 * ************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- * * * PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH- * * * OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * ************************************************************** SPC 2 ********************************************************************** * * * NAME: GETBK * * SOURCE: &GETBK 92903-18408 * * BINARY: %GETBK 92903-16408 PART OF RTMGL1 * * * * PGMR: FRANCOIS GAULLIER * * * ********************************************************************** SPC 3 * ********************************************************* * * THIS SUBROUTINE RESETS THE 2645 TERMINAL IN CASE OF * * * POWER FAIL OR WRONG MANIPULATION OF OPERATOR AND GET * * * A BLOCK OF DATA FROM 264X TERMINAL. * * ********************************************************* SPC 2 ENT GETBK EXT EXEC,.ENTR SUP SPC 2 UNLK BYT 33,142,137,40 LOCK BYT 33,143 LENH BSS 1 ICLAS BSS 1 CLASS I/O WORD DUMY NOP STATU OCT 000004 STATUS WORD I/0 MASK ABORT OCT 60400 ABORT CHARACTER MASK OCT 177400 DEC1 DEC 1 DEC2 DEC 2 DEC17 DEC 17 DEC21 DEC 21 NEGA2 DEC -2 NEGA3 DEC -3 * * * LU BSS 1 LU # ADDRESS IBUF BSS 1 BUFFER ADDRESS NBYTE BSS 1 LENGRTH ADDRESS GETBK NOP JSB .ENTR DEF LU * LDA NBYTE,I CMA ASK ONE EXTRA WORD, TO STA LENH CHECK THE LENGTH LATER * *-----UNLOCK THE KEYBOARD * JSB EXEC DEF *+5 DEF DEC2 DEF LU,I DEF UNLK DEF NEGA3 * *-----GET A CLASS I/O WORD * INPUT CLA STA ICLAS SET CLASS WORD TO GET A CLASS # * JSB EXEC DEF *+8 DEF DEC17 DEF LU,I DEF IBUF,I DEF LENH DEF DUMY DEF DUMY DEF ICLAS * *-----IS CLASS I/O # AVAILABLE ? * SZA A CLASS # HAS BEEN PROVIDED JMP INPUT ASK AGAIN FOR A CLASS # * *-----IS INPUT COMPLETED ? * JSB EXEC DEF *+5 DEF DEC21 DEF ICLAS DEF IBUF,I DEF LENH * *-----CHECK FOR TIME OUT * AND STATU SZA JMP EROR * *-----CHECK FOR ABORT * CPB DEC1 JMP ABOR JMP RIGH ABOR LDA IBUF,I AND MASK CPA ABORT JMP RETUR * *-----CHECK RIGHT LENGTH * RIGH CPB NBYTE,I JMP RETUR * *-----ERROR ! * EROR JSB EXEC DEF *+5 DEF DEC2 DEF LU,I DEF ZONE DEF ILG00 * *-----FUNCTION: .TRUE. * CCA JMP GETBK,I * *-----LOCK THE KEYBOARD * RETUR JSB EXEC DEF *+5 DEF DEC2 DEF LU,I DEF LOCK DEF NEGA2 * *-----FUNCTION: .FALSE. * CLA JMP GETBK,I * *-----RESET BUFFER OF THE 2645 TERMINAL * ZONE BYT 33,143 LOCK KEYBOARD BYT 33,155,33,130 UNLOCK MEMORY, FORMAT MODE OFF BYT 33,110,33,112 HOME UP CS. CLEAR DISPLAY * BYT 33,46 ASC 10,s0a0b0c1d0e0f1g1h0j0 BYT 113,00 * BYT 40,33,46,153,61,102 SET BLOCK MODE BYT 33,46,146,61,141,61,153,61,114,11 NEXT FIELD BYT 33,46,146,61,141,62,153,62,114,33,151,40 PREVIOUS FIELD BYT 33,46,146,61,141,63,153,61,114,40 NOT USED BYT 33,46,146,62,141,64,153,61,114,141 ABORT BYT 33,46,146,61,141,65,153,64,114,33,110,33,144,40 NEXT SCREEN BYT 33,46,146,61,141,66,153,65,114,163,33,110,33,144 PREV.SCREEN BYT 33,46,146,61,141,67,153,65,114,150,33,110,33,144 HELP BYT 33,46,146,61,141,70,153,65,114,151,33,110,33,144 INSERT * BYT 33,110,33,112 HOME UP CURSOR, CLEAR DISPLAY END00 EQU *-1 STR00 EQU ZONE ILG00 ABS END00-STR00+1 END