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

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: 
1.1.1.6   root       21:        // 別名
                     22:        std::string alttext {};
                     23: 
1.1.1.7 ! root       24:        // 別ニーモニックを使うなら true (グローバル)
        !            25:        static bool use_altname;
1.1.1.2   root       26: 
1.1.1.7 ! root       27:  private:
1.1.1.3   root       28:        uint32 xip {};
1.1       root       29: 
1.1.1.3   root       30:        uint32 opX  {};
1.1       root       31:        std::string name {};
                     32:        std::string arg0 {};
                     33:        std::string arg1 {};
                     34:        std::string arg2 {};
1.1.1.6   root       35:        // 別名用
                     36:        std::string altname {};
                     37:        std::string altarg0 {};
                     38:        std::string altarg1 {};
                     39:        std::string altarg2 {};
1.1       root       40: 
                     41:        std::string rd();
                     42:        std::string rs1();
                     43:        std::string rs2();
                     44:        std::string imm16();
                     45:        std::string d16();
1.1.1.5   root       46:        std::string d26();
1.1       root       47:        std::string crs();
                     48:        std::string fcrs();
                     49:        std::string fsize(uint32 t);
                     50:        std::string fsize();
                     51:        std::string wo5();
                     52:        std::string cio();
                     53:        std::string b5();
                     54:        std::string m5();
                     55:        std::string vec9();
                     56: 
                     57:        void ops_bb(std::string namebase);
                     58:        void ops_bcnd(std::string namebase);
                     59:        void ops_tb(std::string namebase);
1.1.1.5   root       60:        void ops_ldst_imm(const std::string& namebase);
1.1.1.6   root       61:        void ops_ldst_reg(const std::string& namebase, std::string suffix);
1.1       root       62: 
                     63:        void op_unimpl();
                     64: 
                     65: #define OP_PROTO(name) void __CONCAT(op_,name)()
                     66: #include "m88100ops.h"
                     67: #undef OP_PROTO
                     68: };

unix.superglobalmegacorp.com

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