--- nono/debugger/debugger_private.h 2026/04/29 17:05:28 1.1.1.13 +++ nono/debugger/debugger_private.h 2026/04/29 17:05:59 1.1.1.15 @@ -45,6 +45,12 @@ class DebuggerMD // 現在の命令先頭アドレスを返す virtual uint32 GetPC() const = 0; + // 現在の命令の直後の命令アドレスを返す。 + virtual uint32 GetNextPC(); + + // 最後に発生したベクタを取得し、リセットする + virtual int32 GetAndResetLastVector() = 0; + // ステップアウトを設定する virtual void SetStepOut() = 0; // ステップアウトなら true を返す @@ -77,6 +83,12 @@ class DebuggerMD // mem.laddr の位置の命令を一つ逆アセンブルする。 virtual std::string Disassemble(DebuggerMemoryStream& mem) = 0; + // ニーモニックに対応する機械語文字列を返す。(cmd_bi 用) + virtual std::string ParseInst(const std::string&) const = 0; + + // 例外フレームを表示する。 + virtual void PrintExceptionFrame(FILE *, busaddr); + // 機種名を取得する const std::string& GetName() const { return name; } @@ -92,12 +104,6 @@ class DebuggerMD // 最短の1命令のバイト数 uint inst_bytes {}; - // 命令が固定長ならそのバイト数、可変長なら 0 - uint inst_bytes_fixed {}; - - // 例外ブレーク。 - // 機種固有ではないが main と xp でそれぞれに必要なので、ここに持っておく。 - int bv_vector {}; protected: Debugger *parent {}; // 親クラス