*COPY PERBLOKS 00001000
PUSH PRINT 00002000
AIF ('&SYSPARM' NE 'SUP').PER01 00003000
PRINT OFF,NOGEN 00004000
.PER01 ANOP 00005000
PERBLOK DSECT 00006000
SPACE 00007000
*** PERBLOK - PER TRACE CONTROL BLOK 00008000
* 00009000
* 0 +-----------------------+-----------------------+ 00010000
* | PERCHAIN | PERSAVED | 00011000
* 8 +-----------------------+-----------------------+ 00012000
* | PERSEQT | PERSEQP | 00013000
* 10 +-----------------------+-----------+-----------+ 00014000
* | PERTBAK | PERBBLIP | PERIBLIP | 00015000
* 18 +-----------+-----------+-----------+-----------+ 00016000
* | PERSBLIP | PERGBLIP | PERCR9 | 00017000
* 20 +-----------+-----------+-----------------------+ 00018000
* | PERCR10 | PERCR11 | 00019000
* 28 +-----------------------+-----------+-----------+ 00020000
* | PERADDR | PERCDE | PERPEXCT | 00021000
* 30 +-----------------------+-----------+-----------+ 00022000
* | PERGPRP | PEREX | 00023000
* 38 +-----------------------+-----------+-----------+ 00024000
* | PERINST | PERGALT | 00025000
* 40 +-----------------------+-----------+-----------+ 00026000
* | PEROP1 | PEROP2 | 00027000
* 48 +-----+-----------------+-----------------------+ 00028000
* | P*1 | PEREXADD | PERSTLEN | 00029000
* 50 +-----+-----------------+-----------------------+ 00030000
* | | 00031000
* = PERBUF = 00032000
* | | 00033000
* A0 +-----------------------------------------------+ 00034000
* 00035000
*** PERBLOK - PER TRACE CONTROL BLOK 00036000
SPACE 00037000
PERCHAIN DS F ANCHOR FOR PER ELEMENTS 00038000
PERSAVED DS F ANCHOR FOR SAVED TRACE SETS 00039000
PERSEQT DS F ADDR OF NEXT ISN FOR TERM OUTPUT 00040000
PERSEQP DS F ADDR OF NEXT ISN FOR PRT OUTPUT 00041000
PERTBAK DS F POINTER TO AREA FOR BRANCH TRACEBACK 00042000
PERBBLIP DS H BRANCH BLIP COUNTER 00043000
PERIBLIP DS H IFETCH BLIP COUNTER 00044000
PERSBLIP DS H STORE BLIP COUNTER 00045000
PERGBLIP DS H GREG BLIP COUNTER 00046000
PERCR9 DS F CR9 FOR PER TRACE 00047000
PERCR10 DS F CR10 FOR PER TRACE 00048000
PERCR11 DS F CR11 FOR PER TRACE 00049000
PERADDR DS F PER EVENT ADDRESS 00050000
PERCDE DS H PER EVENT CODE 00051000
PERPEXCT DS H NUMBER OF PEX BLOCKS 00052000
PERGPRP DS F POINTER TO GPRS FOR GPR TRACE 00053000
PEREX DS F EXECUTE INSTRUCTION (IF ANY) 00054000
PERINST DS 3H INSTRUCTION 00055000
PERGALT DS H ALTERED REGISTER FLAGS 00056000
PEROP1 DS A FIRST OPERAND ADDRESS 00057000
PEROP2 DS F SECOND OPERAND ADDRESS 00058000
PEREXMOD DS X P*1 EXECUTE MODIFIER BYTE 00059000
PEREXADD DS AL3 EXECUTE ADDRESS 00060000
PERSTLEN DS F LENGTH OF STORE 00061000
PERBUF DS 10D CONSOLE/PRINTER OUTPUT BUFFER 00062000
PERSIZE EQU (*-PERBLOK+7)/8 SIZE OF PERBLOK 00063000
SPACE 1 00064000
* FLAGS DEFINED IN FIRST BYTE OF PEROP1 AND PEROP2 00065000
SPACE 1 00066000
PEROPNOT EQU X'80' OPERAND NOT DEFINED 00067000
PEROPQU EQU X'40' UNABLE TO DETERMINE ADDRESS 00068000
SPACE 00069000
PERTBLEN EQU 6*16 SIZE OF TRACEBACK TABLE 00070000
EJECT 00071000
PESBLOK DSECT 00072000
SPACE 00073000
*** PESBLOK - PER SAVED TRACE SET POINTER BLOCK 00074000
* 00075000
* 0 +-----------------------+-----------------------+ 00076000
* | PESNEXT | PESCHAIN | 00077000
* 8 +-----------------------+-----------------------+ 00078000
* | PESNAME | 00079000
* 10 +-----------------------------------------------+ 00080000
* 00081000
*** PESBLOK - PER SAVED TRACE SET POINTER BLOCK 00082000
SPACE 00083000
PESNEXT DS F POINTER TO NEXT PESBLOK 00084000
PESCHAIN DS F POINTER TO CHAIN OF SAVED PEXBLOKS 00085000
PESNAME DS CL8 NAME OF SAVED TRACE SET 00086000
PESSIZE EQU (*-PESBLOK+7)/8 SIZE OF PESBLOK 00087000
EJECT 00088000
PEXBLOK DSECT 00089000
SPACE 00090000
*** PEXBLOK - PER TRACE ELEMENT CONTROL BLOCK 00091000
* 00092000
* 0 +-----------------------+-----+-----+-----+-----+ 00093000
* | PEXNEXT | I*1 | I*2 | I*3 | I*4 | 00094000
* 8 +-----------------------+-----+-----+-----+-----+ 00095000
* | PEXADDR1 | PEXADDR2 | 00096000
* 10 +-----------------------+-----------------------+ 00097000
* | PEXADDR3 | PEXADDR4 | 00098000
* 18 +-----------------------+-----------------------+ 00099000
* | PEXSTEP | PEXSKIP | 00100000
* 20 +-----------------------+-----------------------+ 00101000
* | PEXSTEPN | PEXSKIPN | 00102000
* 28 +-----------------------+-----------------------+ 00103000
* | PEXINCR | PEXCMND | 00104000
* 30 +-----------------------+-----------------------+ 00105000
* 00106000
*** PEXBLOK - PER TRACE ELEMENT CONTROL BLOCK 00107000
SPACE 00108000
PEXNEXT DS F POINTER TO NEXT BLOK IN CHAIN 00109000
PEXLEN DS X I*1 LENGTH OF BLOK IN DWORDS 00110000
PEXDLEN DS X I*2 LENGTH OF DATA FOR DATA STOP 00111000
PEXFLAGT DS X I*3 ELEMENT TYPE 00112000
PEXFLAGO DS X I*4 OPTION FLAGS 00113000
PEXADDR1 DS F FIRST ADDRESS 00114000
PEXADDR2 DS F SECOND ADDRESS 00115000
PEXADDR3 DS F THIRD ADDRESS 00116000
PEXADDR4 DS F FOURTH ADDRESS 00117000
PEXSTEP DS F DISPLAYS BETWEEN CF MODE 00118000
PEXSKIP DS F DISPLAYS TO SKIP 00119000
PEXSTEPN DS F CURRENT STEP COUNT 00120000
PEXSKIPN DS F CURRENT SKIP COUNT 00121000
PEXINCR DS F INCREMENT SIZE FOR PAGE TRACE 00122000
PEXCMND DS F POINTER TO BUFFER BLOK TO EXECUTE 00123000
PEXDATA DS 0C START OF DATA FOR DATA STOPS 00124000
PEXSIZE EQU (*-PEXBLOK+7)/8 LENGTH OF PEXBLOK (PEXDLEN=0) 00125000
SPACE 00126000
* REDEFINITION FOR GREG STOP 00127000
SPACE 00128000
ORG PEXINCR 00129000
PEXGREG DS H GENERAL REGISTER FLAGS 00130000
PEXGSUC DS H REGISTERS TO DISPLAY THIS TIME 00131000
SPACE 00132000
* BITS DEFINED IN PEXFLAGT 00133000
PEXBR EQU X'80' BRANCH ELEMENT 00134000
PEXIFET EQU X'40' IFETCH ELEMENT 00135000
PEXST EQU X'20' STORAGE ALTERATION ELEMENT 00136000
PEXGPR EQU X'10' GEN REG ALTERATON ELEMENT 00137000
PEXBRTB EQU X'08'+PEXBR BRANCH TRACEBACK ELEMENT 00138000
PEXPGT EQU X'04'+PEXIFET PAGE TRACE ELEMENT 00139000
PEXMASK EQU X'02'+PEXST BIT ALTERATION 00140000
SPACE 00141000
* BITS DEFINED IN PEXFLAGO 00142000
PEXRUN EQU X'80' RUN OPTION ON 00143000
PEXPRINT EQU X'40' OUTPUT TO GO TO PRINTER 00144000
PEXTERM EQU X'20' OUTPUT TO GO TO TERMINAL 00145000
PEXDATAE EQU X'10' FOR DATA STOP, DATA EQ AT LAST CHECK 00146000
PEXDATAI EQU X'08' DATA INVALID FOR MASK TYPE DATA STOP 00147000
PEXSUCC EQU X'04' SUCCESFUL AT LAST EVENT (ONLY IN DMKPER) 00148000
EJECT 00149000
POP PRINT 00150000
SPACE 00151000