ASMB,R,Q,C HED #OCV0 91750-1X201 REV.2013 * (C) HEWLETT-PACKARD CO. 1980 NAM #OCV0,7 91750-1X201 REV.2013 800207 ALL SPC 1 ****************************************************************** * * (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. * ****************************************************************** SPC 2 ENT #OCV0 * EXT #NODE,.MVW * ************************ * NAME: #OCV0 * * * SOURCE: 91750-18201 * THIS MODULE KNOWS * * RELOC: PART OF 91750-12002 * ONLY ABOUT LEVEL 0 * * PGMR: JIM HARTSELL * MESSAGE FORMATS * * * * * ************************ * * * SUBROUTINE TO PERFORM REQUEST-SPECIFIC CONVERSION FOR "OTCNV". * * <<<<< CALLED AFTER CONVERSION FROM LEVEL 1 TO LEVEL 0 >>>>> * * <<<<< A-REGISTER = ADDRESS OF LEVEL 0 REQUEST >>>>> * <<<<< B-REGISTER = LENGTH OF LEVEL 0 REQUEST >>>>> * SPC 5 SUP B EQU 1 * #OCV0 NOP ENTRY. STA RQADR SAVE ADDRESS OF REQUEST. STB RQLEN SAVE LENGTH OF REQUEST. * LDA RQADR,I GET STREAM WORD. RAL IF THIS IS SSA A REPLY, NO JMP EXIT CONVERSION IS REQUIRED. * RAR AND B77 CPA B3 CHECK STREAM TYPE. RSS CPA B5 RSS JMP EXIT NOT DEXEC: NO CONVERSION. * LDB RQADR DEXEC: GET REQUEST CODE. ADB B4 STB TEMP MAINTAIN POINTER TO REAL ONE. LDA B,I AND B377 STA ICODE SAVE MASKED ONE FOR COMPARE. * LDA TEMP,I IF REQUEST CODE AND NOT11 LDB ICODE IS 9 OR 23, CPB D9 RSS REMOVE "CLONE OK" BIT (11) CPB D23 STA TEMP,I FOR LEVEL 0 NODE. * CPB D11 CHECK IF REQ CODE = 1,2,3,11,13. JMP ADJ0 CPB D13 JMP ADJ0 ADB N4 SSB,RSS JMP EXIT NONE OF THE ABOVE. EXIT NOW. * ADJ0 LDA TEMP,I GET REAL REQUEST CODE. ALF DLUEX CALL TO LEVEL 0 NODE? SLA,RSS (BIT 12 SET?) JMP ADJ1 NO. * LDA RQADR,I YES. ERROR. IOR BIT14 SET REPLY BIT. STA RQADR,I DLD "IO01 SET ERROR TO "IO01". DST TEMP,I (TEMP POINTS TO REPLY ERROR WORDS.) LDA #NODE SET ERROR NODE NUMBER IOR BIT15 AND "ASCII ERROR" BIT. LDB TEMP ADB B2 STA B,I JMP ERTN TAKE ERROR EXIT. * ADJ1 CCA PRIME FOR ICODE 1,2,3. LDB ICODE IF ICODE IS 11 OR 13, CPB D11 ADD 3 TO LENGTH JMP *+2 FOR PLACEHOLDERS. CPB D13 IF ICODE IS 1,2, OR 3, LDA B3 DECREMENT LENGTH BY 1 TO ADA RQLEN COMPENSATE FOR 1-WORD CONWD. STA RQLEN CPB D11 IF TIME REQ, WE'RE DONE. JMP EXIT * LDB TEMP FOR ICODE 1,2,3,13 MOVE ADB B2 EVERYTHING BELOW #CNW LDA B UP 1 WORD. INA JSB .MVW DEF B3 NOP * EXIT ISZ #OCV0 SET FOR NORMAL RETURN. ERTN LDB RQLEN RETURN WITH LENGTH OF REQUEST. JMP #OCV0,I * * B2 OCT 2 B3 OCT 3 B4 OCT 4 B5 OCT 5 B77 OCT 77 B377 OCT 377 BIT14 OCT 040000 BIT15 OCT 100000 NOT11 OCT 173777 D9 DEC 9 D11 DEC 11 D13 DEC 13 D23 DEC 23 N4 DEC -4 "IO01 ASC 2,IO01 TEMP NOP ICODE NOP RQLEN NOP RQADR NOP * BSS 0 SIZE OF MODULE. * END