ASMB,R,Q,C * NAME: REIO * SOURCE: 92071-18212 * RELOC: 92071-1X212 * PGMR: HLC,DJN * * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * **************************************************************** * * NAM REIO,7 92071-1X212 REV.2041 800501 ENT REIO,ZEIO * EXT .ENTR,EXEC,$LUTA EXT .XLD,.XLB * * A EQU 0 B EQU 1 * * THIS ROUTINE IS NOT APPENDED TO A USER PROGRAM * IF THE RTE-L SYSTEM CONTAINS THE DUMMY 'SWAP' * MODULE (SWA..) OR THE DUMMY 'CLASS' MODULE (CLA..) * OR THE DUMMY 'SAM' MODULE (SAM..). * * ZEIO EQU * REIO NOP TRUE ENTRY POINT LDA DZERO STA BUFF SET UP OPTIONAL PARAMETER DEFAULTS STA CNT STA ZBUF STA ZCNT STA KEY LDA REIO STA REIO. JMP REIO.+1 * * ZERO DEC 0 * TEMP NOP CODE NOP EXEC REQUEST CODE LU NOP LOGICAL UNIT NUMBER BUFF NOP BUFFER ADDRESS CNT NOP BUFFER LENGTH ZBUF NOP Z-BUFFER ADDRESS ZCNT NOP Z-BUFFER COUNT CLASS NOP DUMMY PARAMETER CODE2 NOP DUMMY PARAMETER KEY NOP LU LOCK PASSWORD * REIO. NOP PSEUDO ENTRY POINT JSB .ENTR GET PARAMETER ADDRESSES DEF CODE LDB CODE,I REQUEST CODE CLA STA CLASS CLEAR PREVIOUS CLASS NUMBER SSB LDA RSS STA OPTN SET SWITCHES FOR NO-ABORT OPTION STA OPTN2 ADB =D16 CONVERT STANDARD CODE TO CLASS I/O CODE STB REIO ELB,RBR PUT NO-ABORT BIT IN E-REG LDA =D21 RAL,ERA ADD TO CLASS 'GET' REQUEST CODE STA CODE2 RBR,SLB,RBL SKIP IF READ REQUEST JMP BUFR? DO NORMAL I/O IF BUFFERED DEVICE * * CLSIO JSB EXEC INITIATE CLASS REQUEST DEF OPTN DEF REIO CLASS I/O READ OR WRITE DEF LU,I DEF BUFF,I DEF CNT,I DEF ZBUF,I PROMPT BUFFER DEF ZCNT,I PROMPT LENGTH DEF CLASS CLASS NUMBER DZERO DEF ZERO DUMMY USER VARIABLE DEF KEY,I LU LOCK PASSWORD OPTN NOP RSS IF NO-ABORT RSS RSS JMP REIO.,I NO-ABORT BIT SET, ERROR RETURN * * WAIT JSB EXEC WAIT FOR I/O TO COMPLETE DEF RTN2 DEF CODE2 CLASS I/O GET DEF CLASS DEF BUFF,I DEF CNT,I RTN2 JMP REIO.,I NORMAL EXIT ISZ REIO. NO-ABORT OPTION NORMAL EXIT JMP REIO.,I * * BUFR? LDA LU,I CHECK FOR BUFFERED DEVICE AND =B77 ADA =D-1 STB TEMP JSB .XLB GET LUT ADDRESS DEF $LUTA ADA B JSB .XLD DVT ADDRESS DEF A,I ADA =D7 JSB .XLD BUFFERING BIT DEF A,I SSA,RSS JMP CNTR? NOT BUFFERED, DO CLASS I/O * JSB EXEC STANDARD I/O DEF RTN3 DEF CODE,I WRITE OR CONTROL DEF LU,I LOGICAL UNIT DEF BUFF,I BUFFER ADDRESS DEF CNT,I LENGTH DEF ZBUF,I OPTIONAL BUFFER DEF ZCNT,I LENGTH DEF ZERO DUMMY PARAMETER DEF ZERO DUMMY PARAMETER DEF KEY,I LU LOCK PASSWORD RTN3 JMP REIO.,I ISZ REIO. JMP REIO.,I * * CNTR? LDB TEMP RESTORE REQUEST CODE SLB,RSS CONTROL OR WRITE REQUEST? JMP CLSIO WRITE * JSB EXEC CLASS CONTROL DEF OPTN2 DEF REIO CONTROL CODE DEF LU,I LU DEF BUFF,I PARM1 DEF CLASS CLASS NUMBER DEF CNT,I PARM2 DEF ZBUF,I PARM3 DEF ZCNT,I PARM4 DEF ZERO DEF KEY,I LOCK PASSWORD OPTN2 NOP RSS IF NO-ABORT JMP WAIT NORMAL COMPLETION JMP REIO.,I ABORT ERROR * END