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

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:
                     21:        DebuggerMD_hd64180(Debugger *parent_);
                     22:        ~DebuggerMD_hd64180() override;
                     23: 
                     24:        CPUState GetCPUState() const override;
                     25:        bool IsSuper() const override           { return true; }        // ?
                     26:        bool MMUEnabled() const override        { return true; }
                     27: 
                     28:        uint64 TranslateAddr(saddr_t laddr, bool lookup) const override;
                     29:        uint32 GetPC() const override { return cpu->reg.pc; }
                     30: 
                     31:        void SetStepOut() override;
                     32:        bool IsStepOut() const override;
                     33:        bool IsOpStepIn(DebuggerMemoryStream& mem) override;
                     34: 
                     35:        uint64 GetRegAddr(const char *name) const override;
                     36:        void BackupRegs() override;
                     37:        bool ShowRegister(FILE *, const std::vector<std::string>& args) override;
                     38:        const HelpMessages& GetHelpListReg() const override;
                     39:        const HelpMessages& GetHelpReg() const override;
                     40: 
                     41:        bool CheckLEA(uint32 laddr) override { return false; }
                     42: 
                     43:        std::string Disassemble(DebuggerMemoryStream& mem) override;
                     44: 
                     45:  private:
                     46:        std::string FlagStr(const hd64180flag& f);
                     47:        bool ShowRegMain(FILE *);
                     48:        bool ShowRegOther(FILE *);
                     49:        const char *CondStr(const std::vector<uint8>&) const;
                     50: 
                     51:        MPU64180Device *cpu {};
                     52:        hd64180reg prev {};                     // 前回のレジスタセットのコピー
                     53:        uint8 prev_i {};
                     54: 
                     55:        uint16 so_sp {};                // ステップアウト判定用
                     56: 
                     57:        static const HelpMessages HelpListReg;
                     58:        static const HelpMessages HelpReg;
                     59: };

unix.superglobalmegacorp.com

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