Trailing-Edge
-
PDP-10 Archives
-
bb-bt99h-bb
-
algots.c05
There are 15 other files named algots.c05 in the archive. Click here to see a list.
REP 3/1 ;05C1
;COPYRIGHT (C) 1975,1981,1982 BY
WIT
;COPYRIGHT (C) 1975,1982,1983 BY
INS 23/7 ;05C2
TLNN DB,OMC1!OMC2 ; [336] WAS IT A KI OR KL?
TLO DB,OMC2 ; [336] NO, MUST BE A KA
REP 15/75 ;05C3
MOVEI A0,0 ; SET A0 FOR GETOWN
BLKE1: POP SP,A1 ; UNSTACK
JUMPL A1,BLKE2 ; BLOCK POINTER?
TLZE A1,(<Z 17,0>) ; [E057] IS THIS A STRING ARRAY ?
PUSHJ SP,DELSCN ; [E057] YES - DELETE SUB-STRINGS
MOVEI A1,@A1 ; GETSTRING ITSELF, IF STRING VARIABLE.
JUMPE A1,BLKE1 ; IF NO STRING ASSIGNED, DON'T DELETE.
PUSHJ SP,GETOWN ; NO - DELETE ITEM
JRST BLKE1
WIT
MOVE A2,[-20,,%IODR+20] ; [316] AOBJN PTR. TO SCAN LOGICAL I/O TABLE
ADDI A2,(DB) ; [316] RELOCATE
SETZM A01TMP(DB) ; [316] CLEAR "LOGICAL CHANNELS IN USE" FLAG
BLKELP: SKIPN A3,(A2) ; [316] IS THIS LOGICAL CHANNEL IN USE?
JRST BLKE1A ; [316] NO, SKIP TO NEXT ENTRY
HRRZ A3,1(A3) ; [316] YES, LOAD CURRENT ADDR. OF I/O STRING
MOVEM A3,%DDTCB-%IODR-20(A2) ; [316] PUT ADDR. INTO TABLE FOR LATER
SETOM A01TMP(DB) ; [316] SET FLAG TO SAY WE FOUND A CHANNEL
TRNA ; [316] AND SKIP THE NEXT SETZM
BLKE1A: SETZM %DDTCB-%IODR-20(A2) ; [316] UNASSIGNED CHANNEL, CLEAR ENTRY
AOBJN A2,BLKELP ; [316] LOOP UNTIL DONE SCANNING I/O TABLE
MOVEI A0,0 ; [316] SET A0 FOR GETOWN
BLKE1B: POP SP,A1 ; [316] UNSTACK
JUMPL A1,BLKE2 ; [316] JUMP IF THIS ISN'T A BLOCK POINTER
TLZE A1,(<Z 17,0>) ; [316] [E057] ELSE, IS THIS A STRING ARRAY?
PUSHJ SP,DELSCN ; [316] [E057] YES, DELETE SUB-STRINGS
MOVEI A1,@A1 ; [316] NO, STATICISE
JUMPE A1,BLKE1B ; [316] LOOP IF NO STRING ASSIGNED
SKIPN A01TMP(DB) ; [316] ELSE, ANY LOGICAL I/O CHANNELS IN USE?
JRST BLKE1C ; [316] NO, JUMP AHEAD
MOVE A2,[-20,,%DDTCB]; [316] YES, LOAD PTR. TO SCAN I/O TABLE
ADDI A2,(DB) ; [316] RELOCATE
BLKEL1: SKIPN (A2) ; [316] GET NEXT I/O ENTRY - UNUSED CHANNEL?
JRST BLKE1D ; [316] YES, SKIP TO NEXT ENTRY
CAMLE A1,(A2) ; [316] NO, RETURNED SPACE ABOVE I/O SPACE?
JRST BLKE1D ; [316] YES, STRING IS OK
HLRZ A3,-1(A1) ; [316] NO, GET STRING'S HEAP SPACE LENGTH
ADDI A3,-1(A1) ; [316] CALCULATE STRING END ADDR.
CAMG A3,(A2) ; [316] IS I/O CHANNEL OPEN TO THIS STRING?
JRST BLKE1D ; [316] NO, STRING AND CHANNEL ARE BOTH OK
SETZM %IODR+20-%DDTCB(A2) ; [323] AND SHUTDOWN THE CHANNEL
SETZM %IOSTS+20-%DDTCB(A2) ; [323] ALSO CLEAR EXTRA STATUS BITS
BLKE1D: AOBJN A2,BLKEL1 ; [316] LOOP UNTIL DONE WITH I/O TABLE
BLKE1C: PUSHJ SP,GETOWN ; [316] DELETE STRING SPACE
JRST BLKE1B ; [316] LOOP UNTIL ALL STRINGS RELEASED
REP 26/93 ;05C4
GETKNL: ; KERNEL OF GETOWN - A2 = TABLE POINTER (-LENGTH,,ADDR)
Edit(062); Use current top of heap if possible
PUSH SP,A2 ; [E062] SAVE TABLE POINTER
WIT
; EDIT(062); Use current top of heap if possible
; KERNEL OF GETOWN - A2 = TABLE POINTER (-LENGTH,,ADDR)
GETKNL: PUSH SP,A2 ; [E062] SAVE TABLE POINTER
REP 33/93 ;05C5
GET1: ; ORDINARY GET-N-WORDS ENTRY
ADDI A0,1 ; ALLOW FOR LINK-WORD
WIT
; ORDINARY GET-N-WORDS ENTRY
GET1: ADDI A0,1 ; ALLOW FOR LINK-WORD
REP 50/93 ;05C6
CAIN A5,0 ; [246] IS THIS HEAP ENTRY ALREADY IN USE?
JRST [ ; [246]
POP SP,A5 ; [246] YES, IT'S NO GOOD - RESTORE A5
JRST GET15 ; [246] KEEP SCANNING HEAP TABLE
] ; [246]
POP SP,A5 ; [246] NO, RESTORE A5
MOVEI A3,(A1) ; [246] THIS ENTRY IS GOOD - REMEMBER IT
HRLI A3,(A2)
WIT
JUMPE A5,[POP SP,A5 ; [316] [246] JUMP IF ENTRY IS IN USE
JRST GET15] ; [316] [246] KEEP SCANNING HEAP TABLE
POP SP,A5 ; [316] [246] ELSE RESTORE A5
MOVEI A3,(A1) ; [246] THIS ENTRY IS GOOD - REMEMBER IT
HRLI A3,(A2)
REP 1/95 ;05C7
GET2: ; A0 = 0 - RETURN SPACE ADDRESSED BY A1
TLZ DB,TMPFL1!TMPFL2; CLEAR TEMPORARY FLAG BITS
HLRZ A0,-1(A1) ; A0 IS LENGTH OF RETURNED PIECE
ADDI A0,-1(A1) ; NOW TOP ADDRESS + 1
MOVEI A1,-1(A1) ; GET ADDRESS OF BOTTOM OF PIECE
WIT
GET2: ; A0 = 0 - RETURN SPACE ADDRESSED BY A1
TLZ DB,TMPFL1!TMPFL2; CLEAR TEMPORARY FLAG BITS
MOVEI A1,-1(A1) ; [326] GET BOTTOM ADDR. OF RETURNED SPACE
IFN FTGETCHK,< ; [326] MAKE SURE SPACE ISN'T RETURNED TWICE
GET2A: SKIPN A3,(A2) ; [326] GET TABLE ENTRY ADDR.
JRST GET2B ; [326] NULL ENTRY, IGNORE
CAIGE A1,(A3) ; [326] IS RETURNED SPACE BELOW THIS ENTRY?
JRST GET2B ; [326] YES, OK SO FAR
HLRZ A0,A3 ; [326] NO, CHECK IF COMPLETELY ABOVE ENTRY
ADDI A0,-1(A3) ; [326] GET END ADDR. OF HEAP ENTRY
CAMG A1,A0 ; [326] IS RETURNED SPACE ABOVE THIS ENTRY?
PUSHJ SP,GETERR ; [326] NO, SPACE IS BEING RETURNED TWICE
GET2B: AOBJN A2,GET2A ; [326] LOOP UNTIL DONE WITH HEAP TABLE
SKIPE A2,(A2) ; [326] ANY MORE HEAL TABLES TO USE?
JRST GET2A ; [326] YES, KEEP WORKING
MOVE A2,%SYS2(DB) ; [326] NO, RESTORE HEAP TABLE PTR.
> ; [326] END IFN FTGETCHK
HLRZ A0,(A1) ; [326] A0 IS LENGTH OF RETURNED PIECE
ADDI A0,(A1) ; [326] NOW TOP ADDRESS + 1
; [326] MOVEI A1,-1(A1) ; GET ADDRESS OF BOTTOM OF PIECE
REP 24/96 ;05C8
;[251] IS NOT, THEN SOME PARTS OF EACH TABLE ENTRY OVERLAP AND THE TABLE IS BAD.
WIT
;[251] IS NOT, THEN SOME PART OF EACH TABLE ENTRY OVERLAP AND THE TABLE IS BAD.
REP 32/96 ;05C9
GET001: SKIPN A4,(A2) ;[251] GET REFERENCE ENTRY'S LOW ADDRESS LIMIT
JRST GET003 ;[251] NULL ENTRY, SKIP IT
TLZ A4,-1 ;[251] CLEAR LENGTH OUT OF LEFT HALF
SKIPN A5,(A3) ;[251] GET NEXT HEAP COMPARISON ENTRY
WIT
SKIPN A4,(A2) ;[326] [251] GET REF. ENTRY'S LOW ADDR. LIMIT
JRST GET003 ;[251] NULL ENTRY, SKIP IT
HLRZ A5,(A4) ;[326] GET LENGTH OF HEAP AREA FROM MEMORY
MOVSS A4 ;[326] GET LENGTH FROM HEAP TABLE
SKIPN A5 ;[326] LENGTH=0?
PUSHJ SP,GETERR ;[326] YES, BAD HEAP
CAIE A5,(A4) ;[326] NO, LENGTHS THE SAME?
PUSHJ SP,GETERR ;[326] NO, HEAP PROBLEMS
HLRZS A4 ;[326] YES, GET ADDR. BACK
HRRZ A5,(A4) ;[326] GET TABLE ADDR. W/O LENGTH
CAIE A5,(A2) ;[326] HEAP & TABLE PTRS. POINT TO EACH OTHER?
PUSHJ SP,GETERR ;[326] NO, HEAP PROBLEMS
GET001: HRRZ A4,(A2) ;[326] YES, GET REF. ENTRY ADDR. BACK
SKIPN A5,(A3) ;[326] [251] YES, GET NEXT HEAP COMPARE ENTRY
REP 45/96 ;05C10
SUB A5,A4 ;[251] DO AREAS OVERLAP AT ALL?
JUMPL A5,GETERR ;[251] YES, HEAP TABLE IS BAD
WIT
SUB A5,A4 ;[316] [251] CALCULATE IF THEY OVERLAP
SKIPGE A5 ;[316] [251] DO THEY OVERLAP?
PUSHJ SP,GETERR ;[316] YES, FATAL ERROR
REP 1/97 ;05C11
GETOWN: MOVE A2,%SYS2(DB) ; GET POINTER TO PUBLIC HEAP-TABLE
PUSHJ SP,GETKNL ; DO THE JOB
IFN FTGETCHK,<
; ***** OPTIONAL HEAP INTEGRITY CHECKER *****
WIT
GETOWN: MOVE A2,%SYS2(DB) ; GET POINTER TO PUBLIC HEAP-TABLE
PUSHJ SP,GETKNL ; DO THE JOB
IFN FTGETCHK,<
REP 11/97 ;05C12
HRRZ A2,%SYS2(DB)
HLRE A3,%SYS2(DB) ; - (LENGTH OF LIST -1)
WIT
HLRE A3,A2 ; [326] - (LENGTH OF LIST -1)
MOVEI A2,(A2) ; [326] CLEAR LENGTH OUT
REP 21/97 ;05C13
JUMPE A0,GETERR ; [263] ERROR IF ENTRY IS ZERO
ADD A2,A0 ; MOVE TO NEXT CHUNK
WIT
SKIPN A0 ; [316] IS ENTRY ZERO?
PUSHJ SP,GETERR ; [316] [263] YES, FATAL ERROR
ADD A2,A0 ; [316] NO, MOVE TO NEXT CHUNK
REP 26/97 ;05C14
JRST GETERR ; NO
WIT
PUSHJ SP,GETERR ; [316] NO
REP 36/97 ;05C15
JRST GETERR ; [263] NO, ERROR
WIT
PUSHJ SP,GETERR ; [316] [263] NO, ERROR
REP 41/97 ;05C16
JRST GETERR ; NOPE
JRST GETX3 ; YES - OK
GETX9: > ; END OF FTGETCHK
WIT
PUSHJ SP,GETERR ; [316] NOPE
JRST GETX3 ; YES - OK
GETX9:
> ; END OF FTGETCHK
REP 50/97 ;05C17
?ALGCEH CONSISTENCY ERROR IN HEAP HANDLER/] ;[251]
WIT
?ALGCEH CONSISTENCY ERROR IN HEAP HANDLER
/] ; [316] [251]
REP 6/107 ;05C18
INCHAR:
TLNE DB,INDDT ; IF DDT
JRST DDTIN% ; LET HIM DO IT.
PUSHJ SP,INBYTE ; GET NEXT BYTE
IOERR 6,(A13) ; END OF FILE - A13 = CHAN #
JRST CNC.AX
;
EDIT(145) ; Make EOF a terminator.
;
INCHR0: TLNE DB,INDDT ; [E145] If in DDT
JRST DDTIN% ; [E145] .. then let him do it.
PUSHJ SP,INBYTE ; [E145] Get next byte
EDIT (175); IF TRAPPING FOR EOF, USE TRAP
SKIPA ; EOF, CHECK TO SEE IF WE ARE TRAPPING IT
JRST CNC.AX ; [E145]
PUSH SP,A13 ;[175] SAVE THE CHANNEL NUMBER
MOVEI A13,^D38 ;[175] CHECK TO SEE IF WE ARE TRAPPING EOF
ADDI A13,(DB) ;[175] RELOCATE THE TRAP NUMBER IN THE D.B.
HRRZ A13,%TRAPS(A13) ;[175] GET ADDRESS OF TRAP BLOCK, OR ZERO
SKIPN A13 ;[175] SKIP IF A TRAP IS SET HERE
JRST INCHR1 ;[175] NONE SET, GIVE A LF
POP SP,A13 ;[175] TRAP SET, RESTORE CHANNEL NUMBER
IOERR 6,(A13) ;[175] AND GIVE THE ERROR
JRST CNC.AX ;[175] AND RETURN
INCHR1: POP SP,A13 ;[175] NO TRAP SET, RETURN LF LIKE EDIT 145
MOVEI A13,LF ;[175] AFTER POPPING THE STACK
JRST CNC.AX ;[175] RETURN WITH FREE LF
WIT
INCHAR: TLNE DB,INDDT ; IF DDT
JRST DDTIN% ; LET HIM DO IT.
PUSHJ SP,INBYTE ; GET NEXT BYTE
IOERR 6,(A13) ; END OF FILE - A13 = CHAN #
JRST CNC.AX
; EDIT(145) ; Make EOF a terminator.
INCHR0: TLNE DB,INDDT ; [323] [E145] IF IN ALGDDT
JRST DDTIN% ; [323] [E145] THEN LET IT DO INPUT ITSELF
PUSHJ SP,INBYTE ; [323] [E145] ELSE READ NEXT BYTE
TRNA ; [323] EOF, SKIP AND CHECK STATUS
JRST CNC.AX ; [323] NORMAL RETURN
HLRZ A10,%CHAN(DB) ; [323] GET CHANNEL NUMBER
ADDI A10,%IOSTS(DB) ; [323] RELOCATE IT
SKIPGE A11,(A10) ; [323] HAVE WE ALREADY GIVEN AN EOF <LF>?
IOERR 6,(A13) ; [323] YES, GIVE TRAP/FATAL ERROR THIS TIME
TLO A11,(LFEOF) ; [323] NO, SAY THAT THIS IS FIRST EOF FOUND
MOVEM A11,(A10) ; [323] REMEMBER FOR NEXT TIME THROUGH
MOVEI A13,LF ; [323] LOAD A <LF>
JRST CNC.AX ; [323] RETURN WITH FREE <LF>
INS 1/108 ;05C19
REP 33/117 ;05C20
JOV [
TLO A2,INTOVL ; OVERFLOWED - SET FLAG
MOVE A0,[
^D24359738368] ; AND LOAD 2^35 - 10^10
JRST PRIN7]
WIT
JOV [TLO A2,INTOVL ; [327] OVERFLOWED - SET FLAG
MOVE A0,[^D24359738368] ; [327] AND LOAD 2^35 - 10^10
JRST PRIN7] ; [327]
REP 20/118 ;05C21
JOV [
MOVSI A0,244400 ; OVERFLOW - FORM 2.0^35
JRST PRIN18]
PRIN15: CAML A0,[
^D100000000] ; 9 OR MORE DIGITS?
WIT
JOV [MOVSI A0,244400 ; [327] OVERFLOW - FORM 2.0^35
JRST PRIN18] ; [327]
PRIN15: CAML A0,[^D100000000] ; [327] 9 OR MORE DIGITS?
REP 3/119 ;05C22
FADRI A0,000000 ; ENSURE STANDARDIZED
JFOV [
MOVEI A0,0 ; BAD NUMBER - ZERO IT
JRST PRIN22]
WIT
FADRI A0,0 ; [327] INSURE STANDARDIZED
JFOV [MOVEI A0,0 ; [327] BAD NUMBER - ZERO IT
JRST PRIN22] ; [327] AND CONTINUE
REP 18/119 ;05C23
CAMGE A0,[
XWD 002663,437347] ; VERY SMALL NUMBER?
WIT
CAMGE A0,[2663,,437347] ; [327] VERY SMALL NUMBER?
REP 3/120 ;05C24
LDB A7,[
POINT 9,A0,8] ; EXTRACT EXPONENT
TLZ A0,377000 ; AND CLEAR IT OUT
ASH A0,-170(A7) ; AND CONVERT TO FRACTIONAL FORM
JOV [
MOVE A0,[
XWD 031463,146315]
AOJA A13,PRIN36] ; CORRECT IF OVERFLOWED
WIT
LDB A7,[POINT 9,A0,8] ; [327] EXTRACT EXPONENT
TLZ A0,377000 ; AND CLEAR IT OUT
ASH A0,-170(A7) ; [327] CONVERT TO FRACTIONAL FORM
JOV [MOVE A0,[31463,,146315] ; [327]
AOJA A13,PRIN36] ; [327] CORRECT IF OVERFLOWED
REP 24/122 ;05C25
JOV [LRLOAD A0,A01TMP(DB) ; [231] RECOVER A0 AND A1 AFTER OVERFLOW
LRLOAD A5,A56TMP(DB) ; [231] RECOVER OLD A5 AND A6
MOVE A13,A13TMP(DB) ; [231] RECOVER OLD A13
SUB A13,[1,,1] ; [231] CORRECT IT
JRST JBS231] ; [231] GO BACK TO BEFORE ERROR HAPPENS
WIT
JOV [LRLOAD A0,A01TMP(DB) ; [231] RESTORE A0, A1 AFTER OVERFLOW
LRLOAD A5,A56TMP(DB) ; [231] RESTORE A5, A6
MOVE A13,A13TMP(DB) ; [231] RESTORE A13
SUB A13,[1,,1] ; [231] MODIFY SO IT'LL WORK THIS TIME
JRST JBS231] ; [231] TRY AGAIN
REP 49/132 ;05C26
TLOA A1,INEOF ; [E131] FLAG (INEOF OR
TLO A1,OUTEOF ; [E131] OUTEOF) IF NO BYTES
WIT
JRST [TLO A1,INEOF ; [323] SET INPUT EOF
SETZM %IOSTS(A2) ; [323] FIRST TIME WE FOUND EOF
JRST INOU17] ; [323]
TLO A1,OUTEOF ; [323] SET OUTPUT EOF
INS 21/134 ;05C27
SETZM %IOSTS(A1) ; [323] CLEAR EXTRA EOF FLAG
REP 11/136 ;05C28
MOVEM A4,.JBFF ; AND SET UP JOBFF
WIT
MOVEM A4,.JBFF ; AND SET UP JBFF
REP 32/136 ;05C29
MOVEM A0,(A4) ; STORE DEVICE NAME
SETOM .JBFF ; FIX JOBFF
WIT
SETZM %IOSTS(A1) ; [323] CLEAR EXTRA EOF FLAG
MOVEM A0,(A4) ; STORE DEVICE NAME
SETOM .JBFF ; FIX JBFF
INS 29/137 ;05C30
SETZM %IOSTS(A4) ; [323] AND EXTRA EOF FLAG
INS 42/139 ;05C31
SETZM %IOSTS(A10) ; [323] CLEAR EXTRA EOF FLAG
INS 28/140 ;05C32
SETZM %IOSTS(A4) ; [323] CLEAR EXTRA EOF FLAG
INS 34/146 ;05C33
SETZM %IOSTS(A1) ; [323] CLEAR EXTRA EOF FLAG
INS 170/148 ;05C34
TLNE A6,-1 ; [330] REAL POINTERS HAVE ZERO LEFT HALVES
AOJA A7,PRFPR1 ; [330] THIS ISN'T A REAL POINTER, LOOP
INS 6/150 ;05C35
MOVE A0,.JBTPC ; [311] GET PC OF ERROR
MOVEM A0,PDLTMP(DB) ; [311] SAVE IN CASE OF PDL TRAP NOW
DEL 11/150 ;05C36
PUSHJ SP,BRKBYT ; [274] THIS PROGRAM IS FAILING - BREAKOUTPUT
JFCL ; [274] IGNORE ERROR RETURN FROM BRKBYT
DEL 2/154 ;05C37
REP 36/158 ;05C38
M4: XWD ERR2PT+ERRDEV+40+<M400A-M400>_6,M400
WIT
M4: XWD ERR2PT+ERRDEV+40+<M400A-M400>_6,M400 ; [316] IOERR
REP 49/158 ;05C39
IFN FTOVRL,<
XWD 55,M415>
WIT
IFN FTOVRL,<55,,M415> ; [324]
IFE FTOVRL,<0> ; [324]
XWD 56,M416 ; [324]
REP 59/158 ;05C40
M6:
M000: ASCIZ /FATAL /
M001: ASCIZ /Run-time error at address /
WIT
XWD 70,M510 ; [336]
M6:
M000: ASCIZ /FATAL /
M001: ASCIZ /Run-time error at address /
DEL 12/166 ;05C41
REP 8/167 ;05C42
IFN FTOVRL,<
M415: ASCIZ /Attempt to use overlay handler's />
M500: ASCIZ /Undefine operation (SQRT argument negative)/
WIT
IFN FTOVRL,< ; [324]
M415: ASCIZ /Attempt to use overlay handler's/> ; [324] END IFN FTOVRL
IFE FTOVRL,<0> ; [324] KEEP TABLE ORDER IF FTOVRL IS OFF
M416: ASCIZ /Invalid file specification/ ; [324]
M500: ASCIZ /Undefined operation (SQRT argument negative)/ ; [325]
INS 10/168 ;05C43
M510: ASCIZ /Illegal INFO parameter value/ ; [336]
REP 23/169 ;05C44
;[211]APRERR: MOVEM A1,%SYS17(DB) ; SAVE A1
MOVE A1,.JBTPC ; AND GET PC DUMP
TLZN A1,PCFPU ; FLOATING POINT UNDERFLOW?
JRST APR6 ; NO
TLZ A1,PCOVL ; YES - CLEAR OVERFLOW FLAGS
MOVEM A1,.JBTPC
WIT
JFOVO .+1 ; [327] CLEAR BOTH OVERFLOW FLAGS
MOVE A1,.JBTPC ; AND GET PC DUMP
TLZ A1,(1B0!1B3!1B11!1B12) ;[311] TURN OFF MATH ERROR BITS
EXCH A1,.JBTPC ; [311] SAVE MODIFIED .JBTPC AND GET OLD ONE
TLZN A1,PCFPU ; FLOATING POINT UNDERFLOW?
JRST APR6 ; NO
REP 12/172 ;05C45
JRSTF @.JBTPC ; AND RE-ENTER PROGRAM
SUBTTL Debuggiing system - object code dump routine.
WIT
SKIPN PDLTMP(DB) ; [311] APR TRAP WHILE HANDLING ANOTHER ERROR?
JRSTF @.JBTPC ; [311] NO, CONTINUE PROGRAM NORMALLY
HRRZ A1,PDLTMP(DB) ; [311] YES, GET SAVED 0,,.JBTPC BACK
EXCH A1,.JBTPC ; [311] RESTORE IT AND GET OUR RETURN PC
HRRZM A1,APRTMP(DB) ; [311] PUT IT IN A TEMP. LOCATION
MOVE A1,%SYS17(DB) ; [311] RESTORE A1
JRSTF @APRTMP(DB) ; [311] AND CONTINUE WHAT WE WERE DOING
SUBTTL Debugging system - object code dump routine.
REP 24/176 ;05C46
SILR: ;[172]
JUMPG DB,SILR1 ;[172] SKIP KA CODE IF NOT A KA PROCESSOR
WIT
SILR: JUMPL DB,SILR1 ; [313] [172] JUMP IF KI/KL
SUM 53283