⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 instsystem_c.cpp

📁 MCS51单片机的宏汇编器源程序。有需要的朋友请下载!
💻 CPP
📖 第 1 页 / 共 4 页
字号:
   { SUBB, _A,   _R4,  -1,   0x9C, -1,     -1,     1 },        // SUBB A,R4
   { SUBB, _A,   _R5,  -1,   0x9D, -1,     -1,     1 },        // SUBB A,R5
   { SUBB, _A,   _R6,  -1,   0x9E, -1,     -1,     1 },        // SUBB A,R6
   { SUBB, _A,   _R7,  -1,   0x9F, -1,     -1,     1 },        // SUBB A,R7

   { INC, _DPTR,  -1,  -1,   0xA3, -1,     -1,     1 },        // INC DPTR
   { MUL,  _AB,   -1,  -1,   0xA4, -1,     -1,     1 },        // MUL AB

   { MOV, _aR0,direct, -1,   0xA6, BRef_2, -1,     2 },        // MOV @R0,direct
   { MOV, _aR1,direct, -1,   0xA7, BRef_2, -1,     2 },        // MOV @R1,direct
   { MOV, _R0, direct, -1,   0xA8, BRef_2, -1,     2 },        // MOV R0,direct
   { MOV, _R1, direct, -1,   0xA9, BRef_2, -1,     2 },        // MOV R1,direct
   { MOV, _R2, direct, -1,   0xAA, BRef_2, -1,     2 },        // MOV R2,direct
   { MOV, _R3, direct, -1,   0xAB, BRef_2, -1,     2 },        // MOV R3,direct
   { MOV, _R4, direct, -1,   0xAC, BRef_2, -1,     2 },        // MOV R4,direct
   { MOV, _R5, direct, -1,   0xAD, BRef_2, -1,     2 },        // MOV R5,direct
   { MOV, _R6, direct, -1,   0xAE, BRef_2, -1,     2 },        // MOV R6,direct
   { MOV, _R7, direct, -1,   0xAF, BRef_2, -1,     2 },        // MOV R7,direct

   { MOV, _aR0, _num,  -1,   0xA6, BRef_2, -1,     2 },        // MOV @R0,direct
   { MOV, _aR1, _num,  -1,   0xA7, BRef_2, -1,     2 },        // MOV @R1,direct
   { MOV, _R0,  _num,  -1,   0xA8, BRef_2, -1,     2 },        // MOV R0,direct
   { MOV, _R1,  _num,  -1,   0xA9, BRef_2, -1,     2 },        // MOV R1,direct
   { MOV, _R2,  _num,  -1,   0xAA, BRef_2, -1,     2 },        // MOV R2,direct
   { MOV, _R3,  _num,  -1,   0xAB, BRef_2, -1,     2 },        // MOV R3,direct
   { MOV, _R4,  _num,  -1,   0xAC, BRef_2, -1,     2 },        // MOV R4,direct
   { MOV, _R5,  _num,  -1,   0xAD, BRef_2, -1,     2 },        // MOV R5,direct
   { MOV, _R6,  _num,  -1,   0xAE, BRef_2, -1,     2 },        // MOV R6,direct
   { MOV, _R7,  _num,  -1,   0xAF, BRef_2, -1,     2 },        // MOV R7,direct

   { ANL,  _C, _neg_,  -1,   0xB0, BRef_2, -1,     2 },        // ANL C,/bit

   { CPL,  _bit,  -1,  -1,   0xB2, BRef_1, -1,     2 },        // CPL bit
   { CPL,  _num,  -1,  -1,   0xB2, BRef_1, -1,     2 },        // CPL bit

   { CPL,  _C,    -1,  -1,   0xB3, -1,     -1,     1 },        // CPL C
   { CJNE, _A, _xx_, _slabl, 0xB4, BRef_2, Wrel_3, 3 },        // CJNE A,#data,label
   { CJNE, _A, _xx_, _num,   0xB4, BRef_2, Wrel_3, 3 },        // CJNE A,#data,label

   { CJNE, _A,direct,_slabl, 0xB5, BRef_2, Wrel_3, 3 },        // CJNE A,direct,label
   { CJNE, _A,direct,_num,   0xB5, BRef_2, Wrel_3, 3 },        // CJNE A,direct,label
   { CJNE, _A, _num, _slabl, 0xB5, BRef_2, Wrel_3, 3 },        // CJNE A,direct,label
   { CJNE, _A, _num, _num,   0xB5, BRef_2, Wrel_3, 3 },        // CJNE A,direct,label

   { CJNE,_aR0,_xx_, _slabl, 0xB6, BRef_2, Wrel_3, 3 },        // CJNE @R0,#data,label
   { CJNE,_aR1,_xx_, _slabl, 0xB7, BRef_2, Wrel_3, 3 },        // CJNE @R1,#data,label
   { CJNE, _R0,_xx_, _slabl, 0xB8, BRef_2, Wrel_3, 3 },        // CJNE R0,#data,label
   { CJNE, _R1,_xx_, _slabl, 0xB9, BRef_2, Wrel_3, 3 },        // CJNE R1,#data,label
   { CJNE, _R2,_xx_, _slabl, 0xBA, BRef_2, Wrel_3, 3 },        // CJNE R2,#data,label
   { CJNE, _R3,_xx_, _slabl, 0xBB, BRef_2, Wrel_3, 3 },        // CJNE R3,#data,label
   { CJNE, _R4,_xx_, _slabl, 0xBC, BRef_2, Wrel_3, 3 },        // CJNE R4,#data,label
   { CJNE, _R5,_xx_, _slabl, 0xBD, BRef_2, Wrel_3, 3 },        // CJNE R5,#data,label
   { CJNE, _R6,_xx_, _slabl, 0xBE, BRef_2, Wrel_3, 3 },        // CJNE R6,#data,label
   { CJNE, _R7,_xx_, _slabl, 0xBF, BRef_2, Wrel_3, 3 },        // CJNE R7,#data,label

   { CJNE,_aR0,_xx_, _num,   0xB6, BRef_2, Wrel_3, 3 },        // CJNE @R0,#data,label
   { CJNE,_aR1,_xx_, _num,   0xB7, BRef_2, Wrel_3, 3 },        // CJNE @R1,#data,label
   { CJNE, _R0,_xx_, _num,   0xB8, BRef_2, Wrel_3, 3 },        // CJNE R0,#data,label
   { CJNE, _R1,_xx_, _num,   0xB9, BRef_2, Wrel_3, 3 },        // CJNE R1,#data,label
   { CJNE, _R2,_xx_, _num,   0xBA, BRef_2, Wrel_3, 3 },        // CJNE R2,#data,label
   { CJNE, _R3,_xx_, _num,   0xBB, BRef_2, Wrel_3, 3 },        // CJNE R3,#data,label
   { CJNE, _R4,_xx_, _num,   0xBC, BRef_2, Wrel_3, 3 },        // CJNE R4,#data,label
   { CJNE, _R5,_xx_, _num,   0xBD, BRef_2, Wrel_3, 3 },        // CJNE R5,#data,label
   { CJNE, _R6,_xx_, _num,   0xBE, BRef_2, Wrel_3, 3 },        // CJNE R6,#data,label
   { CJNE, _R7,_xx_, _num,   0xBF, BRef_2, Wrel_3, 3 },        // CJNE R7,#data,label

   { PUSH, direct, -1, -1,   0xC0, BRef_1, -1,     2 },        // PUSH direct
   { PUSH,  _num,  -1, -1,   0xC0, BRef_1, -1,     2 },        // PUSH direct

   { CLR,  _bit,  -1,  -1,   0xC2, BRef_1, -1,     2 },        // CLR bit
   { CLR,  _num,  -1,  -1,   0xC2, BRef_1, -1,     2 },        // CLR bit

   { CLR,  _C,    -1,  -1,   0xC3, -1,     -1,     1 },        // CLR C
   { SWAP, _A,    -1,  -1,   0xC4, -1,     -1,     1 },        // SWAP A

   { XCH,  _A, direct, -1,   0xC5, BRef_2, -1,     2 },        // XCH A,direct
   { XCH,  _A,  _num,  -1,   0xC5, BRef_2, -1,     2 },        // XCH A,direct

   { XCH,  _A, _aR0,   -1,   0xC6, -1,     -1,     1 },        // XCH A,@R0
   { XCH,  _A, _aR1,   -1,   0xC7, -1,     -1,     1 },        // XCH A,@R1
   { XCH,  _A,  _R0,   -1,   0xC8, -1,     -1,     1 },        // XCH A,R0
   { XCH,  _A,  _R1,   -1,   0xC9, -1,     -1,     1 },        // XCH A,R1
   { XCH,  _A,  _R2,   -1,   0xCA, -1,     -1,     1 },        // XCH A,R2
   { XCH,  _A,  _R3,   -1,   0xCB, -1,     -1,     1 },        // XCH A,R3
   { XCH,  _A,  _R4,   -1,   0xCC, -1,     -1,     1 },        // XCH A,R4
   { XCH,  _A,  _R5,   -1,   0xCD, -1,     -1,     1 },        // XCH A,R5
   { XCH,  _A,  _R6,   -1,   0xCE, -1,     -1,     1 },        // XCH A,R6
   { XCH,  _A,  _R7,   -1,   0xCF, -1,     -1,     1 },        // XCH A,R7

   { POP, direct, -1,  -1,   0xD0, BRef_1, -1,     2 },        // POP direct
   { POP,  _num,  -1,  -1,   0xD0, BRef_1, -1,     2 },        // POP direct

   { SETB, _bit,  -1,  -1,   0xD2, BRef_1, -1,     2 },        // SETB bit
   { SETB, _num,  -1,  -1,   0xD2, BRef_1, -1,     2 },        // SETB bit

   { SETB, _C,    -1,  -1,   0xD3, -1,     -1,     1 },        // SETB C
   {  DA,  _A,    -1,  -1,   0xD4, -1,     -1,     1 },        //  DA A

   { DJNZ,direct,_slabl,-1,  0xD5, BRef_1, Wrel_2, 3 },        // DJNZ direct,label
   { DJNZ,direct,_num,  -1,  0xD5, BRef_1, Wrel_2, 3 },        // DJNZ direct,label
   { DJNZ, _num,_slabl, -1,  0xD5, BRef_1, Wrel_2, 3 },        // DJNZ direct,label
   { DJNZ, _num, _num,  -1,  0xD5, BRef_1, Wrel_2, 3 },        // DJNZ direct,label

   { XCHD, _A,  _aR0,  -1,   0xD6, -1,     -1,     1 },        // XCHD A,@R0
   { XCHD, _A,  _aR1,  -1,   0xD7, -1,     -1,     1 },        // XCHD A,@R1

   { DJNZ, _R0,_slabl, -1,   0xD8, Wrel_2, -1,     2 },        // DJNZ R0,label
   { DJNZ, _R1,_slabl, -1,   0xD9, Wrel_2, -1,     2 },        // DJNZ R1,label
   { DJNZ, _R2,_slabl, -1,   0xDA, Wrel_2, -1,     2 },        // DJNZ R2,label
   { DJNZ, _R3,_slabl, -1,   0xDB, Wrel_2, -1,     2 },        // DJNZ R3,label
   { DJNZ, _R4,_slabl, -1,   0xDC, Wrel_2, -1,     2 },        // DJNZ R4,label
   { DJNZ, _R5,_slabl, -1,   0xDD, Wrel_2, -1,     2 },        // DJNZ R5,label
   { DJNZ, _R6,_slabl, -1,   0xDE, Wrel_2, -1,     2 },        // DJNZ R6,label
   { DJNZ, _R7,_slabl, -1,   0xDF, Wrel_2, -1,     2 },        // DJNZ R7,label

   { DJNZ, _R0, _num,  -1,   0xD8, Wrel_2, -1,     2 },        // DJNZ R0,label
   { DJNZ, _R1, _num,  -1,   0xD9, Wrel_2, -1,     2 },        // DJNZ R1,label
   { DJNZ, _R2, _num,  -1,   0xDA, Wrel_2, -1,     2 },        // DJNZ R2,label
   { DJNZ, _R3, _num,  -1,   0xDB, Wrel_2, -1,     2 },        // DJNZ R3,label
   { DJNZ, _R4, _num,  -1,   0xDC, Wrel_2, -1,     2 },        // DJNZ R4,label
   { DJNZ, _R5, _num,  -1,   0xDD, Wrel_2, -1,     2 },        // DJNZ R5,label
   { DJNZ, _R6, _num,  -1,   0xDE, Wrel_2, -1,     2 },        // DJNZ R6,label
   { DJNZ, _R7, _num,  -1,   0xDF, Wrel_2, -1,     2 },        // DJNZ R7,label

   { MOVX, _A, _aDPTR, -1,   0xE0, -1,     -1,     1 },        // MOVX A,@DPTR

   { MOVX, _A,  _aR0,  -1,   0xE2, -1,     -1,     1 },        // MOVX A,@R0
   { MOVX, _A,  _aR1,  -1,   0xE3, -1,     -1,     1 },        // MOVX A,@R1
   { CLR,  _A,    -1,  -1,   0xE4, -1,     -1,     1 },        // CLR A

   { MOV,  _A, direct, -1,   0xE5, BRef_2, -1,     2 },        // MOV A,direct
   { MOV,  _A,  _num,  -1,   0xE5, BRef_2, -1,     2 },        // MOV A,direct

   { MOV,  _A,  _aR0,  -1,   0xE6, -1,     -1,     1 },        // MOV A,@R0
   { MOV,  _A,  _aR1,  -1,   0xE7, -1,     -1,     1 },        // MOV A,@R1
   { MOV,  _A,   _R0,  -1,   0xE8, -1,     -1,     1 },        // MOV A,R0
   { MOV,  _A,   _R1,  -1,   0xE9, -1,     -1,     1 },        // MOV A,R1
   { MOV,  _A,   _R2,  -1,   0xEA, -1,     -1,     1 },        // MOV A,R2
   { MOV,  _A,   _R3,  -1,   0xEB, -1,     -1,     1 },        // MOV A,R3
   { MOV,  _A,   _R4,  -1,   0xEC, -1,     -1,     1 },        // MOV A,R4
   { MOV,  _A,   _R5,  -1,   0xED, -1,     -1,     1 },        // MOV A,R5
   { MOV,  _A,   _R6,  -1,   0xEE, -1,     -1,     1 },        // MOV A,R6
   { MOV,  _A,   _R7,  -1,   0xEF, -1,     -1,     1 },        // MOV A,R7

   { MOVX, _aDPTR,_A,  -1,   0xF0, -1,     -1,     1 },        // MOVX @DPTR,A

   { MOVX, _aR0,  _A,  -1,   0xF2, -1,     -1,     1 },        // MOVX @R0,A
   { MOVX, _aR1,  _A,  -1,   0xF3, -1,     -1,     1 },        // MOVX @R1,A
   { CPL,  _A,    -1,  -1,   0xF4, -1,     -1,     1 },        // CPL A

   { MOV, direct, _A,  -1,   0xF5, BRef_1, -1,     2 },        // MOV direct,A
   { MOV, _num,   _A,  -1,   0xF5, BRef_1, -1,     2 },        // MOV direct,A

   { MOV, _aR0,   _A,  -1,   0xF6, -1,     -1,     1 },        // MOV @R0,A
   { MOV, _aR1,   _A,  -1,   0xF7, -1,     -1,     1 },        // MOV @R1,A
   { MOV, _R0,    _A,  -1,   0xF8, -1,     -1,     1 },        // MOV R0,A
   { MOV, _R1,    _A,  -1,   0xF9, -1,     -1,     1 },        // MOV R1,A
   { MOV, _R2,    _A,  -1,   0xFA, -1,     -1,     1 },        // MOV R2,A
   { MOV, _R3,    _A,  -1,   0xFB, -1,     -1,     1 },        // MOV R3,A
   { MOV, _R4,    _A,  -1,   0xFC, -1,     -1,     1 },        // MOV R4,A
   { MOV, _R5,    _A,  -1,   0xFD, -1,     -1,     1 },        // MOV R5,A
   { MOV, _R6,    _A,  -1,   0xFE, -1,     -1,     1 },        // MOV R6,A
   { MOV, _R7,    _A,  -1,   0xFF, -1,     -1,     1 },        // MOV R7,A
// --------------
   {   0,    0,    0,   0,   0x00, -1,     -1,     0 }         // NULL
                  }; // end OPset
//---------------------------------------------------------------------------

//---------------------------------------------------------------------------
#define	Irv ReservInst
#define	Pdw PseudoWord
#define	Rgr RegisterKn
#define Mro MacroPsw
//---------------------------------------------------------------------------
// 保留字  next域默认为NULL。
//---------------------------------------------------------------------------
Resvs InstSystem::InstSET[] =
       {   { "DA",           DATE_Tn,    Dog_Ctrl, NULL },
           { "DATE",         DATE_Tn,    Dog_Ctrl, NULL },

           { "DB",           DEBUG_Tn,   Dog_Ctrl, NULL },
           { "DEBUG",        DEBUG_Tn,   Dog_Ctrl, NULL },
           { "NODB",         NODEBUG_Tn, Dog_Ctrl, NULL },
           { "NODEBUG",      NODEBUG_Tn, Dog_Ctrl, NULL },

           { "EP",           ERR_PR_Tn,  Dog_Ctrl, NULL },
           { "ERRORPRINT",   ERR_PR_Tn,  Dog_Ctrl, NULL },
           { "NOEP",         NO_EP_Tn,   Dog_Ctrl, NULL },
           { "NOERRORPRINT", NO_EP_Tn,   Dog_Ctrl, NULL },

           { "OJ",           OBJOJ_Tn,   Dog_Ctrl, NULL },
           { "OBJECT",       OBJOJ_Tn,   Dog_Ctrl, NULL },
           { "NOOJ",         NOOJ_Tn,    Dog_Ctrl, NULL },
           { "NOOBJECT",     NOOJ_Tn,    Dog_Ctrl, NULL },

           { "PL",           PGLEN_Tn,   Dog_Ctrl, NULL },
           { "PAGELENTH",    PGLEN_Tn,   Dog_Ctrl, NULL },
           { "PW",           PGWIDTH_Tn, Dog_Ctrl, NULL },
           { "PAGEWIDTH",    PGWIDTH_Tn, Dog_Ctrl, NULL },

           { "PR",           PR_Tn,      Dog_Ctrl, NULL },
           { "PRINT",        PR_Tn,      Dog_Ctrl, NULL },
           { "NOPR",         NOPR_Tn,    Dog_Ctrl, NULL },
           { "NOPRINT",      NOPR_Tn,    Dog_Ctrl, NULL },

           { "SB",           SB_Tn,      Dog_Ctrl, NULL },
           { "SYMBOLS",      SB_Tn,      Dog_Ctrl, NULL },
           { "NOSB",         NOSB_Tn,    Dog_Ctrl, NULL },
           { "NOSYMBOLS",    NOSB_Tn,    Dog_Ctrl, NULL },

           { "XR",           XR_Tn,      Dog_Ctrl, NULL },
           { "XREF",         XR_Tn,      Dog_Ctrl, NULL },
           { "NOXR",         NOXR_Tn,    Dog_Ctrl, NULL },
           { "NOXREF",       NOXR_Tn,    Dog_Ctrl, NULL },

           { "TT",           TITLE_Tn,   Dog_Ctrl, NULL },
           { "TITLE",        TITLE_Tn,   Dog_Ctrl, NULL },

           { "MO",           MOD51_Tn,   Dog_Ctrl, NULL },
           { "MOD51",        MOD51_Tn,   Dog_Ctrl, NULL },
           { "NOMO",         NOMOD51_Tn, Dog_Ctrl, NULL },

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -