XDESC - XPORT Descriptor Dumper 4-FEB-2004 11:01:45 BLISS-32I T1.1-053 Page 1 19-MAR-2002 10:26:31 [LASTOVICA.XPORT.VMSGEN]XDESC.BLI;2 0 1 MODULE XDESC ( IDENT = 'V1.2-04' %TITLE 'XDESC - XPORT Descriptor Dumper Routine' 0 2 %BLISS32( ,ADDRESSING_MODE( EXTERNAL=LONG_RELATIVE ) ) 0 3 %BLISS36( ,ENTRY(XDESC),OTS='') 0 4 ) = 0 5 BEGIN 1 6 LIBRARY 'XPORT'; 1 8 ! 1 9 ! The Module header and Library declaration above has been inserted in place of the automatically generated one. 1 10 ! 1 11 %BLISS32( PSECT OWN=$OWN$; ) 1 12 GLOBAL ROUTINE XDESC(desc) : NOVALUE = BEGIN 2 13 2 14 MAP desc : REF $STR_DESCRIPTOR( CLASS = BOUNDED ); 2 15 2 16 IF .desc[STR$B_DTYPE] EQL XPO$K_DTYPE_BU 2 17 THEN 2 18 BEGIN 3 19 $XPO_DUMP_FIELD( FIELD_NAME=XPO$H_LENGTH, TYPE=BYTES, VALUE=.BLOCK[.desc,XPO$H_LENGTH] ); 3 20 $XPO_DUMP_FIELD( FIELD_NAME=XPO$B_DTYPE, TYPE=BYTE, VALUE=.BLOCK[.desc,XPO$B_DTYPE] ); 3 21 $XPO_DUMP_FIELD( FIELD_NAME=XPO$B_CLASS, TYPE=BYTE, VALUE=.BLOCK[.desc,XPO$B_CLASS] ); 3 22 $XPO_DUMP_FIELD( FIELD_NAME=XPO$A_ADDRESS, TYPE=ADDRESS, VALUE=.BLOCK[.desc,XPO$A_ADDRESS] ); 3 23 IF .desc[STR$B_CLASS] EQL STR$K_CLASS_B OR 3 24 .desc[STR$B_CLASS] EQL STR$K_CLASS_DB 3 25 THEN 3 26 BEGIN 4 27 $XPO_DUMP_FIELD( FIELD_NAME=XPO$H_MAXLEN, TYPE=BYTES, VALUE=.BLOCK[.desc,XPO$H_MAXLEN] ); 4 28 $XPO_DUMP_FIELD( FIELD_NAME=XPO$H_PFXLEN, TYPE=BYTES, VALUE=.BLOCK[.desc,XPO$H_PFXLEN] ); 4 29 END; 3 30 END 3 31 ELSE 2 32 BEGIN 3 33 $XPO_DUMP_FIELD( FIELD_NAME=STR$H_LENGTH, TYPE=BYTES, VALUE=.BLOCK[.desc,STR$H_LENGTH] ); 3 34 $XPO_DUMP_FIELD( FIELD_NAME=STR$B_DTYPE, TYPE=BYTE, VALUE=.BLOCK[.desc,STR$B_DTYPE] ); 3 35 $XPO_DUMP_FIELD( FIELD_NAME=STR$B_CLASS, TYPE=BYTE, VALUE=.BLOCK[.desc,STR$B_CLASS] ); 3 36 $XPO_DUMP_FIELD( FIELD_NAME=STR$A_POINTER, TYPE=POINTER, VALUE=.BLOCK[.desc,STR$A_POINTER] ); 3 37 IF .desc[STR$B_CLASS] EQL STR$K_CLASS_B OR 3 38 .desc[STR$B_CLASS] EQL STR$K_CLASS_DB 3 39 THEN 3 40 BEGIN 4 41 $XPO_DUMP_FIELD( FIELD_NAME=STR$H_MAXLEN, TYPE=BYTES, VALUE=.BLOCK[.desc,STR$H_MAXLEN] ); 4 42 $XPO_DUMP_FIELD( FIELD_NAME=STR$H_PFXLEN, TYPE=BYTES, VALUE=.BLOCK[.desc,STR$H_PFXLEN] ); 4 43 END; 3 44 END; 2 45 2 46 END; END ELUDOM XDESC Machine Code Listing 4-FEB-2004 11:01:45 BLISS-32I T1.1-053 Page 2 V1.2-04 19-MAR-2002 10:26:31 [LASTOVICA.XPORT.VMSGEN]XDESC.BLI;2 .psect $CODE$, CON, LCL, SHR, EXE, NOWRT, NOVEC .proc XDESC .align 32 .global XDESC XDESC: // 000012 { .mii 002C01938DC0 0000 alloc r55 = rspfs, 1, 24, 3, 0 000188000D80 0001 mov r54 = br0 010800100E00 0002 mov r56 = r1 } { .mii 000008000000 0010 nop.m 0 0000B2000800 0011 sxt4 r32 = DESC ;; // r32 = r32 // 000016 010802004800 0012 adds r32 = 2, r32 ;; } { .mmi 00B00A0FC0C0 0020 ld1 r3 = [r32], -2 ;; 01CC30304000 0021 cmp4.eq pr0, pr6 = 2, r3 000008000000 0022 nop.i 0 } { .mfb 000008000000 0030 nop.m 0 000008000000 0031 nop.f 0 008600032006 0032 (pr6) br.cond.dpnt.few L$4 } { .mmi 012000100A00 0040 add r40 = @ltoff($STR$FIELD_NAME), r1 // 000019 00A042004200 0041 ld2 r8 = [r32], 2 012000006640 0042 mov r25 = 3 ;; } { .mii 0080C2800A00 0050 ld8 r40 = $STR$FIELD_NAME // r40 = [r40] 012000004E80 0051 mov r58 = 2 01200807CB00 0052 mov r44 = 190 ;; // 000024 } { .mii 000008000000 0060 nop.m 0 0000B0800EC0 0061 sxt4 r59 = r8 // 000019 0000B2800E40 0062 sxt4 r57 = r40 } { .mfb 000008000000 0070 nop.m 0 000008000000 0071 nop.f 0 00A000001000 0072 br.call.sptk.many br0 = XPO$DUMP_FIELD } { .mii 00A002002A40 0080 ld1 r41 = [r32], 1 // 000020 010802810E80 0081 adds r58 = 8, r40 012000006640 0082 mov r25 = 3 } { .mmi 010803800040 0090 mov r1 = r56 ;; // 000019 000008000000 0091 nop.m 0 0000B3A00E40 0092 sxt4 r57 = r58 // 000020 } { .mib 012000002E80 00A0 mov r58 = 1 XDESC Machine Code Listing 4-FEB-2004 11:01:45 BLISS-32I T1.1-053 Page 3 V1.2-04 XDESC 19-MAR-2002 10:26:31 [LASTOVICA.XPORT.VMSGEN]XDESC.BLI;2 0000B2900EC0 00A1 sxt4 r59 = r41 00A000001000 00A2 br.call.sptk.many br0 = XPO$DUMP_FIELD ;; } { .mii 00A002002A80 00B0 ld1 r42 = [r32], 1 // 000021 010802820E80 00B1 adds r58 = 16, r40 012000006640 00B2 mov r25 = 3 } { .mmi 010803800040 00C0 mov r1 = r56 ;; // 000020 000008000000 00C1 nop.m 0 0000B3A00E40 00C2 sxt4 r57 = r58 // 000021 } { .mib 012000002E80 00D0 mov r58 = 1 0000B2A00EC0 00D1 sxt4 r59 = r42 00A000001000 00D2 br.call.sptk.many br0 = XPO$DUMP_FIELD ;; } { .mii 00B08A0FEEC0 00E0 ld4 r59 = [r32], -1 // 000022 010802830E80 00E1 adds r58 = 24, r40 012000006640 00E2 mov r25 = 3 } { .mmi 010803800040 00F0 mov r1 = r56 ;; // 000021 000008000000 00F1 nop.m 0 0000B3A00E40 00F2 sxt4 r57 = r58 // 000022 } { .mib 012000008E80 0100 mov r58 = 4 0000B3B00EC0 0101 sxt4 r59 = r59 00A000001000 0102 br.call.sptk.many br0 = XPO$DUMP_FIELD } { .mii 00B00A0FAAC0 0110 ld1 r43 = [r32], -3 // 000023 010803800040 0111 mov r1 = r56 ;; // 000022 01C402C56200 0112 cmp4.eq pr8, pr0 = r43, r44 // 000024 } { .mmi 01CC3AB06180 0120 cmp4.eq pr6, pr7 = 3, r43 ;; // 000023 01C238000188 0121 (pr8) cmp.eq.or.andcm pr6, pr7 = r0, r0 000008000000 0122 nop.i 0 } { .bbb 008600002006 0130 (pr6) br.cond.dpnt.few L$6 004000000000 0131 nop.b 0 008600040007 0132 (pr7) br.cond.dpnt.few L$7 } 0140 L$6: // 000027 { .mii 010802010800 0140 adds r32 = 8, r32 010802840E80 0141 adds r58 = 32, r40 012000006640 0142 mov r25 = 3 ;; } { .mii 008042000B40 0150 ld2 r45 = [r32] 0000B3A00E40 0151 sxt4 r57 = r58 XDESC Machine Code Listing 4-FEB-2004 11:01:45 BLISS-32I T1.1-053 Page 4 V1.2-04 XDESC 19-MAR-2002 10:26:31 [LASTOVICA.XPORT.VMSGEN]XDESC.BLI;2 012000004E80 0152 mov r58 = 2 } { .mmi 010802004B80 0160 adds r46 = 2, r32 ;; // 000028 000008000000 0161 nop.m 0 0000B2D00EC0 0162 sxt4 r59 = r45 // 000027 } { .mfb 000008000000 0170 nop.m 0 000008000000 0171 nop.f 0 00A000001000 0172 br.call.sptk.many br0 = XPO$DUMP_FIELD } { .mii 008042E00800 0180 ld2 r32 = [r46] // 000028 010802850E80 0181 adds r58 = 40, r40 012000006640 0182 mov r25 = 3 } { .mmi 010803800040 0190 mov r1 = r56 ;; // 000027 000008000000 0191 nop.m 0 0000B3A00E40 0192 sxt4 r57 = r58 // 000028 } { .mib 012000004E80 01A0 mov r58 = 2 0000B2000EC0 01A1 sxt4 r59 = r32 00A000001000 01A2 br.call.sptk.many br0 = XPO$DUMP_FIELD } { .mfb 000008000000 01B0 nop.m 0 000008000000 01B1 nop.f 0 00800002E000 01B2 br.sptk.few L$9 ;; } 01C0 L$4: // 000033 { .mmi 012000100C00 01C0 add r48 = @ltoff($STR$FIELD_NAME), r1 00A042004BC0 01C1 ld2 r47 = [r32], 2 012000006640 01C2 mov r25 = 3 ;; } { .mii 0080C3000C00 01D0 ld8 r48 = $STR$FIELD_NAME // r48 = [r48] 012000004E80 01D1 mov r58 = 2 01200807CD00 01D2 mov r52 = 190 ;; // 000038 } { .mii 000008000000 01E0 nop.m 0 0000B2F00EC0 01E1 sxt4 r59 = r47 // 000033 0000B3000E40 01E2 sxt4 r57 = r48 } { .mfb 000008000000 01F0 nop.m 0 000008000000 01F1 nop.f 0 00A000001000 01F2 br.call.sptk.many br0 = XPO$DUMP_FIELD } { .mii 00A002002C40 0200 ld1 r49 = [r32], 1 // 000034 010803010E80 0201 adds r58 = 8, r48 012000006640 0202 mov r25 = 3 XDESC Machine Code Listing 4-FEB-2004 11:01:45 BLISS-32I T1.1-053 Page 5 V1.2-04 XDESC 19-MAR-2002 10:26:31 [LASTOVICA.XPORT.VMSGEN]XDESC.BLI;2 } { .mmi 010803800040 0210 mov r1 = r56 ;; // 000033 000008000000 0211 nop.m 0 0000B3A00E40 0212 sxt4 r57 = r58 // 000034 } { .mib 012000002E80 0220 mov r58 = 1 0000B3100EC0 0221 sxt4 r59 = r49 00A000001000 0222 br.call.sptk.many br0 = XPO$DUMP_FIELD ;; } { .mii 00A002002C80 0230 ld1 r50 = [r32], 1 // 000035 010803020E80 0231 adds r58 = 16, r48 012000006640 0232 mov r25 = 3 } { .mmi 010803800040 0240 mov r1 = r56 ;; // 000034 000008000000 0241 nop.m 0 0000B3A00E40 0242 sxt4 r57 = r58 // 000035 } { .mib 012000002E80 0250 mov r58 = 1 0000B3200EC0 0251 sxt4 r59 = r50 00A000001000 0252 br.call.sptk.many br0 = XPO$DUMP_FIELD ;; } { .mii 00B08A0FEEC0 0260 ld4 r59 = [r32], -1 // 000036 010803030E80 0261 adds r58 = 24, r48 012000006640 0262 mov r25 = 3 } { .mmi 010803800040 0270 mov r1 = r56 ;; // 000035 000008000000 0271 nop.m 0 0000B3A00E40 0272 sxt4 r57 = r58 // 000036 } { .mib 01200000AE80 0280 mov r58 = 5 0000B3B00EC0 0281 sxt4 r59 = r59 00A000001000 0282 br.call.sptk.many br0 = XPO$DUMP_FIELD } { .mii 00B00A0FACC0 0290 ld1 r51 = [r32], -3 // 000037 010803800040 0291 mov r1 = r56 ;; // 000036 01C403466200 0292 cmp4.eq pr8, pr0 = r51, r52 // 000038 } { .mmi 01CC3B306180 02A0 cmp4.eq pr6, pr7 = 3, r51 ;; // 000037 01C238000188 02A1 (pr8) cmp.eq.or.andcm pr6, pr7 = r0, r0 000008000000 02A2 nop.i 0 } { .bbb 008600002006 02B0 (pr6) br.cond.dpnt.few L$8 004000000000 02B1 nop.b 0 008600010007 02B2 (pr7) br.cond.dpnt.few L$7 } 02C0 L$8: // 000041 XDESC Machine Code Listing 4-FEB-2004 11:01:45 BLISS-32I T1.1-053 Page 6 V1.2-04 XDESC 19-MAR-2002 10:26:31 [LASTOVICA.XPORT.VMSGEN]XDESC.BLI;2 { .mii 010802010800 02C0 adds r32 = 8, r32 010803040E80 02C1 adds r58 = 32, r48 012000006640 02C2 mov r25 = 3 ;; } { .mii 00A042004D40 02D0 ld2 r53 = [r32], 2 0000B3A00E40 02D1 sxt4 r57 = r58 012000004E80 02D2 mov r58 = 2 ;; } { .mib 000008000000 02E0 nop.m 0 0000B3500EC0 02E1 sxt4 r59 = r53 00A000001000 02E2 br.call.sptk.many br0 = XPO$DUMP_FIELD } { .mii 008042000800 02F0 ld2 r32 = [r32] // 000042 010803050E80 02F1 adds r58 = 40, r48 012000006640 02F2 mov r25 = 3 } { .mmi 010803800040 0300 mov r1 = r56 ;; // 000041 000008000000 0301 nop.m 0 0000B3A00E40 0302 sxt4 r57 = r58 // 000042 } { .mib 012000004E80 0310 mov r58 = 2 0000B2000EC0 0311 sxt4 r59 = r32 00A000001000 0312 br.call.sptk.many br0 = XPO$DUMP_FIELD ;; } 0320 L$9: { .mfi 010803800040 0320 mov r1 = r56 000008000000 0321 nop.f 0 000008000000 0322 nop.i 0 } 0330 L$7: // 000016 { .mii 000008000000 0330 nop.m 0 00015406E000 0331 mov.i rspfs = r55 // 000046 000E0016C000 0332 mov br0 = r54 ;; } { .mfb 000008000000 0340 nop.m 0 000008000000 0341 nop.f 0 000108001100 0342 br.ret.sptk.many br0 ;; } .endp XDESC Routine Size: 848 bytes, Routine Base: $CODE$ + 0000 .psect $OWN$, CON, LCL, NOSHR, NOEXE, WRT, NOVEC .lcomm $STR$FIELD_NAME, 8, 8 .lcomm $STR$FIELD_NAME, 8, 8 .lcomm $STR$FIELD_NAME, 8, 8 .lcomm $STR$FIELD_NAME, 8, 8 .lcomm $STR$FIELD_NAME, 8, 8 XDESC Machine Code Listing 4-FEB-2004 11:01:45 BLISS-32I T1.1-053 Page 7 V1.2-04 XDESC 19-MAR-2002 10:26:31 [LASTOVICA.XPORT.VMSGEN]XDESC.BLI;2 .lcomm $STR$FIELD_NAME, 8, 8 .lcomm $STR$FIELD_NAME, 8, 8 .lcomm $STR$FIELD_NAME, 8, 8 .lcomm $STR$FIELD_NAME, 8, 8 .lcomm $STR$FIELD_NAME, 8, 8 .lcomm $STR$FIELD_NAME, 8, 8 .lcomm $STR$FIELD_NAME, 8, 8 .lcomm P.AAA, 12, 16 .lcomm P.AAB, 11, 16 .lcomm fill$$1, 1, 1 .lcomm P.AAC, 11, 16 .lcomm fill$$2, 1, 1 .lcomm P.AAD, 13, 16 .lcomm fill$$3, 3, 4 .lcomm P.AAE, 12, 16 .lcomm P.AAF, 12, 16 .lcomm P.AAG, 12, 16 .lcomm P.AAH, 11, 16 .lcomm fill$$4, 1, 1 .lcomm P.AAI, 11, 16 .lcomm fill$$5, 1, 1 .lcomm P.AAJ, 13, 16 .lcomm fill$$6, 3, 4 .lcomm P.AAK, 12, 16 .lcomm P.AAL, 12, 16 .psect $OWN$, CON, LCL, NOSHR, NOEXE, WRT, NOVEC $STR$FIELD_NAME: 000C 0000 data2 0xC // data2 12 0E 0002 data1 0xE // data1 14 01 0003 data1 0x1 // data1 1 00000000 0004 data4 P.AAA $STR$FIELD_NAME: 000B 0008 data2 0xB // data2 11 0E 000A data1 0xE // data1 14 01 000B data1 0x1 // data1 1 00000000 000C data4 P.AAB $STR$FIELD_NAME: 000B 0010 data2 0xB // data2 11 0E 0012 data1 0xE // data1 14 01 0013 data1 0x1 // data1 1 00000000 0014 data4 P.AAC $STR$FIELD_NAME: 000D 0018 data2 0xD // data2 13 0E 001A data1 0xE // data1 14 01 001B data1 0x1 // data1 1 00000000 001C data4 P.AAD $STR$FIELD_NAME: 000C 0020 data2 0xC // data2 12 0E 0022 data1 0xE // data1 14 01 0023 data1 0x1 // data1 1 00000000 0024 data4 P.AAE $STR$FIELD_NAME: 000C 0028 data2 0xC // data2 12 0E 002A data1 0xE // data1 14 01 002B data1 0x1 // data1 1 00000000 002C data4 P.AAF $STR$FIELD_NAME: XDESC Machine Code Listing 4-FEB-2004 11:01:45 BLISS-32I T1.1-053 Page 8 V1.2-04 XDESC 19-MAR-2002 10:26:31 [LASTOVICA.XPORT.VMSGEN]XDESC.BLI;2 000C 0030 data2 0xC // data2 12 0E 0032 data1 0xE // data1 14 01 0033 data1 0x1 // data1 1 00000000 0034 data4 P.AAG $STR$FIELD_NAME: 000B 0038 data2 0xB // data2 11 0E 003A data1 0xE // data1 14 01 003B data1 0x1 // data1 1 00000000 003C data4 P.AAH $STR$FIELD_NAME: 000B 0040 data2 0xB // data2 11 0E 0042 data1 0xE // data1 14 01 0043 data1 0x1 // data1 1 00000000 0044 data4 P.AAI $STR$FIELD_NAME: 000D 0048 data2 0xD // data2 13 0E 004A data1 0xE // data1 14 01 004B data1 0x1 // data1 1 00000000 004C data4 P.AAJ $STR$FIELD_NAME: 000C 0050 data2 0xC // data2 12 0E 0052 data1 0xE // data1 14 01 0053 data1 0x1 // data1 1 00000000 0054 data4 P.AAK $STR$FIELD_NAME: 000C 0058 data2 0xC // data2 12 0E 005A data1 0xE // data1 14 01 005B data1 0x1 // data1 1 00000000 005C data4 P.AAL .psect $PLIT$, CON, LCL, NOSHR, NOEXE, NOWRT, NOVEC P.AAA: 244F5058 0000 string "XPO$H_LENGTH" 454C5F48 0004 4854474E 0008 P.AAB: 244F5058 000C string "XPO$B_DTYPE" 54445F42 0010 455059 0014 P.AAC: 244F5058 0018 string "XPO$B_CLASS" 4C435F42 001C 535341 0020 P.AAD: 244F5058 0024 string "XPO$A_ADDRESS" 44415F41 0028 53455244 002C 53 0030 P.AAE: 244F5058 0034 string "XPO$H_MAXLEN" 414D5F48 0038 4E454C58 003C P.AAF: XDESC Machine Code Listing 4-FEB-2004 11:01:45 BLISS-32I T1.1-053 Page 9 V1.2-04 XDESC 19-MAR-2002 10:26:31 [LASTOVICA.XPORT.VMSGEN]XDESC.BLI;2 244F5058 0040 string "XPO$H_PFXLEN" 46505F48 0044 4E454C58 0048 P.AAG: 24525453 004C string "STR$H_LENGTH" 454C5F48 0050 4854474E 0054 P.AAH: 24525453 0058 string "STR$B_DTYPE" 54445F42 005C 455059 0060 P.AAI: 24525453 0064 string "STR$B_CLASS" 4C435F42 0068 535341 006C P.AAJ: 24525453 0070 string "STR$A_POINTER" 4F505F41 0074 45544E49 0078 52 007C P.AAK: 24525453 0080 string "STR$H_MAXLEN" 414D5F48 0084 4E454C58 0088 P.AAL: 24525453 008C string "STR$H_PFXLEN" 46505F48 0090 4E454C58 0094 .section .data .type XPO$DUMP_FIELD, @function .global XPO$DUMP_FIELD .section .data .type XPO$DUMP_FIELD, @function .global XPO$DUMP_FIELD .section .data .type XPO$DUMP_FIELD, @function .global XPO$DUMP_FIELD .section .data .type XPO$DUMP_FIELD, @function .global XPO$DUMP_FIELD .section .data .type XPO$DUMP_FIELD, @function .global XPO$DUMP_FIELD .section .data .type XPO$DUMP_FIELD, @function .global XPO$DUMP_FIELD .section .data .type XPO$DUMP_FIELD, @function .global XPO$DUMP_FIELD .section .data XDESC Machine Code Listing 4-FEB-2004 11:01:45 BLISS-32I T1.1-053 Page 10 V1.2-04 XDESC 19-MAR-2002 10:26:31 [LASTOVICA.XPORT.VMSGEN]XDESC.BLI;2 .type XPO$DUMP_FIELD, @function .global XPO$DUMP_FIELD .section .data .type XPO$DUMP_FIELD, @function .global XPO$DUMP_FIELD .section .data .type XPO$DUMP_FIELD, @function .global XPO$DUMP_FIELD .section .data .type XPO$DUMP_FIELD, @function .global XPO$DUMP_FIELD .section .data .type XPO$DUMP_FIELD, @function .global XPO$DUMP_FIELD ; Library Statistics ; ; -------- Symbols -------- Pages ; File Total Loaded Percent Mapped ; ; DISK$NORMS_OWN:[LASTOVICA.XPORT.VMSGEN]XPORT.L32;14 ; 590 32 5 270 Source Listing 4-FEB-2004 11:01:45 BLISS-32I T1.1-053 Page 11 Source Listing 19-MAR-2002 10:26:31 [LASTOVICA.XPORT.VMSGEN]XDESC.BLI;2 COMMAND LINE: BLISSXDESC/LIST/DEBUG