Annotation of nono/m88xx0/m88100disasm.h, revision 1.1.1.3

1.1       root        1: //
                      2: // nono
1.1.1.2   root        3: // Copyright (C) 2020 nono project
                      4: // Licensed under nono-license.txt
1.1       root        5: //
                      6: 
                      7: #pragma once
                      8: 
                      9: #include "disasm.h"
                     10: #include "m88100.h"
                     11: 
                     12: class m88100disasm : public Disasm
                     13: {
1.1.1.2   root       14:        using inherited = Disasm;
1.1       root       15:  public:
1.1.1.3 ! root       16:        m88100disasm(DebuggerMD *md);
1.1.1.2   root       17:        ~m88100disasm() override;
1.1       root       18: 
1.1.1.2   root       19:        bool Exec(saddr_t laddr) override;
1.1       root       20: 
                     21:  private:
1.1.1.3 ! root       22:        bool opt_alias {};              // いくつかの命令を別名にディスアセンブルする
1.1.1.2   root       23: 
1.1.1.3 ! root       24:        uint32 peek(const saddr_t& laddr);
1.1       root       25: 
1.1.1.3 ! root       26:        uint32 xip {};
1.1       root       27: 
1.1.1.3 ! root       28:        uint32 opX  {};
1.1       root       29:        std::string name {};
                     30:        std::string arg0 {};
                     31:        std::string arg1 {};
                     32:        std::string arg2 {};
                     33: 
                     34:        std::string rd();
                     35:        std::string rs1();
                     36:        std::string rs2();
                     37:        std::string imm16();
                     38:        std::string d16();
                     39:        std::string crs();
                     40:        std::string fcrs();
                     41:        std::string fsize(uint32 t);
                     42:        std::string fsize();
                     43:        std::string wo5();
                     44:        std::string cio();
                     45:        std::string b5();
                     46:        std::string m5();
                     47:        std::string vec9();
                     48: 
                     49:        void ops_bb(std::string namebase);
                     50:        void ops_bcnd(std::string namebase);
                     51:        void ops_tb(std::string namebase);
                     52:        void ops_ldst_reg(std::string namebase);
                     53: 
                     54:        void op_unimpl();
                     55: 
                     56: #define OP_PROTO(name) void __CONCAT(op_,name)()
                     57: #include "m88100ops.h"
                     58: #undef OP_PROTO
                     59: };

unix.superglobalmegacorp.com

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