DCL DD RESOLVE CHAR(34); DCL DD RESOLVE-TYPE CHAR( 2) DEF(RESOLVE) POS( 1); DCL DD RESOLVE-NAME CHAR(30) DEF(RESOLVE) POS( 3); DCL DD RESOLVE-AUTH CHAR( 2) DEF(RESOLVE) POS(33) INIT(X'0000'); DCL DD THE-OBJECT CHAR(16) BDRY(16); DCL SYSPTR .THE-OBJECT DEF(THE-OBJECT) POS( 1); DCL DD OBJ-SEGMENT CHAR(5) DEF(THE-OBJECT) POS( 9); DCL DD OBJ-OFFSET CHAR(3) DEF(THE-OBJECT) POS(14); DCL DD OBJ-1ST-WORD CHAR(4) DEF(THE-OBJECT) POS( 9); DCL DD OBJ-2ND-WORD CHAR(4) DEF(THE-OBJECT) POS(13); DCL DD THE-ADDRESS CHAR(8) BDRY(8); DCL DD THE-SEGMENT CHAR(5) DEF(THE-ADDRESS) POS(1); DCL DD THE-OFFSET CHAR(3) DEF(THE-ADDRESS) POS(6); DCL DD SGM-ERR BIN(2); DCL DD OFF-ERR BIN(2); DCL DD THE-ERR BIN(2); DCL DD DATA-WORDS CHAR(16) BDRY(16); DCL DD DATA-WORD(4) CHAR(4) DEF(DATA-WORDS) POS(1); DCL DD DATA CHAR(256) BDRY(16); DCL DD DATA-LINE(16) CHAR(16) DEF(DATA) POS(1); DCL PTR .DATA-PTR (16) DEF(DATA) POS(1); DCL DD DATA-PTR CHAR(16) BDRY(16); DCL SPCPTR .DATA DEF(DATA-PTR) POS(1); DCL DD DATA-ADDRESS CHAR(8) DEF(DATA-PTR) POS(9); DCL SPCPTR .CONTROL INIT(CONTROL); DCL DD CONTROL CHAR(21) BDRY(8); DCL DD TO-ADDRESS CHAR(8) DEF(CONTROL) POS( 1); DCL DD FROM-ADDRESS CHAR(8) DEF(CONTROL) POS( 9); DCL DD NBR-OF-BYTES BIN(4) DEF(CONTROL) POS(17); DCL DD FEEDBACK CHAR(1) DEF(CONTROL) POS(21); DCL OL MIACCESS(.CONTROL) ARG; DCL SYSPTR .MIACCESS; DCL DD DISPLAYABLE-CHARS CHAR(256); DCL DD * (16) CHAR(16) DEF(DISPLAYABLE-CHARS) POS(1) INIT (X'B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3', /* B3 is a fat dot */ X'B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3', X'B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3', X'B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3B3', X'40B342434445464748494A4B4C4D4E4F', X'505152535455565758595A5B5C5D5E5F', X'606162636465666768696A6B6C6D6E6F', X'707172737475767778797A7B7C7D7E7F', X'808182838485868788898A8B8C8D8E8F', X'909192939495969798999A9B9C9D9E9F', X'A0A1A2A3A4A5A6A7A8A9AAABACADAEAF', X'B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF', X'C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF', X'D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF', X'E0B3E2E3E4E5E6E7E8E9EAEBECEDEEEF', X'F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEB3'); DCL DD THE-ATTR CHAR(1); DCL DD SYSPTR CHAR(1) INIT(X'01'); DCL DD SPCPTR CHAR(1) INIT(X'02'); DCL DD PCO CHAR(256) BASPCO; DCL DD PCO-POINTER CHAR(16) BDRY(16); DCL SPCPTR .PCO DEF(PCO-POINTER) POS(1); DCL DD PCO-ADDRESS CHAR(8) DEF(PCO-POINTER) POS(9); DCL DD STACKED-SEGMENT(500) CHAR(10); DCL DD STACKED-OFFSET (500) CHAR( 6); DCL DD STACKED-CURSOR (500) CHAR( 5); DCL DD STACK-TOP BIN(2); ENTRY * EXT; CPYBLA RESOLVE-TYPE, X'0201'; CPYBLAP RESOLVE-NAME, "MIACCESS", " "; RSLVSP .MIACCESS, RESOLVE, *, *; SETSPP .DATA, DATA; CPYBLA TO-ADDRESS, DATA-ADDRESS; CPYNV NBR-OF-BYTES, 256; SETSPP .PCO, PCO; CPYNV STACK-TOP, 0; CPYBLAP RESOLVE-NAME, "MISCRNIO", " "; RSLVSP .MISCRNIO, RESOLVE, *, *; CPYBLA CTRL-OPCODE, "OPEN"; CALLX .MISCRNIO, MISCRNIO, *; CPYBREP CTRL-CURSOR-POSITION, "0"; SHOW-THE-SCREEN: CPYBLA CTRL-OPCODE, "WRITE"; CALLX .MISCRNIO, MISCRNIO, *; CPYBREP S-MESSAGE, " "; CPYBLA A-MESSAGE, "B"; /* blank */ GET-THE-SCREEN: CPYBLA CTRL-OPCODE, "READ"; CALLX .MISCRNIO, MISCRNIO, *; CMPNV(B) CTRL-CMD-KEY, 3/EQ(DONE); CMPNV(B) CTRL-CMD-KEY,10/EQ(HOME); VERIFY-THE-ADDRESS: XLATE S-SEGMENT, S-SEGMENT, " ", "0"; VERIFY SGM-ERR, S-SEGMENT, "0123456789ABCDEF"; XLATE S-OFFSET, S-OFFSET, " ", "0"; VERIFY OFF-ERR, S-OFFSET, "0123456789ABCDEF"; ADDN(B) THE-ERR, SGM-ERR, OFF-ERR/POS(BAD-ADDRESS); CVTCH THE-SEGMENT, S-SEGMENT; CPYBLA S-OFFSET(6:1), "0"; CVTCH THE-OFFSET, S-OFFSET; CHECK-FUNCTION-KEY: CMPNV(B) CTRL-CMD-KEY, 0/EQ(ENTER); CMPNV(B) CTRL-CMD-KEY, 2/EQ(DISASSEMBLE); CMPNV(B) CTRL-CMD-KEY, 4/EQ(LOOK); CMPNV(B) CTRL-CMD-KEY, 9/EQ(TIME); CMPNV(B) CTRL-CMD-KEY,12/EQ(UNSTACK); CMPNV(B) CTRL-CMD-KEY,17/EQ(TOP); CMPNV(B) CTRL-CMD-KEY,27/EQ(PAGE-UP); CMPNV(B) CTRL-CMD-KEY,28/EQ(PAGE-DOWN); FUNCTION-KEY-NOT-USED: CPYBLAP S-MESSAGE, "Function key not used", " "; B SHOW-ERROR-MESSAGE; ENTER: CMPBLAP(B) S-SEGMENT, "0", "0"/EQ(HOME); CMPBLAP(B) S-OBJECT, " ", " "/EQ(BUILD-SCREEN); CMPNV(B) CTRL-CURSOR-ROW, 4/HI(BUILD-SCREEN); RESOLVE-TO-OBJECT: CMPBLAP(B) S-TYPE, " ", " "/NEQ(=+2); CPYBLA S-TYPE, "0201";:/* Default = *PGM */ XLATE S-TYPE, S-TYPE, " ", "0"; VERIFY(B) THE-ERR, S-TYPE, "0123456789ABCDEF"/POS(BAD-TYPE); CVTCH RESOLVE-TYPE, S-TYPE; CPYBLA RESOLVE-NAME, S-OBJECT; RSLVSP .THE-OBJECT, RESOLVE, *, *; SHOW-BASED-ON-SYSTEM-PTR: CPYBREP OBJ-OFFSET, X'00'; SHOW-BASED-ON-ADDRESS: CVTHC S-SEGMENT, OBJ-SEGMENT; CVTHC S-OFFSET , OBJ-OFFSET; BUILD-SCREEN: CPYBLAP S-MORE, "More...", " "; CVTCH THE-SEGMENT, S-SEGMENT; CPYBLA S-OFFSET(6:1), "0"; CVTCH THE-OFFSET, S-OFFSET; GET-DATA-TO-SHOW: CPYBLA FROM-ADDRESS, THE-ADDRESS; CALLX .MIACCESS, MIACCESS, *; CMPBLA(B) FEEDBACK, " "/NEQ(CANNOT-ACCESS); CPYNV LINE-NBR, 1; BUILD-SCREEN-LINE: CMPNV(B) LINE-NBR, SCREEN-LINES/HI(SHOW-THE-SCREEN); CPYBLA DATA-WORDS, DATA-LINE(LINE-NBR); CPYBREP S-DESCR (LINE-NBR), " "; CPYBLA THE-ATTR, "j"; CMPPTRT(B) .DATA-PTR(LINE-NBR), */EQ(=+2); CALLI GET-POINTER-DESCR, *, .GET-POINTER-DESCR;: XLATEWT S-TEXT (LINE-NBR), DATA-WORDS, DISPLAYABLE-CHARS; CPYBLA A-WORD1 (LINE-NBR), THE-ATTR; CVTHC S-WORD1 (LINE-NBR), DATA-WORD(1); CPYBLA A-WORD2 (LINE-NBR), THE-ATTR; CVTHC S-WORD2 (LINE-NBR), DATA-WORD(2); CPYBLA A-WORD3 (LINE-NBR), THE-ATTR; CVTHC S-WORD3 (LINE-NBR), DATA-WORD(3); CPYBLA A-WORD4 (LINE-NBR), THE-ATTR; CVTHC S-WORD4 (LINE-NBR), DATA-WORD(4); CVTHC S-WHERE (LINE-NBR), THE-OFFSET; ADDLC(S) THE-OFFSET, X'000010'; ADDN(SB) LINE-NBR, 1/POS(BUILD-SCREEN-LINE); PAGE-UP: CMPBLA(B) THE-OFFSET, X'000100'/HI(=+2); TOP: CPYBLA THE-OFFSET, X'000100';: SUBLC(S) THE-OFFSET, X'000100'; SET-OFFSET: CVTHC S-OFFSET, THE-OFFSET; B BUILD-SCREEN; PAGE-DOWN: CMPBLA(B) THE-OFFSET, X'FFFF00'/NHI(=+2); CPYBLA THE-OFFSET, X'FFFF00';: ADDLC(S) THE-OFFSET, X'000100'; B SET-OFFSET; DONE: CPYBLA CTRL-OPCODE, "CLOSE"; CALLX .MISCRNIO, MISCRNIO, *; RTX *; HOME: CPYNV STACK-TOP, 0; CPYBLA THE-ADDRESS, PCO-ADDRESS; CPYBREP THE-OFFSET, X'00'; SET-PCS-ADDR: CVTHC S-SEGMENT, THE-SEGMENT; CVTHC S-OFFSET , THE-OFFSET ; B BUILD-SCREEN; LOOK: CALLI CHECK-WITHIN-AREA, *, .CHECK-WITHIN-AREA; CMPNV(B) STACK-TOP, 500/NLO(=+2); ADDN(S) STACK-TOP, 1;: CPYBLA STACKED-SEGMENT(STACK-TOP), S-SEGMENT; CPYBLA STACKED-OFFSET (STACK-TOP), S-OFFSET; CPYBLA STACKED-CURSOR (STACK-TOP), CTRL-CURSOR-POSITION; CMPPTRT(B) .DATA-PTR(LINE-NBR), */NEQ(LOOK-VIA-POINTER); CMPNV(B) CTRL-CURSOR-COL,27/HI(LOOK-RIGHT-HAND-SIDE); LOOK-LEFT-HAND-SIDE: CPYBLA OBJ-1ST-WORD, DATA-WORD(1); CPYBLA OBJ-2ND-WORD, DATA-WORD(2); B SHOW-BASED-ON-ADDRESS; LOOK-RIGHT-HAND-SIDE: LOOK-VIA-POINTER: CPYBLA OBJ-1ST-WORD, DATA-WORD(3); CPYBLA OBJ-2ND-WORD, DATA-WORD(4); CMPPTRT(B) .DATA-PTR(LINE-NBR), SYSPTR/ EQ(SHOW-BASED-ON-SYSTEM-PTR), NEQ(SHOW-BASED-ON-ADDRESS); DCL INSPTR .CHECK-WITHIN-AREA; ENTRY CHECK-WITHIN-AREA INT; SUBN(B) LINE-NBR, CTRL-CURSOR-ROW, 5/NPOS(OUTSIDE-AREA); CMPNV(B) LINE-NBR, SCREEN-LINES /HI(OUTSIDE-AREA); CMPNV(B) CTRL-CURSOR-COL,10/LO(OUTSIDE-AREA); CMPNV(B) CTRL-CURSOR-COL,45/HI(OUTSIDE-AREA); CPYBLA DATA-WORDS, DATA-LINE(LINE-NBR); B .CHECK-WITHIN-AREA; OUTSIDE-AREA: CPYBLAP S-MESSAGE, "Place cursor first..", " "; B SHOW-ERROR-MESSAGE; UNSTACK: CMPNV(B) STACK-TOP, 1/LO(HOME); CPYBLA S-SEGMENT, STACKED-SEGMENT(STACK-TOP); CPYBLA S-OFFSET, STACKED-OFFSET (STACK-TOP); CPYBLA CTRL-CURSOR-POSITION, STACKED-CURSOR(STACK-TOP); SUBN(SB) STACK-TOP, 1/NNAN(BUILD-SCREEN); DCL DD THE-TIME CHAR(8); DCL DD THE-TIME-HI BIN(4) UNSGND DEF(THE-TIME) POS(1); DCL DD THE-TIME-LO BIN(4) UNSGND DEF(THE-TIME) POS(5); DCL DD TIMESTAMP PKD(21,0); /* CAN HOLD 64-BIT UNSIGNED */ DCL DD TWO**32 PKD(11,0) INIT(P'4294967296'); DCL DD NBR-SECONDS PKD(15,0); DCL DD NBR-DAYS BIN(4); DCL DD NBR-YEARS BIN(4); DCL DD ADD-YEARS BIN(4); DCL DD NBR-PERIODS BIN(4); DCL DD DAY-MONTH BIN(4); DCL DD D BIN(4); DCL DD M BIN(4); /* DAY BASE FOR: JanFebMarAprMayJunJulAugSepOctNovDec*/ DCL DD DAYS CHAR(36) INIT("000031059090120151181212243273304334"); DCL DD DAYS-ACCUM (12)ZND(3,0) DEF(DAYS) POS(1); DCL DD FORMATTED-TIME CHAR(20); DCL DD YEAR ZND(4,0) DEF(FORMATTED-TIME) POS( 1); DCL DD * CHAR( 1) DEF(FORMATTED-TIME) POS( 5) INIT("/"); DCL DD MONTH ZND(2,0) DEF(FORMATTED-TIME) POS( 6); DCL DD * CHAR( 1) DEF(FORMATTED-TIME) POS( 8) INIT("/"); DCL DD DAY ZND(2,0) DEF(FORMATTED-TIME) POS( 9); DCL DD * CHAR( 2) DEF(FORMATTED-TIME) POS(11) INIT(" "); DCL DD HOUR ZND(2,0) DEF(FORMATTED-TIME) POS(13); DCL DD * CHAR( 1) DEF(FORMATTED-TIME) POS(15) INIT(":"); DCL DD MIN ZND(2,0) DEF(FORMATTED-TIME) POS(16); DCL DD * CHAR( 1) DEF(FORMATTED-TIME) POS(18) INIT(":"); DCL DD SEC ZND(2,0) DEF(FORMATTED-TIME) POS(19); TIME: CALLI CHECK-WITHIN-AREA, *, .CHECK-WITHIN-AREA; CMPNV(B) CTRL-CURSOR-COL,27/HI(TIME-RIGHT-HAND-SIDE); TIME-LEFT-HAND-SIDE: CPYBLA THE-TIME-HI, DATA-WORD(1); CPYBLA THE-TIME-LO, DATA-WORD(2); B CONVERT-AND-SHOW-TIME; TIME-RIGHT-HAND-SIDE: CPYBLA THE-TIME-HI, DATA-WORD(3); CPYBLA THE-TIME-LO, DATA-WORD(4); CONVERT-AND-SHOW-TIME: CMPBLA(B) THE-TIME, X'50'/LO(NOT-A-TIME); MULT TIMESTAMP, THE-TIME-HI, TWO**32; ADDN(S) TIMESTAMP, THE-TIME-LO; DIV(SR) TIMESTAMP, 4096000000; /* NOW SECONDS */ ADDN(S) TIMESTAMP, 43386; /* 12:03:06 PM */ DIVREM NBR-DAYS, TIMESTAMP, 86400, NBR-SECONDS; SUBN(S) NBR-DAYS, 131;/* WAS: AUG 23,1928, NOW: JAN 01,1929 */ DIVREM NBR-PERIODS, NBR-DAYS, 1461, NBR-DAYS; /* 4 YEARS */ MULT NBR-YEARS, NBR-PERIODS, 4; ADDN(S) NBR-YEARS, 1929; DIVREM ADD-YEARS, NBR-DAYS, 365, NBR-DAYS; ADDN YEAR, NBR-YEARS, ADD-YEARS; CPYNV M, 13; CMPNV(B) ADD-YEARS, 3/LO(FIND-MONTH); LEAP-YEAR: CMPNV(B) NBR-DAYS, 59/LO(FIND-MONTH),EQ(FEB-29TH); SUBN(S) NBR-DAYS, 1; FIND-MONTH: SUBN(S) M, 1; SUBN(B) DAY-MONTH, NBR-DAYS, DAYS-ACCUM(M)/NEG(FIND-MONTH); ADDN DAY, DAY-MONTH, 1; CPYNV(B) MONTH, M/NNAN(COMPUTE-TIME); FEB-29TH: CPYNV MONTH, 2; CPYNV DAY, 29; COMPUTE-TIME: DIVREM HOUR, NBR-SECONDS, 3600, NBR-SECONDS; DIVREM MIN, NBR-SECONDS, 60, SEC; CPYBLAP S-MESSAGE, FORMATTED-TIME, " "; B SHOW-ERROR-MESSAGE; NOT-A-TIME: CPYBLAP S-MESSAGE, "Not a time...", " "; B SHOW-ERROR-MESSAGE; DISASSEMBLE: CPYBLAP S-MESSAGE, "Coming soon...", " "; B SHOW-ERROR-MESSAGE; CANNOT-ACCESS: CPYBLAP S-MESSAGE, "Cannot access address...", " "; B SHOW-ERROR-MESSAGE; DCL EXCM * EXCID(H'2200') BP(OBJECT-NOT-FOUND) CV(X'00000000') IMD; OBJECT-NOT-FOUND: CPYBLA A-OBJECT, "e"; CPYBLA A-TYPE, "e"; CPYBLAP S-MESSAGE, "Object not found...", " "; SHOW-ERROR-MESSAGE: CPYBLA A-MESSAGE, "T"; /* title */ B SHOW-THE-SCREEN; BAD-TYPE: CPYBLA A-TYPE, "e"; CPYBLAP S-MESSAGE, "Invalid object type", " "; B SHOW-ERROR-MESSAGE; BAD-ADDRESS: CMPNV(B) SGM-ERR, 0/EQ(=+2); CPYBLA A-SEGMENT, "g";: CMPNV(B) OFF-ERR, 0/EQ(=+2); CPYBLA A-OFFSET, "g";: CPYBLAP S-MESSAGE, "Invalid hexadecimal address", " "; B SHOW-ERROR-MESSAGE; DCL DD TYPE-DESCR CHAR(468); /* 36 times 13 */ DCL DD TYPE-ENTRY(36) CHAR(13) DEF(TYPE-DESCR) POS(1) INIT ("01Access Grp ","02Program ","03Module ","04Library ", "05? Ptr ","06Byte Spc ","07Journal ","08User Prf ", "09Jrnl Port ","0AQueue ","0BData Space ","0CData Index ", "0DCursor ","0EIndex ","0FCommit ","10Dev Descr ", "11Line Descr ","12Ctrl Descr ","13Dump Space ","14Cls of Serv", "15Mode ","16NetW Intf. ","17Conn. List ","18Queue Spc ", "19Space ","1AProc Ctrl ","1BAuth List ","1CDictionary ", "1DNetW Srv ","1EStream File","1FDistr. File","20SOM Object ", "21Object Grp ","81Machine Ctx","85Stream Obj.","??System Ptr "); DCL DD NBR BIN(2); DCL DD THE-WORD CHAR(4); DCL INSPTR .GET-POINTER-DESCR; ENTRY GET-POINTER-DESCR INT; CPYBLA THE-ATTR, "C"; /* Choice */ CPYBLAP S-DESCR (LINE-NBR), "Pointer", " "; CMPPTRT(B) .DATA-PTR(LINE-NBR), SPCPTR/NEQ(=+2); CPYBLAP S-DESCR (LINE-NBR), "Space Ptr", " ";: CMPPTRT(B) .DATA-PTR(LINE-NBR), SYSPTR/NEQ(.GET-POINTER-DESCR); CPYBLA THE-ATTR, "O"; /* Option */ CPYBLA THE-WORD, DATA-WORD(4); CVTHC TYPE-DESCR(456:2), THE-WORD(3:1); /* Type sentinel */ SCAN NBR, TYPE-DESCR, TYPE-DESCR(456:2); ADDN(S) NBR, 2; CPYBLAP S-DESCR (LINE-NBR), TYPE-DESCR(NBR:11), " "; B .GET-POINTER-DESCR; /************************* SCREEN DEFINITION ************************/ DCL SPCPTR .SCRN-CTRL INIT(SCRN-CTRL); DCL DD SCRN-CTRL CHAR(8); DCL DD CTRL-OPCODE CHAR(1) DEF(SCRN-CTRL) POS(1); DCL DD CTRL-CMD-KEY ZND(2,0) DEF(SCRN-CTRL) POS(2); DCL DD CTRL-CURSOR-POSITION CHAR(5) DEF(SCRN-CTRL) POS(4); DCL DD CTRL-CURSOR-ROW ZND(2,0) DEF(CTRL-CURSOR-POSITION) POS(1); DCL DD CTRL-CURSOR-COL ZND(3,0) DEF(CTRL-CURSOR-POSITION) POS(3); DCL SPCPTR .SCREEN INIT(SCREEN); DCL DD SCREEN CHAR(10) INIT("T010320015"); DCL DD S-TITLE CHAR(15) INIT("AS/400 Explorer"); DCL DD * CHAR(10) INIT("L010480000"); DCL DD * CHAR(10) INIT("L030010030"); DCL DD * CHAR(30) INIT("Object to explore . . . . . "); DCL DD A-OBJECT CHAR(10) INIT("i030320030"); DCL DD S-OBJECT CHAR(30) INIT(" "); DCL DD * CHAR(10) INIT("L030630006"); DCL DD * CHAR(06) INIT(" Type "); DCL DD A-TYPE CHAR(10) INIT("i030700004"); DCL DD S-TYPE CHAR(04) INIT(" "); DCL DD * CHAR(10) INIT("L040010030"); DCL DD * CHAR(30) INIT("Context . . . . . . . . . . "); DCL DD A-CONTEXT CHAR(10) INIT("i040320030"); DCL DD S-CONTEXT CHAR(30) INIT(" "); DCL DD * CHAR(10) INIT("L040630016"); DCL DD * CHAR(16) INIT(" Name or blank "); DCL DD * CHAR(10) INIT("L050010007"); DCL DD * CHAR(07) INIT("Address . . . . . . . . . . "); DCL DD A-SEGMENT CHAR(10) INIT("q050090010"); DCL DD S-SEGMENT CHAR(10) INIT(" "); DCL DD A-OFFSET CHAR(10) INIT("q050200006"); DCL DD S-OFFSET CHAR(06) INIT(" "); DCL DD * CHAR(10) INIT("S050270002"); DCL DD * CHAR(02) INIT(" "); DCL DD * CHAR(10) INIT("L060010006"); DCL DD S-WHERE@ CHAR(06); DCL DD @1 CHAR(10) INIT("j060090008"); DCL DD S-WORD1@ CHAR(08); DCL DD @2 CHAR(10) INIT("j060180008"); DCL DD S-WORD2@ CHAR(08); DCL DD @3 CHAR(10) INIT("j060280008"); DCL DD S-WORD3@ CHAR(08); DCL DD @4 CHAR(10) INIT("j060370008"); DCL DD S-WORD4@ CHAR(08); DCL DD * CHAR(10) INIT("U060480016"); DCL DD S-TEXT@ CHAR(16); DCL DD * CHAR(10) INIT("L060650015"); DCL DD S-DESCR@ CHAR(15); DCL DD * CHAR(10) INIT("L060800000"); /* SIZE 69 */ DCL DD * CHAR(10) INIT("L070010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j070090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j070180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j070280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j070370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U070480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L070650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L070800000"); DCL DD * CHAR(10) INIT("L080010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j080090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j080180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j080280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j080370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U080480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L080650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L080800000"); DCL DD * CHAR(10) INIT("L090010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j090090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j090180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j090280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j090370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U090480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L090650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L090800000"); DCL DD * CHAR(10) INIT("L100010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j100090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j100180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j100280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j100370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U100480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L100650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L100800000"); DCL DD * CHAR(10) INIT("L110010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j110090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j110180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j110280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j110370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U110480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L110650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L110800000"); DCL DD * CHAR(10) INIT("L120010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j120090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j120180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j120280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j120370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U120480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L120650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L120800000"); DCL DD * CHAR(10) INIT("L130010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j130090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j130180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j130280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j130370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U130480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L130650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L130800000"); DCL DD * CHAR(10) INIT("L140010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j140090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j140180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j140280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j140370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U140480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L140650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L140800000"); DCL DD * CHAR(10) INIT("L150010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j150090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j150180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j150280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j150370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U150480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L150650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L150800000"); DCL DD * CHAR(10) INIT("L160010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j160090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j160180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j160280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j160370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U160480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L160650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L160800000"); DCL DD * CHAR(10) INIT("L170010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j170090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j170180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j170280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j170370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U170480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L170650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L170800000"); DCL DD * CHAR(10) INIT("L180010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j180090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j180180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j180280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j180370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U180480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L180650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L180800000"); DCL DD * CHAR(10) INIT("L190010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j190090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j190180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j190280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j190370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U190480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L190650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L190800000"); DCL DD * CHAR(10) INIT("L200010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j200090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j200180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j200280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j200370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U200480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L200650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L200800000"); DCL DD * CHAR(10) INIT("L210010006"); DCL DD * CHAR(06); DCL DD * CHAR(10) INIT("j210090008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j210180008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j210280008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("j210370008"); DCL DD * CHAR(08); DCL DD * CHAR(10) INIT("U210480016"); DCL DD * CHAR(16); DCL DD * CHAR(10) INIT("L210650015"); DCL DD * CHAR(15); DCL DD * CHAR(10) INIT("L210800000"); DCL DD * CHAR(10) INIT("T220720007"); DCL DD S-MORE CHAR(07) INIT(" "); DCL DD * CHAR(10) INIT("L220800000"); DCL DD * CHAR(10) INIT("U230010079"); /* INFORMATIONAL */ DCL DD S-PFKEYS CHAR(79) INIT ("F3=Exit F2=Disasm F4=Look F9=Time F10=PCS F12=Goback F17=Top"); DCL DD A-MESSAGE CHAR(10) INIT("T240010079"); /* MESSAGE LINE */ DCL DD S-MESSAGE CHAR(79); DCL DD * CHAR(10) INIT(".000000000"); /* END OF SCREEN */ DCL SYSPTR .MISCRNIO; DCL OL MISCRNIO(.SCRN-CTRL, .SCREEN); DCL DD LINE-NBR BIN(2); DCL DD SCREEN-LINES BIN(2) INIT(16); DCL DD A-WORD1 (16) CHAR(01) DEF(@1 ) POS(1) AEO(149); DCL DD A-WORD2 (16) CHAR(01) DEF(@2 ) POS(1) AEO(149); DCL DD A-WORD3 (16) CHAR(01) DEF(@3 ) POS(1) AEO(149); DCL DD A-WORD4 (16) CHAR(01) DEF(@4 ) POS(1) AEO(149); DCL DD S-WHERE (16) CHAR(06) DEF(S-WHERE@) POS(1) AEO(149); DCL DD S-WORD1 (16) CHAR(08) DEF(S-WORD1@) POS(1) AEO(149); DCL DD S-WORD2 (16) CHAR(08) DEF(S-WORD2@) POS(1) AEO(149); DCL DD S-WORD3 (16) CHAR(08) DEF(S-WORD3@) POS(1) AEO(149); DCL DD S-WORD4 (16) CHAR(08) DEF(S-WORD4@) POS(1) AEO(149); DCL DD S-TEXT (16) CHAR(16) DEF(S-TEXT@ ) POS(1) AEO(149); DCL DD S-DESCR (16) CHAR(15) DEF(S-DESCR@) POS(1) AEO(149);