beautypg.com

RCA RMB-167 User Manual

Page 17

background image

- -

11

; --- !!! ASSUMES 8000h-FFFFh is RAM !!! ---
; org 08000h
cmdbuf equ 08000h
pbuffr equ 08020h
;---------------------------------------------------

org

0

; RESET vector

RSTISR

proc

near

jmp

cc_UC, mon

; branch to monitor

RSTISR

endp

near

org

00008h

; NMI vector

NMISR

proc

near

jmp

cc_UC, mon

; branch to monitor

NMISR

endp

near

; --------------------------------------------------
org 01000h
; --------------------------------------------------
; --- monitor program ---

MON proc

near

mov

SYSCON, #0F800h

; #1111 1000

; 0000 0000 b
nop
mov

SYSCON, #0F800h

; #1111 1000

; 0000 0000 b
nop

; --- initialize CPS -------------------------------
;0xFA 0x00 0x10 0x80 ; jmps far 1000h ;
(jump to next1) ; far intersegment jump to update CPS
;next1:
dw 000FAh
dw 01010h
next1:
; --- initialize DPPx ------------------------------
mov DPP0, #0

.
.

( no changes to the code here )

.
.

; --------------------------------------------------;--- message
strings ---
; --------------------------------------------------
EVEN
msggreet:

db

0ah, 0dh, ’SAB-C167 MONITOR IN EPROM > ’, 0

.
.

.

( no changes to the code here )

As mentioned, the address of register SYSCON is different (89h) in the C167. The instruction
setting the SYSCON register is a move instruction. In machine code, the instruction takes four
bytes: E6h, 89h, 00h, F8h, which may be hand-coded as,