Annotation of nono/debugger/debugger_hd64180.h, revision 1.1.1.5

1.1       root        1: //
                      2: // nono
                      3: // Copyright (C) 2022 nono project
                      4: // Licensed under nono-license.txt
                      5: //
                      6: 
                      7: //
                      8: // デバッガ (HD64180 依存部分)
                      9: //
                     10: 
                     11: #pragma once
                     12: 
                     13: #include "debugger_private.h"
                     14: #include "mpu64180.h"
                     15: #include "hd64180disasm.h"
                     16: 
                     17: class DebuggerMD_hd64180 : public DebuggerMD
                     18: {
                     19:        using inherited = DebuggerMD;
                     20:  public:
1.1.1.3   root       21:        explicit DebuggerMD_hd64180(Debugger *parent_);
1.1       root       22:        ~DebuggerMD_hd64180() override;
                     23: 
                     24:        CPUState GetCPUState() const override;
                     25:        bool IsSuper() const override           { return true; }        // ?
                     26:        bool MMUEnabled() const override        { return true; }
1.1.1.2   root       27:        busaddr TranslateAddr(busaddr laddr) const override;
1.1       root       28:        uint32 GetPC() const override { return cpu->reg.pc; }
1.1.1.5 ! root       29:        int32 GetAndResetLastVector() override {
        !            30:                return cpu->GetAndResetLastVector();
        !            31:        }
1.1       root       32: 
                     33:        void SetStepOut() override;
                     34:        bool IsStepOut() const override;
                     35:        bool IsOpStepIn(DebuggerMemoryStream& mem) override;
                     36: 
                     37:        uint64 GetRegAddr(const char *name) const override;
                     38:        void BackupRegs() override;
                     39:        bool ShowRegister(FILE *, const std::vector<std::string>& args) override;
                     40:        const HelpMessages& GetHelpListReg() const override;
                     41:        const HelpMessages& GetHelpReg() const override;
                     42: 
                     43:        bool CheckLEA(uint32 laddr) override { return false; }
                     44: 
                     45:        std::string Disassemble(DebuggerMemoryStream& mem) override;
1.1.1.4   root       46:        std::string ParseInst(const std::string&) const override;
1.1       root       47: 
                     48:  private:
                     49:        std::string FlagStr(const hd64180flag& f);
                     50:        bool ShowRegMain(FILE *);
                     51:        bool ShowRegOther(FILE *);
                     52:        const char *CondStr(const std::vector<uint8>&) const;
                     53: 
                     54:        MPU64180Device *cpu {};
                     55:        hd64180reg prev {};                     // 前回のレジスタセットのコピー
                     56:        uint8 prev_i {};
                     57: 
                     58:        uint16 so_sp {};                // ステップアウト判定用
                     59: 
                     60:        static const HelpMessages HelpListReg;
                     61:        static const HelpMessages HelpReg;
                     62: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.