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

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: 
1.1.1.4   root       12: class m88100disasm final : public Disasm
1.1       root       13: {
1.1.1.2   root       14:        using inherited = Disasm;
1.1       root       15:  public:
1.1.1.4   root       16:        m88100disasm(DebuggerMemoryStream& mem);
1.1.1.2   root       17:        ~m88100disasm() override;
1.1       root       18: 
1.1.1.4   root       19:        bool Exec() 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 xip {};
1.1       root       25: 
1.1.1.3   root       26:        uint32 opX  {};
1.1       root       27:        std::string name {};
                     28:        std::string arg0 {};
                     29:        std::string arg1 {};
                     30:        std::string arg2 {};
                     31: 
                     32:        std::string rd();
                     33:        std::string rs1();
                     34:        std::string rs2();
                     35:        std::string imm16();
                     36:        std::string d16();
1.1.1.5 ! root       37:        std::string d26();
1.1       root       38:        std::string crs();
                     39:        std::string fcrs();
                     40:        std::string fsize(uint32 t);
                     41:        std::string fsize();
                     42:        std::string wo5();
                     43:        std::string cio();
                     44:        std::string b5();
                     45:        std::string m5();
                     46:        std::string vec9();
                     47: 
                     48:        void ops_bb(std::string namebase);
                     49:        void ops_bcnd(std::string namebase);
                     50:        void ops_tb(std::string namebase);
1.1.1.5 ! root       51:        void ops_ldst_imm(const std::string& namebase);
1.1       root       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.