現在地

R(egister) コマンド

レジスタの値を設定・表示します。

  1. R
  2. R <reg>

1.の形式ではすべてのレジスタの内容を一括表示します。

2.の形式では<reg>で指定されたレジスタの内容を表示し、入力モードに移行します。16進で値を入力するとそれが指定されたレジスタに設定されます。空行を入力するとレジスタは変更されません。

当然モニタ実行中のレジスタを設定・表示しても意味は無いので、Gコマンド実行時に実際のレジスタに設定されます。

ブレーク命令を実行するとその時のレジスタの値が一括表示され、モニタのコマンド待ちになります。これはブレークポイントとして使用できます。

  1. ブレークしたい箇所の命令をブレーク命令に置き換えます。元の値はメモしておきます。
  2. プログラムを実行します。
  3. ブレークポイントに達するとモニタに制御が戻り、レジスタの内容が一括表示されます。
  4. 必要に応じてD, Sコマンドでメモリ内容を確認・変更できます。
  5. 実行を再開するときは置き換えたブレーク命令を元に戻し、Gコマンドを実行します。

対応状況:

UniMon Ident 対応 備考
6800 対応レジスタ:A, B, X, SP, PC, CCR
ブレーク命令:SWI($3F)
6809 MC6809 対応レジスタ:A, B, X, Y, U, S, PC, DP, CC
ブレーク命令:SWI($3F)
HD6309 対応レジスタ:MC6809に加え E, F, V
ブレーク命令:SWI($3F)
8080 対応レジスタ:A, BC, DE, HL, F, SP, PC
ブレーク命令: RST 7(0FFH)
AVR -
Z80 対応レジスタ:A, BC, DE, HL, F, IX, IY, SP, PC, I, R(裏レジスタ含む)
ブレーク命令: RST 38H(0FFH)
Z8 -
6502 対応レジスタ:A, X, Y, SP, PC, PSR
ブレーク命令:BRK($00)
TLCS90 対応レジスタ:A, BC, DE, HL, F, IX, IY, SP, PC(裏レジスタ含む)
ブレーク命令:SWI(0FFH)
SCMP -
MN1610 対応レジスタ:R0~R4, SP, STR, IC
ブレーク命令:BAL (255), 未定義命令(MN1613)
TMS9900 -
8086 対応レジスタ:AX, BX, CX, DX, F, SP, BP, SI, DI, CS, DS, SS, ES, IP
ブレーク命令:INT 03H(0CCH)
8051 -
F8 -
Z8000 対応レジスタ:R0-R15,FCW,PC,SSP
ブレーク命令:SC #0FFH(7FFFH)
68000 MC68000 対応レジスタ:D0-D7,A0-A7,SR,PC,SSP
ブレーク命令:$4AFC,$4848-$484F
MC68010 対応レジスタ:MC68000に加えVBR,SFC,DFC
ブレーク命令:$4AFC,$4848-$484F
SuperH -
H8/300 -
COSMAC -
INS8070 対応レジスタ:E, A, T, PC, SP, P2, P3, S
ブレーク命令:CALL 15(0x1F)
uCOM-87 対応レジスタ:EA, V, A, BC, DE, HL, SP, PC, PSW(裏レジスタ含む)
ブレーク命令:SOFTI(72H)