comet2monitorのダンプ時に範囲が指定できるように
authorj8takagi <j8takagi@nifty.com>
Fri, 15 Feb 2019 12:47:55 +0000 (21:47 +0900)
committerj8takagi <j8takagi@nifty.com>
Fri, 15 Feb 2019 12:47:55 +0000 (21:47 +0900)
include/exec.h
src/exec.c

index 7940829..b38e59a 100644 (file)
@@ -23,6 +23,8 @@ typedef struct {
     bool trace;           /**<レジストリの内容をステップごとに表示する場合はtrue */
     bool logical;         /**<レジストリの内容を論理値(0から65535)で表示する場合はtrue */
     bool dump;            /**<メモリの内容をステップごとに表示する場合はtrue */
+    int dump_start;       /**<メモリの内容をステップごとに表示する場合の開始アドレス */
+    int dump_end;         /**<メモリの内容をステップごとに表示する場合の終了アドレス */
     bool monitor;         /**<モニターモードの場合はtrue */
     bool step;            /**<ステップ実行の場合はtrue */
 } EXECMODE;
index f1b2f16..8b5047e 100644 (file)
@@ -94,9 +94,9 @@ static CERR cerr_load[] = {
 };
 
 /**
- * @brief 実行モード: trace, logical, dump, monitor, step
+ * @brief 実行モード: trace, logical, dump, dump_start, dump_end,  monitor, step
  */
-EXECMODE execmode = {false, false, false, false, false};
+EXECMODE execmode = {false, false, false, 0, 0xFFFF, false, false};
 
 char *pr2str(WORD pr)
 {
@@ -783,7 +783,7 @@ void exec()
             }
             if(execmode.dump) {                    /* dumpオプション指定時、メモリを出力 */
                 fprintf(stdout, "#%04X: Memory::::\n", sys->cpu->pr);
-                dumpmemory(0x0, 0xFFFF);
+                dumpmemory(execmode.dump_start, execmode.dump_end);
             }
             fprintf(stdout, "\n");
         }