dumpwordコマンド実行時やレジスタの内容を表示するときに、対応する文字を表示するよう仕様変更
[YACASL2.git] / src / dump.c
1 #include "casl2.h"
2 #include "exec.h"
3
4 /* COMET IIのメモリを表示 */
5 void dumpmemory()
6 {
7     const int col = 16;
8     int i;
9     /* Header */
10     fprintf(stdout, "#%04X: adr :", PR);
11     for(i = 0; i < col; i++) {
12         fprintf(stdout, " %04X", i);
13     }
14     fprintf(stdout, "\n");
15     /* Memory */
16     for(i = 0; i < memsize; i++) {
17         if(i % col == 0) {
18             fprintf(stdout, "#%04X: %04X: ", PR, i);
19         }
20         fprintf(stdout, "%04X", memory[i]);
21         if(i > 0 && (i + 1) % col == 0) {
22             fprintf(stdout, "\n");
23         } else {
24             fprintf(stdout, " ");
25         }
26     }
27 }
28
29 /* COMET IIのレジスタを表示 */
30 void dspregister()
31 {
32     int i;
33     for(i = 0; i < REGSIZE; i++ ) {
34         fprintf(stdout, "#%04X: GR%d: ", PR, i);
35         print_dumpword(GR[i], (&execmode)->logicalmode);
36     }
37     fprintf(stdout, "#%04X: SP:  %6d = #%04X = %s\n", PR, SP, SP, word2bit(SP));
38     fprintf(stdout, "#%04X: PR:  %6d = #%04X = %s\n", PR, PR, PR, word2bit(PR));
39     fprintf(stdout, "#%04X: FR (OF SF ZF): %s\n", PR, (word2bit(FR)+13));
40 }