- int i;
- for(i = 0; i < REGSIZE; i++ ) {
- if(logicalmode == true) {
- fprintf(stdout, "#%04X: GR%d: %6d = #%04X = %s\n",
- PR, i, GR[i], GR[i], word2bit(GR[i]));
- } else {
- fprintf(stdout, "#%04X: GR%d: %6d = #%04X = %s\n",
- PR, i, (short)GR[i], GR[i], word2bit(GR[i]));
- }
+ char *sp = word2bit(sys->cpu->sp);
+ char *pr = word2bit(sys->cpu->pr);
+ char *fr = word2bit(sys->cpu->fr);
+ enum {
+ L3BIT = 16 - 3, /* WORD値16ビットのうち、下位3ビットの開始位置 */
+ };
+ for(int i = 0; i < GRSIZE; i++ ) {
+ fprintf(stdout, "#%04X: GR%d: ", sys->cpu->pr, i);
+ print_dumpword(sys->cpu->gr[i], execmode.logical);
+ fprintf(stdout, "\n");