{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: TRACE867)}} ====== TRACE867 ====== (George Source) **Macros used:** [[george:macro:BRUSEN|BRUSEN]], [[george:macro:COMERR|COMERR]], [[george:macro:CPHOOK|CPHOOK]], [[george:macro:DOSPMON|DOSPMON]], [[george:macro:DOTPMON|DOTPMON]], [[george:macro:DOUPMON|DOUPMON]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:HUNT2|HUNT2]], [[george:macro:MARKAXES|MARKAXES]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:PARANUMB|PARANUMB]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:TANAMONST|TANAMONST]], [[george:macro:TESTHKN|TESTHKN]], [[george:macro:TRACE|TRACE]] 22FL #LIS K0TRACE>K0COMMAND>K0ALLGEO 22R2 ... SEG TRACE,867,SECTION CENT,,G400 234B ...[ 23*Q ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 23M6 ...[ 23YG # THIS CHAPTER IMPLEMENTS THE TRACE AND FULLTRACE COMMANDS. 24D6 # IF A TRACE COMMAND IS GIVEN,PROVIDING NO PREVIOUS 24XQ # FULLTRACE COMMAND HAS BEEN GIVEN,IT ADJUSTS THE MASK OF 25CB # THE CATEGORY BITS CORRESPONDING TO THE PARAMETERS OF THE 25X2 # COMMAND TO INCLUDE RELEVANT BITS SET IN THE INSTALLATION 26BL # PARAMETER MINTRACE AND 26W= # EXCLUDE RELEVANT BITS UNSET IN WORD CMFMSK IN THE SECOND 27*W # CPB/CALAS BLOCK,IF THIS BLOCK EXISTS.IT THEN STORES THE 27TG # NEW MASK IN WORD AMFMSK IN THE ACTIVITY BLOCK AND IN WORD 28*6 # CMFMSK IN THE FIRST CPB/CALAS BLOCK. 28SQ # IF A FULLTRACE COMMAND IS GIVEN,A BIT IS SET IN WORD 29#B # CLONG1 IN THE ACTIVITY BLOCK AND ALL RELEVANT CATEGORY 29S2 # BITS ARE SET IN WORD AMFMSK IN THE SAME BLOCK. 2=?L # ONCE A FULLTRACE COMMAND HAS BEEN GIVEN,ANY SUBSEQUENT 2=R= # TRACE COMMAND IS IGNORED. 2=T8 ...#UNS G400 2=X6 ...( 2=^4 ...# THIS CHAPTER IS FOR G3PLUS-IH MK2 2?32 ...# 2?4Y ...# IN HOOKED CONTEXT WITH NO PARAMS 2?6W ...# THIS COMMAND SWITCHES THE PRIVILAGE MONITORING STATUS 2?8S ...) 2?=W SEGENTRY K1TRACE,SENTRY1 2?QG SEGENTRY K2TRACE,SENTRY2 2#=6 #SKI JNL1<1$1 2#PQ QMASK #02121777 2*9B #SKI JNL1 2*P2 QMASK #02023777 2B8L SENTRY2 [ENTRY FROM FULLTRACE COMMAND 2BN= LDN 7 1 2C7W SRC 7 4 2CMG LDX 6 7 2D76 ANDX 6 CLONG1(2) [TEST IF PREVIOUS FULLTRACE COMMAND 2DLQ BNZ 6 N1 [ISSUED.IF SO,BRANCH TO ENDCOM. 2F6B ORS 7 CLONG1(2) [SET BIT 3 IN CLONG1 IN THE ACTIVITY 2FL2 [BLOCK TO FLAG FULLTRACE 2G5L LDX 7 QMASK(1) 2GK= ORS 7 AMFMSK(2) [SET ALL OUTPUT CATEGORY BITS IN AMFMSK 2H4W [IN THE ACTIVITY BLOCK 2HJG LDX 3 2 2J46 N3 HUNT2 1,CPB,CALAS,3 [SET POINTER TO NEXT CPB/CALAS BLOCK 2JHQ ORS 7 CMFMSK(1) [SET ALL OUTPUT CATEGORY BITS IN CMFMSK 2K3B [IN THIS CPB/CALAS BLOCK 2KH2 #SKI K6TRACE>999-999 2L2L ( 2LG= TRACE CMFMSK(1),FULLTRAC 2L^W TRACE 1,FTLEVEL 2MFG ) 2M^6 LDEX 4 CPBCPLEV(1) 2NDQ LDX 3 1 2NYB BNZ 4 N3 [TEST IF NO FURTHER CPB/CALAS BLOCKS 2PD2 #SKI K6TRACE>999-999 2PXL ( 2QC= TRACE CLONG1(2),FLTRACE1 2QWW TRACE AMFMSK(2),FLTRACE2 2RBG ) 2RW6 BRN N1 2S*Q SENTRY1 2SBK ...#UNS G400 2SCD ...( 2SD? ... TESTHKN XDSK1 [J IF NOT IN A HOOK 2SF6 ... LDN 4 0 2SF^ ... PARANUMB 5,4 2SGS ... BNZ 5 XDSK1 [J IF PARAMS PRESENT 2SHM ... DOTPMON XDSK3 [J IF PRIV MONITORING SET 2SJG ... DOSPMON [SET PRIV MONITORING STATUS 2SK* ... BRN XDSK2 2SL8 ...XDSK3 DOUPMON [ UNSET PRIV MONITORING STATUS 2SM3 ...XDSK2 MHUNTW 3,CPB,CALAS 2SMW ... CPHOOK 3 [ SAVE HOOK BITS AT THIS CP LEVEL 2SNP ... BRN N1 2SPJ ...XDSK4 COMERR JCONTINC,JDIR [NOT ALLOWED IN NO-USER CONTEXT 2SQC ...XDSK1 2SR= ... BRUSEN XDSK4 [ ERROR IN NO-USER NOT HOOKED CONTEXT 2SS5 ...) 2STB LDX 7 CLONG1(2) 2T*2 SLL 7 3 2TSL BPZ 7 N4 [TEST IF FULLTRACE COMMAND HAS BEEN 2W#= [ISSUED EARLIER.IF NOT,ANALYSE PARAMETERS 2WRW [OF COMMAND USING TANAMONST:OTHERWISE 2X?G [MARK PAMAMETERS ACCESSED AND BRANCH TO 2XR6 [ENDCOM 2Y=Q MARKAXES 2YQB BRN N1 2^=2 N4 TANAMONST N1 [ANALYSE PARAMETERS.IF ERRONEOUS,WRITE 2^PL [APPROPRIATE ERROR MESSAGE AND BRANCH TO 329= [ENDCOM.IF VALID,PUT MASK OF OUTPUT 32NW [CATEGORY BITS IN ACOMMUNE1 IN THE 338G [ACTIVITY BLOCK 33N6 LDX 7 IMINTRACE [LOAD INSTALLATION PARAMETER MINTRACE 347Q #SKI K6TRACE>999-999 34MB ( 3572 TRACE ACOMMUNE1(2),TRUEMASK 35LL TRACE 7,MINTRACE 366= ) 36KW ORS 7 ACOMMUNE1(2) [SET IN MASK CORRESPONDING BITS SET IN 375G [MINTRACE AT PRESENT UNSET IN MASK 37K6 MHUNTW 3,CPB,CALAS [SET POINTER TO FIRST CPB/CALAS BLOCK 384Q # TEST IF TOP COMMAND PROCESSOR LEVEL > EXT+10. 38JB # THIS WORD CONTAINS EITHER ZERO OR TOP BREAKIN LEVEL 3942 LDEX 7 EXT+10(2) 39HL TXL 7 CPLEV(2) 3=3= BCC N2 3=GW HUNT2 1,CPB,CALAS,3 [SET POINTER TO SECOND CPB/CALAS BLOCK 3?2G LDX 7 CMFMSK(1) [LOAD WORD CMFMSK OF 2ND CPB/CALAS BLOCK 3?G6 #SKI K6TRACE>999-999 3?^Q TRACE 7,TRMASK3 3#FB ANDS 7 ACOMMUNE1(2) [UNSET IN MASK CORRESPONDING BITS UNSET 3#^2 [IN CMFMSK AT PRESENT SET IN MASK 3*DL N2 LDX 7 ACOMMUNE1(2) [LOAD THE ADJUSTED MASK 3*Y= STO 7 AMFMSK(2) [STORE IT IN WORD AMFMSK OF THE ACTIVITY 3BCW [BLOCK 3BXG STO 7 CMFMSK(3) [STORE IT IN WORD CMFMSK OF THE FIRST 3CC6 [CPB/CALAS BLOCK 3CWQ #SKI K6TRACE>999-999 3DBB ( 3DW2 TRACE AMFMSK(2),TRMASK1 3F*L TRACE CMFMSK(3),TRMASK2 3FT= ) 3G#W N1 ENDCOM 3GSG MENDAREA 40,GAPTRACE 3H#6 #END ^^^^ ...06137311000200000000