ASMB,R * * NAME: IO.. * SOURCE: 92070-18100 * RELOC: 92070-1X100 * PGMR: C.H.W. * * **************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. 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 IO..,7 92070-1X100 REV.1941 790409 * * * * SUP ENT IO.. * EXT O.BUF,TMP.,OPEN.,WRITF EXT CNUMO,.MVW EXT $LUTA,$LUT#,$DVTA * * IO.. NOP JSB OPEN. OPEN LIST FILE DEF *+5 DEF O.BUF DEF TMP. DEF TMP.+3 DEF ZERO * CLA STA IERR INITIALIZE ERROR FLAG * JSB OUTPT OUTPUT HEADER DEF HDR DEF HDRL * LDB $LUTA ADDR OF "LUT" STB PNTR CLA,INA * IO.10 STA LU SAVE NEXT LU # JSB DECIM CONVERT TO 2 ASCII DIGITS STA M1F1 STA M1F10 * CLA STA TEMP TEMP=DVT # DURING SEARCH CPA PNTR,I THIS LU HAVE A DVT? JMP IO.80 NO LDB $DVTA ADDR OF 1ST DVT IN DVT AREA * HERE WE COMPUTE RELATIVE DVT # FROM ITS ADDRESS IO.20 ISZ TEMP BUMP DVT # CPB PNTR,I IS THIS THE ONE FOR THE LU? JMP IO.25 YES ADB .20 NO, POINT TO DVT21 STB TEMP1 LDB 1,I GET DVTP SIZE LSR 9 RIGHT JUSTIFY IN B ADB TEMP1 COMPUTE ADDR ADB .2 OF NEXT DVT JMP IO.20 AND ITERATE * IO.25 LDA TEMP DVT # JSB DECIM CONVERT TO 2 ASCII DIGITS STA M1F2 * LDB PNTR,I GET DVT ADDR STB DVADR ADB .4 POINT TO DVT5 LDA 1,I GET IT ELA,CLE,ERA CLEAR SIGN ADA .5 POINT TO IFT6 LDA 0,I GET IT STA IFT6 JSB OCTAL CONVERT TO ASCII-OCTAL STA M1F3 STORE S.C. IN ASCII * LDA DBLNK STA M1F4 DVR PARAMETER FIELD STA M1F4+1 TO BLANKS IN CASE THERE STA M1F4+2 IS NONE LDB PNTR,I DVT ADDR ADB .20 POINT TO DVT21 LDA 1,I AND B1770 ISOLATE # OF PARAMS SZA,RSS ANY? JMP IO.30 NO ADB .2 YES, POINT TO D.P. (DVT23) LDA 1,I GET 1ST PARAM STA TEMP * JSB CNUMO CONVERT DVR PARAM TO ASCII(OCTAL) DEF *+3 DEF TEMP DEF M1F4 * IO.30 LDB DVADR ADB .19 ADDR OF DVT20 LDA 1,I GET DEVICE PRIORITY JSB OCTAL CONVERT TO ASCII-OCTAL STA M1F5 * JSB CNUMO CONVERT DVT ADDR TO ASCII(OCTAL) DEF *+3 DEF DVADR DEF M1F6 * LDB DVADR ADB .5 POINT TO DVT6 LDA 1,I GET IT ALF,ALF RIGHT JUSTIFY DEVICE TYPE STA TEMP JSB OCTAL CONVERT TO ASCII-OCTAL STA M1F7 STORE DEVICE TYPE IN MSG * LDB DSCTB ADDR OF DEVICE DESCRIPTION TABLE IO.40 LDA 1,I GET CODE WORD CPA N1 END OF TABLE? JMP IO.45 YES, USE BLANKS XOR TEMP SET-UP FIELD COMPARISON STA TEMP1 LDA 1,I GET CODE WORD AGAIN ALF,ALF RAL,RAL GET MASK FOR TEST AND TEMP1 TEST UNDER MASK AND B77 6 BIT DEVICE TYPE ONLY SZA,RSS IS IT THIS DEVICE TYPE? JMP IO.45 YES ADB .7 POINT TO NEXT ENTRY JMP IO.40 & ITERATE IO.45 LDA 1 INA A=ADDR OF DESCRIPTION LDB DESCR ADDR OF DESTINATION JSB .MVW MOVE INTO OUTPUT LINE DEF .6 NOP * LDA IFT6 CONTENTS OF IFT6 ALF,ALF RIGHT JUSTIFY INTERFACE TYPE JSB OCTAL CONVERT TO ASCII-OCTAL STA M1F9 STORE I.TYPE IN MSG * JSB OUTPT PRINT LINE FOR THIS LU DEF MSG1 DEF MSG1L * IO.50 ISZ PNTR POINT TO NEXT LUT ENTRY LDA LU CPA $LUT# ALL LU'S PROCESSED? JMP IO.90 YES INA BUMP LU # JMP IO.10 AND DO IT * * NO DVT ASSIGNED TO LU IO.80 LDA M1F1 ASCII LU # STA M2F1 STORE IN MSG STA M2F2 JSB OUTPT PRINT LU UNASSIGNED LINE DEF MSG2 DEF MSG2L JMP IO.50 SPC 2 * ERROR EXIT ERR LDB IO.. ADB .3 ADDR OF ERROR PARAM ADDR LDB 1,I PICK-UP ERROR PARAM ADDR STA 1,I RETURN ERROR CODE * IO.90 LDA IO..,I JMP 0,I RETURN SPC 3 * * ROUTINE TO CONVERT NUMERIC TO 2 ASCII DIGITS * DECIM NOP CLB DIV .10 SZA,RSS LDA B20 SUPPRESS LEADING ZERO ALF,ALF IOR 1 MERGE 2 DIGITS XOR ASC00 FORM ASCII NUMERICS JMP DECIM,I SPC 3 * * ROUTINE TO CONVERT TO 6-BITS TO 2 ASCII-OCTAL CHARACTERS * OCTAL NOP AND B77 ISOLATE BITS 5-0 CLB DIV .8 A=HI, B=LOW ALF,ALF LEFT JUSTIFY HI IOR 1 MERGE DIGITS IOR ASC00 CONVERT TO ASCII NUMERICS JMP OCTAL,I RETURN SPC 3 * * ROUTINE TO WRITE LINE TO LIST FILE * OUTPT NOP DLD OUTPT,I GET ADDR OF BUFFER & ADDR OF LENGTH DST OUTP5 STORE IN-LINE OF CALL JSB WRITF WRITE LINE DEF *+5 DEF O.BUF DEF IERR OUTP5 BSS 2 LDA IERR GET FMGR ERROR CODE SSA ERROR? JMP ERR YES ISZ OUTPT ISZ OUTPT JMP OUTPT,I RETURN SPC 3 * * DATA AREA * TEMP NOP TEMP1 NOP PNTR NOP IERR NOP IFT6 NOP LU NOP DVADR NOP ZERO DEC 0 .2 DEC 2 .3 DEC 3 .4 DEC 4 .5 DEC 5 .6 DEC 6 .7 DEC 7 .8 DEC 8 .10 DEC 10 .19 DEC 19 .20 DEC 20 B20 OCT 20 B77 OCT 77 B1770 OCT 177000 N1 DEC -1 ASC00 ASC 1,00 DESCR DEF M1F8 DSCTB DEF TABLE * HDR ASC 18, LU DVT S.C. DP#1 PRIO DVT ASC 17, ADR D.TYPE- DEVICE I.TYPE LU HDRL ABS *-HDR DBLNK EQU HDR+1 * MSG1 ASC 2, M1F1 NOP ASC 2, M1F2 NOP ASC 2, M1F3 NOP ASC 1, M1F4 BSS 3 ASC 1, M1F5 NOP ASC 2, M1F6 BSS 3 ASC 2, M1F7 NOP ASC 1, M1F8 BSS 6 ASC 2, M1F9 NOP ASC 1, M1F10 NOP MSG1L ABS *-MSG1 * MSG2 ASC 2, M2F1 NOP ASC 17, -------------------- LU UNASSI ASC 14,GNED -------------------- M2F2 NOP MSG2L ABS *-MSG2 * * TABLE OF DESCRIPTIONS BASED ON DEVICE TYPE * 1ST WD OF EACH ENTRY: BITS 11-6 CONTAIN MASK FOR TYPE CHECK * BITS 5-0 HAVE VALUE TO TEST UNDER MASK TABLE EQU * OCT 7000 0 - 7 ASC 6,KEYBD CTL DV OCT 7712 12 ASC 6,LINE PRINTER OCT 7010 10-17 ASC 6,SYS PERIPHRL OCT 7020 20-27 ASC 6,SER RECORDNG OCT 7030 30-37 ASC 6,MOV HD DISC OCT 7440 40-43 ASC 6,CPU FUNCTION OCT 7444 44-47 ASC 6,MISC PERPHRL OCT 7050 50-57 ASC 6,A/D MEAS DEV OCT 7060 60-67 ASC 6,CPU COMM DVR OCT 7070 70-77 ASC 6,INSTRUMENT DEC -1 ASC 6, * SIZE EQU * * END