Annotation of nono/hd64180/hd64180disasm.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 "disasm.h"
                     14: #include "hd64180.h"
                     15: 
                     16: class hd64180disasm final : public  DisasmLine
                     17: {
                     18:        using inherited = DisasmLine;
                     19: 
                     20:  public:
                     21:        hd64180disasm();
                     22:        ~hd64180disasm() override;
                     23: 
                     24:        // 逆アセンブルを実行
                     25:        bool Exec(DebuggerMemoryStream *mem_) override;
                     26: 
                     27:  private:
                     28:        uint8 fetch8();
                     29:        uint16 fetch16();
                     30: 
                     31:        uint16 ppc {};
                     32:        ixiy_t ixiy {};
                     33:        uint32 ixd {};          // (IX+d)/(IY+d)
                     34:        uint8 op {};            // 直近の命令ワード
                     35: 
                     36:        std::string name {};
                     37:        std::string arg1 {};
                     38:        std::string arg2 {};
                     39: 
                     40:        std::string HL();
                     41:        std::string HLin();
                     42:        std::string IXin();
                     43:        std::string ww();
                     44:        std::string wwin();
                     45:        std::string zz();
                     46:        std::string rrr();
                     47:        std::string sss();
                     48:        std::string rrrsss(uint);
                     49:        std::string fff() const;
                     50:        std::string bbb() const;
                     51:        std::string imm8();
                     52:        std::string imm16();
                     53:        std::string disp8();
                     54: 
                     55:        void ops_ddfd(ixiy_t);
                     56: 
                     57: #define OP_PROTO(name) void __CONCAT(op_,name)()
                     58: #include "hd64180ops.h"
                     59:        OP_PROTO(00);
                     60:        OP_PROTO(illegal);
                     61:        OP_PROTO(undef);
                     62: #undef OP_PROTO
                     63: };

unix.superglobalmegacorp.com

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