35 lines
1 KiB
Text
35 lines
1 KiB
Text
.TITLE NUGGET
|
|
.MCALL .TTYOUT,.EXIT
|
|
NUGGET::MOV #^D50,R1
|
|
MOV #NUGBUF,R0
|
|
CLEAR: CLR (R0)+ ; CLEAR BUFFER
|
|
SOB R1,CLEAR
|
|
MARK: MOV #^D100,R5 ; R5 = LIMIT
|
|
CLR R0 ; R0 = 6 STEPPER
|
|
1$: MOV R0,R1 ; R1 = 9 STEPPER
|
|
2$: MOV R1,R2 ; R2 = 20 STEPPER
|
|
3$: INCB NUGBUF(R2) ; MARK
|
|
ADD #^D20,R2 ; 20 STEP
|
|
CMP R2,R5
|
|
BLT 3$
|
|
ADD #^D9,R1 ; 9 STEP
|
|
CMP R1,R5
|
|
BLT 2$
|
|
ADD #^D6,R0 ; 6 STEP
|
|
CMP R0,R5
|
|
BLT 1$
|
|
SCAN: MOV #NUGBUF+^D100,R0
|
|
1$: DEC R5
|
|
MOVB -(R0),R1
|
|
BNE 1$
|
|
DIGIT: MOV #'0-1,R0 ; SPLIT DIGITS
|
|
1$: INC R0
|
|
SUB #^D10,R5
|
|
BCC 1$
|
|
.TTYOUT ; HIGH DIGIT
|
|
MOV R5,R0
|
|
ADD #'0+^D10,R0
|
|
.TTYOUT ; LOW DIGIT
|
|
.EXIT
|
|
NUGBUF: .BLKB ^D100
|
|
.END NUGGET
|