📄 mcs51.h
字号:
{ NULL, 2, 3, 0xa8,0xf8, 2,{mcs51_or3_0 | mcs51_Rn, mcs51_oct_1 | mcs51_direct, mcs51_notcoded| 0}}, { NULL, 2, 3, 0x90,0xff, 2,{mcs51_implied | mcs51_dptr, mcs51_reloc16 | mcs51_imm16, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x92,0xff, 2,{mcs51_oct_1 | mcs51_bit, mcs51_implied | mcs51_C, mcs51_notcoded| 0}}, { "movc", 2, 1, 0x93,0xff, 2,{mcs51_implied | mcs51_A, mcs51_implied | mcs51_mem16_x,mcs51_notcoded| 0}}, { NULL, 2, 1, 0x83,0xff, 2,{mcs51_implied | mcs51_A, mcs51_implied | mcs51_mem16_p,mcs51_notcoded| 0}}, { "movx", 2, 1, 0xe2,0xfe, 2,{mcs51_implied | mcs51_A, mcs51_or1_0 | mcs51_mem8, mcs51_notcoded| 0}}, { NULL, 2, 1, 0xe6,0xff, 2,{mcs51_implied | mcs51_A, mcs51_implied | mcs51_mem16, mcs51_notcoded| 0}}, { NULL, 2, 1, 0xf0,0xff, 2,{mcs51_implied | mcs51_mem16, mcs51_implied | mcs51_A, mcs51_notcoded| 0}}, { NULL, 2, 1, 0xf2,0xfe, 2,{mcs51_or1_0 | mcs51_mem8, mcs51_implied | mcs51_A, mcs51_notcoded| 0}}, { "push", 1, 2, 0xc0,0xff, 2,{mcs51_oct_1 | mcs51_direct, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "pop", 1, 2, 0xd0,0xff, 2,{mcs51_oct_1 | mcs51_direct, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "xch", 2, 1, 0x68,0xf8, 1,{mcs51_implied | mcs51_A, mcs51_or3_0 | mcs51_Rn, mcs51_notcoded| 0}}, { NULL, 2, 2, 0xc5,0xff, 1,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_direct, mcs51_notcoded| 0}}, { NULL, 2, 1, 0xc6,0xfe, 1,{mcs51_implied | mcs51_A, mcs51_or1_0 | mcs51_mem8, mcs51_notcoded| 0}}, { "xchd", 2, 1, 0xd6,0xfe, 1,{mcs51_implied | mcs51_A, mcs51_or1_0 | mcs51_mem8, mcs51_notcoded| 0}}, { "jbc", 2, 3, 0x10,0xff, 2,{mcs51_oct_1 | mcs51_bit, mcs51_pcrel8_2| mcs51_addr8, mcs51_notcoded| 0}}, { "jb", 2, 3, 0x20,0xff, 2,{mcs51_oct_1 | mcs51_bit, mcs51_pcrel8_2| mcs51_addr8, mcs51_notcoded| 0}}, { "jnb", 2, 3, 0x30,0xff, 2,{mcs51_oct_1 | mcs51_bit, mcs51_pcrel8_2| mcs51_addr8, mcs51_notcoded| 0}}, { "jc", 1, 2, 0x40,0xff, 2,{mcs51_pcrel8_1| mcs51_addr8, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "jnc", 1, 2, 0x50,0xff, 2,{mcs51_pcrel8_1| mcs51_addr8, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "jz", 1, 2, 0x60,0xff, 2,{mcs51_pcrel8_1| mcs51_addr8, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "jnz", 1, 2, 0x70,0xff, 2,{mcs51_pcrel8_1| mcs51_addr8, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "acall",1, 2, 0x11,0x1f, 2,{mcs51_reloc11 | mcs51_addr11, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "lcall",1, 3, 0x12,0xff, 2,{mcs51_reloc16 | mcs51_addr16, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "ajmp", 1, 2, 0x01,0x1f, 2,{mcs51_reloc11 | mcs51_addr11, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "ljmp", 1, 3, 0x02,0xff, 2,{mcs51_reloc16 | mcs51_addr16, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "sjmp", 1, 2, 0x80,0xff, 2,{mcs51_pcrel8_1| mcs51_addr8, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "jmp", 1, 1, 0x73,0xff, 2,{mcs51_implied | mcs51_mem16_x,mcs51_notcoded| 0, mcs51_notcoded| 0}}, { NULL, 1, 1, 0x02,0, 2,{mcs51_reloc16b| mcs51_addr16, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "call", 1, 1, 0x12,0, 2,{mcs51_reloc16b| mcs51_addr16, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "cjne", 3, 3, 0xb5,0xff, 2,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_direct, mcs51_pcrel8_2| mcs51_addr8}}, { NULL, 3, 3, 0xb4,0xff, 2,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_imm8, mcs51_pcrel8_2| mcs51_addr8}}, { NULL, 3, 3, 0xb8,0xf8, 2,{mcs51_or3_0 | mcs51_Rn, mcs51_oct_1 | mcs51_imm8, mcs51_pcrel8_2| mcs51_addr8}}, { "djnz", 2, 2, 0xb6,0xfe, 2,{mcs51_or3_0 | mcs51_Rn, mcs51_pcrel8_1| mcs51_addr8, mcs51_notcoded| 0}}, { NULL, 2, 3, 0xb5,0xff, 2,{mcs51_oct_1 | mcs51_direct, mcs51_pcrel8_2| mcs51_addr8, mcs51_notcoded| 0}}, { "rr", 1, 1, 0x03,0xff, 1,{mcs51_implied | mcs51_A, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "rrc", 1, 1, 0x13,0xff, 1,{mcs51_implied | mcs51_A, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "rl", 1, 1, 0x23,0xff, 1,{mcs51_implied | mcs51_A, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "rlc", 1, 1, 0x33,0xff, 1,{mcs51_implied | mcs51_A, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "clr", 1, 1, 0xf4,0xff, 1,{mcs51_implied | mcs51_A, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { NULL, 1, 1, 0xc3,0xff, 1,{mcs51_implied | mcs51_C, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { NULL, 1, 2, 0xc2,0xff, 1,{mcs51_oct_1 | mcs51_bit, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "cpl", 1, 1, 0xe4,0xff, 1,{mcs51_implied | mcs51_A, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { NULL, 1, 1, 0xb3,0xff, 1,{mcs51_implied | mcs51_C, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { NULL, 1, 2, 0xb2,0xff, 1,{mcs51_oct_1 | mcs51_bit, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "setb", 1, 1, 0xd3,0xff, 1,{mcs51_implied | mcs51_C, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { NULL, 1, 2, 0xd2,0xff, 1,{mcs51_oct_1 | mcs51_bit, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "inc", 1, 1, 0xa3,0xff, 2,{mcs51_implied | mcs51_dptr, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { NULL, 1, 1, 0x04,0xff, 1,{mcs51_implied | mcs51_A, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { NULL, 1, 1, 0x08,0xf8, 1,{mcs51_or3_0 | mcs51_Rn, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { NULL, 1, 1, 0x06,0xfe, 1,{mcs51_or1_0 | mcs51_mem8, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { NULL, 1, 2, 0x05,0xff, 1,{mcs51_oct_1 | mcs51_direct, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "dec", 1, 1, 0x14,0xff, 1,{mcs51_implied | mcs51_A, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { NULL, 1, 1, 0x18,0xf8, 1,{mcs51_or3_0 | mcs51_Rn, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { NULL, 1, 1, 0x16,0xfe, 1,{mcs51_or1_0 | mcs51_mem8, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { NULL, 1, 2, 0x15,0xff, 1,{mcs51_oct_1 | mcs51_direct, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "ret", 0, 1, 0x22,0xff, 2,{mcs51_notcoded| 0, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "reti", 0, 1, 0x32,0xff, 2,{mcs51_notcoded| 0, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "div", 1, 1, 0x84,0xff, 4,{mcs51_implied | mcs51_AB, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "mul", 1, 1, 0xa4,0xff, 4,{mcs51_implied | mcs51_AB, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "swap", 1, 1, 0xc4,0xff, 1,{mcs51_implied | mcs51_A, mcs51_notcoded| 0, mcs51_notcoded| 0}}, { "da", 1, 1, 0xd4,0xff, 1,{mcs51_implied | mcs51_A, mcs51_notcoded| 0, mcs51_notcoded| 0}}, {"anl", 2, 1, 0x58,0xf8, 1,{mcs51_implied | mcs51_A, mcs51_or3_0 | mcs51_Rn, mcs51_notcoded| 0}}, { NULL, 2, 1, 0x56,0xfe, 1,{mcs51_implied | mcs51_A, mcs51_or1_0 | mcs51_mem8, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x55,0xff, 1,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_direct, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x54,0xff, 1,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_imm8, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x52,0xff, 1,{mcs51_oct_1 | mcs51_direct, mcs51_implied | mcs51_A, mcs51_notcoded| 0}}, { NULL, 2, 3, 0x53,0xff, 2,{mcs51_oct_1 | mcs51_direct, mcs51_oct_2 | mcs51_imm8, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x82,0xff, 1,{mcs51_implied | mcs51_C, mcs51_oct_1 | mcs51_bit, mcs51_notcoded| 0}}, { NULL, 2, 2, 0xb0,0xff, 1,{mcs51_implied | mcs51_C, mcs51_oct_1 | mcs51_not_bit,mcs51_notcoded| 0}}, {"orl", 2, 1, 0x48,0xf8, 1,{mcs51_implied | mcs51_A, mcs51_or3_0 | mcs51_Rn, mcs51_notcoded| 0}}, { NULL, 2, 1, 0x46,0xfe, 1,{mcs51_implied | mcs51_A, mcs51_or1_0 | mcs51_mem8, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x45,0xff, 1,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_direct, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x44,0xff, 1,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_imm8, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x42,0xff, 1,{mcs51_oct_1 | mcs51_direct, mcs51_implied | mcs51_A, mcs51_notcoded| 0}}, { NULL, 2, 3, 0x43,0xff, 2,{mcs51_oct_1 | mcs51_direct, mcs51_oct_1 | mcs51_imm8, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x72,0xff, 1,{mcs51_implied | mcs51_C, mcs51_oct_1 | mcs51_bit, mcs51_notcoded| 0}}, { NULL, 2, 2, 0xa0,0xff, 1,{mcs51_implied | mcs51_C, mcs51_oct_1 | mcs51_not_bit,mcs51_notcoded| 0}}, {"xrl", 2, 1, 0x68,0xf8, 1,{mcs51_implied | mcs51_A, mcs51_or3_0 | mcs51_Rn, mcs51_notcoded| 0}}, { NULL, 2, 1, 0x66,0xfe, 1,{mcs51_implied | mcs51_A, mcs51_or1_0 | mcs51_mem8, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x65,0xff, 1,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_direct, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x64,0xff, 1,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_imm8, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x62,0xff, 1,{mcs51_oct_1 | mcs51_direct, mcs51_implied | mcs51_A, mcs51_notcoded| 0}}, { NULL, 2, 3, 0x63,0xff, 2,{mcs51_oct_1 | mcs51_direct, mcs51_oct_2 | mcs51_imm8, mcs51_notcoded| 0}}, {"add", 2, 1, 0x28,0xf8, 1,{mcs51_implied | mcs51_A, mcs51_or3_0 | mcs51_Rn, mcs51_notcoded| 0}}, { NULL, 2, 1, 0x26,0xfe, 1,{mcs51_implied | mcs51_A, mcs51_or1_0 | mcs51_mem8, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x25,0xff, 1,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_direct, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x24,0xff, 1,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_imm8, mcs51_notcoded| 0}}, {"addc", 2, 1, 0x38,0xf8, 1,{mcs51_implied | mcs51_A, mcs51_or3_0 | mcs51_Rn, mcs51_notcoded| 0}}, { NULL, 2, 1, 0x36,0xfe, 1,{mcs51_implied | mcs51_A, mcs51_or1_0 | mcs51_mem8, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x35,0xff, 1,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_direct, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x34,0xff, 1,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_imm8, mcs51_notcoded| 0}}, {"subb", 2, 1, 0x95,0xf8, 1,{mcs51_implied | mcs51_A, mcs51_or3_0 | mcs51_Rn, mcs51_notcoded| 0}}, { NULL, 2, 1, 0x96,0xfe, 1,{mcs51_implied | mcs51_A, mcs51_or1_0 | mcs51_mem8, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x98,0xff, 1,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_direct, mcs51_notcoded| 0}}, { NULL, 2, 2, 0x94,0xff, 1,{mcs51_implied | mcs51_A, mcs51_oct_1 | mcs51_imm8, mcs51_notcoded| 0}} }; /* 386 register table. */static const reg_entry mcs51_regtab[] = { /* make %st first as we test for it */ {"R0", 0, 0x00, "R0"}, {"R1", 0, 0x01, "R1"}, {"R2", 0, 0x02, "R2"}, {"R3", 0, 0x03, "R3"}, {"R4", 0, 0x04, "R4"}, {"R5", 0, 0x05, "R5"}, {"R6", 0, 0x06, "R6"}, {"R7", 0, 0x07, "R7"}, {"A", 0, 0xE0, "Accumulator"}, {"ACC", 0, 0xE0, "Accumulator"}, {"B", 0, 0xF0, "B Register"}, {"PSW", 0, 0xD0, "ProgramStatusWord"}, {"SP", 0, 0x81, "Stack Pointer"}, {"DPL", 0, 0x82, "LowByte"}, {"DPH", 0, 0x83, "HighByte"}, {"P0", 0, 0x80, "Porto"}, {"P1", 0, 0x90, "Port1"}, {"P2", 0, 0xA0, "Port2"}, {"P3", 0, 0xB0, "Port3"}, {"IP", 0, 0xB8, "InterruptPriorityControl"}, {"IE", 0, 0xA8, "InterruptEnable Control"}, {"TMOD", 0, 0x89, "Timer/Counter Mode Control"}, {"TCON", 0, 0x88, "Timer/Counter Control"}, {"T2CON",0, 0xC8, "Timer/Counter 2 Control"}, {"TH0", 0, 0x8C, "Timer/CounterOHighByte"}, {"TL0", 0, 0x8A, "Timer/CounterOLowByte"}, {"TH1", 0, 0x8D, "Timer/Counter 1 HighByte"}, {"TL1", 0, 0x8B, "Timer/Counter 1 LowByte"}, {"TH2", 0, 0xCD, "Timer/Counter 2 HighByte"}, {"TL2", 0, 0xCC, "Timer/Counter 2 LowByte"}, {"RCAP2H",0, 0xCB, "T/C 2 CaptureReg. HighByte"}, {"RCAP2L",0, 0xCA, "T/C 2 CaptureReg. LowByte"}, {"SCON", 0, 0x98, "SerialControl"}, {"SBUF", 0, 0x99, "SerialData Buffer"}, {"PCON", 0, 0x87, "PowerControl"}, {"C", 1, 0xd0, "CY"}, {"AB", 2, 0x00, "Data Pointer2 Bytes"}, {"DPTR", 3, 0x01, "Data Pointer2 Bytes"}, {"PC", 3, 0x02, "Data Pointer2 Bytes"} };
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -