11 fprintf(stdout,
"#%04X: adr :",
sys->cpu->pr);
12 if(end >
sys->memsize) {
15 for(
int i = 0; i <
sys->memsize && i < col; i++) {
16 fprintf(stdout,
" %04X", i);
18 fprintf(stdout,
"\n");
19 fprintf(stdout,
" -------------------------------------------------------------------------------------\n");
21 for(
int i = start; i < end; i++) {
23 if(mod == 0 || i == start) {
24 fprintf(stdout,
"#%04X: %04X: ",
sys->cpu->pr, i);
27 for(
int j = 0; j < mod; j++) {
31 fprintf(stdout,
"%04X",
sys->memory[i]);
32 if((i > 0 && (i + 1) % col == 0) || (i + 1) == end) {
33 fprintf(stdout,
"\n");
48 for(
int i = 0; i <
GRSIZE; i++ ) {
49 fprintf(stdout,
"#%04X: GR%d: ",
sys->cpu->pr, i);
51 fprintf(stdout,
"\n");
53 fprintf(stdout,
"#%04X: SP: %6d = #%04X = %s\n",
sys->cpu->pr,
sys->cpu->sp,
sys->cpu->sp, sp);
54 fprintf(stdout,
"#%04X: PR: %6d = #%04X = %s\n",
sys->cpu->pr,
sys->cpu->pr,
sys->cpu->pr, pr);
55 fprintf(stdout,
"#%04X: FR (OF SF ZF): %s\n",
sys->cpu->pr, fr + L3BIT);
68 fprintf(stdout,
"#%04X: Register::::\n",
sys->cpu->pr);
72 fprintf(stdout,
"#%04X: Memory::::\n",
sys->cpu->pr);
76 fprintf(stdout,
"#%04X: Disassemble::::",
sys->cpu->pr);
79 fprintf(stdout,
"\n");
#define FREE(ptr)
メモリを解放するマクロ
void disassemble_memory(WORD *memory, WORD start, WORD end)
メモリーを逆アセンブルし、標準出力へ出力する
void dumpmemory(WORD start, WORD end)
COMET IIのメモリを表示する
void dspregister()
COMET IIのレジスタを表示する
void dsp_trace_dump()
COMET IIのレジスタとメモリを実行状況と設定に応じて表示する
WORD code2cmdwordlen(WORD code)
SYSTEM * sys
COMET IIの仮想実行マシンシステム
EXECMODE execmode
実行モード: trace, logical, dump, reverse, monitor, step
char * word2bit(const WORD word)
WORD値を2進数の文字列に変換する
unsigned short WORD
16ビットの数値を表すデータ型
void print_dumpword(WORD word, bool logicalmode)
WORD値を解析して表示する