mirror of
https://github.com/PDP-10/its.git
synced 2026-02-13 19:44:00 +00:00
Add $^N to RUG.
$^N sets a temporary breakpoint at the next instruction and proceeds. When the breakpoint is hit, it's removed. The standard breakpoint table is used.
This commit is contained in:
@@ -971,7 +971,10 @@ PP=.-2
|
||||
JMP PR1
|
||||
;B HANDLER - SET AND REMOVE BREAKPOINTS
|
||||
|
||||
O.BKPT: MOV #-1,A
|
||||
O.BKPT: JSR PC,BKPT
|
||||
JMP O.DCD ;RETURN
|
||||
|
||||
BKPT: MOV #-1,A
|
||||
TST D
|
||||
BEQ O.ERR1 ;FOR NOW THAT COMMAND IS MEANINGLESS
|
||||
ASR F ;GET ONE BIT TO CARRY
|
||||
@@ -992,7 +995,7 @@ O.SET1: MOV F,-(E) ;SET BREAKPOINT
|
||||
BEQ O.DCDB
|
||||
MOVB #'I,O.BPM+1-O.ADR1(E) ;SET MAP TO I SPACE
|
||||
.ENDC
|
||||
O.DCDB: JMP O.DCD ;RETURN
|
||||
O.DCDB: RTS PC
|
||||
|
||||
;$$B HANDLER DELETE BKPT AT 1500 BY 1500$$B, $$B REMOVES ALL
|
||||
DELT: CLR D
|
||||
@@ -1017,6 +1020,17 @@ DELDON: RTS PC
|
||||
DELTB: JSR PC,DELT1
|
||||
BR O.DCDB
|
||||
O.ERR1: JMP O.ERR
|
||||
; SINGLE STEP USING TEMPORARY BREAKPOINT
|
||||
O.NEXT: MOV UPC,F
|
||||
ADD LENGTH,F ;COMPUTE ADDRESS
|
||||
TST (F)+ ; FOR NEXT INSTRUCTION
|
||||
MOV F,NEXT
|
||||
MOV #1,D
|
||||
JSR PC,BKPT ;SET TEMPORARY BREAKPOINT AT F
|
||||
CLR D
|
||||
JMP O.PROC ;PROCEED
|
||||
|
||||
NEXT: 0 ;SAVED ADDRESS
|
||||
|
||||
; SEARCHES - $MSK HAS THE MASK
|
||||
; $MSK+2 HAS THE FWA
|
||||
@@ -1372,10 +1386,22 @@ O.B2:
|
||||
|
||||
MOV F,UPC ;WANT DECREMENTED PC
|
||||
MOVB E,O.P ;ALLOW PROCEED
|
||||
CMP F,NEXT
|
||||
BEQ O.B6 ;TEMPORARY $^N BREAKPOINT
|
||||
DEC O.CT(E)
|
||||
BLE O.B5
|
||||
JMP PR0
|
||||
|
||||
O.B6: MOV #1,D ;REMOVE TEMPORARY BREAKPOINT
|
||||
JSR PC,DELT1
|
||||
JSR PC,CRLF
|
||||
JSR 5,TYPE
|
||||
.ASCIZ /SN;/
|
||||
.EVEN
|
||||
MOV NEXT,A
|
||||
CLR NEXT
|
||||
BR O.B3
|
||||
|
||||
O.B5: MOV #1,O.CT(E) ;RESET COUNT TO 1
|
||||
MOVB E,A
|
||||
ADD #140,A
|
||||
@@ -1386,10 +1412,10 @@ O.B5: MOV #1,O.CT(E) ;RESET COUNT TO 1
|
||||
BPTNM==.+1
|
||||
.ASCIZ /B ;/
|
||||
.EVEN
|
||||
MOV #1,BYTWRD ;SET WORD MODE
|
||||
MOVB O.P,E
|
||||
MOV O.ADR1(E),A ;GET ADDRESS OF BREAK
|
||||
O.B3: MOV A,CURADR
|
||||
O.B3: MOV #1,BYTWRD ;SET WORD MODE
|
||||
MOV A,CURADR
|
||||
JSR PC,GETWRD
|
||||
MOV CURADR,A ;ARG FOR SYMBOL IN A
|
||||
JSR 5,SYMBOL ;LOOK UP SYMBOL, TYPE IT AND ANY OFFSET
|
||||
@@ -4060,6 +4086,7 @@ O.LGDR:
|
||||
O.EFF ; E SEARCH EFFECTIVE ADDRESS
|
||||
O.BKPT ; B BREAKPOINTS
|
||||
O.PROC ; P PROCEED
|
||||
O.NEXT ; $^N NEXT
|
||||
SETCMD
|
||||
SETSMD
|
||||
SETIMD
|
||||
@@ -4129,6 +4156,7 @@ ALT: .BYTE 'G ; G
|
||||
.BYTE 'E ; E
|
||||
.BYTE 'B ; B
|
||||
.BYTE 'P ; P
|
||||
.BYTE 16 ; ^N
|
||||
.BYTE 'C
|
||||
.BYTE 'S
|
||||
.BYTE 'I
|
||||
|
||||
Reference in New Issue
Block a user