変数名の整理
[YACASL2.git] / src / dump.c
index 09fe4dd..60ca21d 100644 (file)
@@ -1,4 +1,5 @@
 #include "casl2.h"
+#include "exec.h"
 
 /* COMET IIのメモリを表示 */
 void dumpmemory()
@@ -6,15 +7,15 @@ void dumpmemory()
     const int col = 16;
     int i;
     /* Header */
-    fprintf(stdout, "#%04X: adr :", PR);
-    for(i = 0; i < col; i++) {
+    fprintf(stdout, "#%04X: adr :", cpu->pr);
+    for(i = 0; i < memsize && i < col; i++) {
         fprintf(stdout, " %04X", i);
     }
     fprintf(stdout, "\n");
     /* Memory */
     for(i = 0; i < memsize; i++) {
         if(i % col == 0) {
-            fprintf(stdout, "#%04X: %04X: ", PR, i);
+            fprintf(stdout, "#%04X: %04X: ", cpu->pr, i);
         }
         fprintf(stdout, "%04X", memory[i]);
         if(i > 0 && (i + 1) % col == 0) {
@@ -29,16 +30,14 @@ void dumpmemory()
 void dspregister()
 {
     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]));
-        }
+    for(i = 0; i < GRSIZE; i++ ) {
+        fprintf(stdout, "#%04X: GR%d: ", cpu->pr, i);
+        print_dumpword(cpu->gr[i], (&execmode)->logical);
     }
-    fprintf(stdout, "#%04X: SP:  %6d = #%04X = %s\n", PR, SP, SP, word2bit(SP));
-    fprintf(stdout, "#%04X: PR:  %6d = #%04X = %s\n", PR, PR, PR, word2bit(PR));
-    fprintf(stdout, "#%04X: FR (OF SF ZF): %s\n", PR, (word2bit(FR)+13));
+    fprintf(stdout, "#%04X: SP:  %6d = #%04X = %s\n",
+            cpu->pr, cpu->sp, cpu->sp, word2bit(cpu->sp));
+    fprintf(stdout, "#%04X: PR:  %6d = #%04X = %s\n",
+            cpu->pr, cpu->pr, cpu->pr, word2bit(cpu->pr));
+    fprintf(stdout, "#%04X: FR (OF SF ZF): %s\n",
+            cpu->pr, (word2bit(cpu->fr)+13));
 }