临时整理的, 可用就好. 14:54 2022-1-15
STC 汇编指令 STC 汇编指令 含代码, 直接翻译 BIN---51汇编
助记符 功能说明 字节数/周期数 代 码
NOP 空操作 1 1 00
ACALL addr 11 绝对(短)调用子程序 2 2 *1
LJMP addr 16 长转移 3 2 02
RR A 累加器循环右移 1 1 03
INC A 累加器加1 1 1 04
INC direct 直接地址单元加1 2 1 05
INC @Ri 间接 RAM单元加1 1 1 06;07
INC Rn 寄存器加1 1 1 08—0F
JBC bit, rel 直接地址位为 1则转移,该位清 0 3 2 10
AJMP addr 11 绝对(短)转移 2 2 *1
LCALL addr 16 长调用子程程序 3 2 12
RRC A 累加器带进位位循环右移一位 1 1 13
DEC A 累加器减1 1 1 14
DEC direct 直接地址单元减1 2 1 15
DEC @Ri 间接 RAM单元减1 1 1 16;17
DEC Rn 寄存器减1 1 1 18—1F
JB bit, rel 直接地址位为 1则转移 3 2 20
RET 子程程序返回 1 2 22
RL A 累加器循环左移一位 1 1 23
ADD A,#data 立即数加到累加器 2 1 24
ADD A,direct 直接地址单元中的数据加到累加器 2 1 25
ADD A,@Ri 间接 RAM中的数据加到累加器 1 1 26;27
ADD A,Rn 寄存器内容加到累加器 1 1 28—2F
JNB bit, rel 直接地址位为 0则转移 3 2 30
RETI 中断返回 1 2 32
RLC A 累加器带进位位循环左移一位 1 1 33
ADDC A,#data 立即数带进位加到累加器 2 1 34
ADDC A,direct 直接地址单元的内容带进位加到累加器 2 1 35
ADDC A,@Ri 间接 RAM内容带进位加到累加器 1 1 36;37
ADDC A,Rn 寄存器带进位加到累加器 1 1 38—3F
JC rel 进位位为 1则转移 2 2 40
ORL direct,A 直接地址单元与累加器相“或” 2 1 42
ORL direct,#data 直接地址单元与立即数相“或” 3 2 43
ORL A,# data 累加器与立即数相“或” 2 1 44
ORL A,direct 累加器与直接地址单元相“或” 2 1 45
ORL A,@Ri 累加器与间接RAM单元相“或” 1 1 46;47
ORL A,Rn 累加器与寄存器相“或” 1 1 48—4F
JNC rel 进位位为 0则转移 2 2 50
ANL A,direct 累加器与直接地址单元相“与” 2 1 52
ANLdirect,#data 直接地址单元与立即数相“与” 3 2 53
ANL A,#data 累加器与立即数相“与” 2 1 54
ANL direct,A 直接地址单元与累加器相“与” 2 1 55
ANL A,@Ri 累加器与间接RAM单元相“与” 1 1 56;57
ANL A,Rn 累加器与寄存器相“与” 1 1 58—5F
JZ re1 累加器为 0转移 2 2 60
XRL direct,A 直接地址单元与累加器相“异或” 2 1 62
XRL direct,#data 直接地址单元与立即数相“异或” 3 2 63
XRL A,#data 累加器与立即数相“异或” 2 1 64
XRL A,direct 累加器与直接地址单元相“异或” 2 1 65
XRL A,@Ri 累加器与间接RAM单元相“异或” 1 1 66;67
XRL A,Rn 累加器与寄存器相“异或” 1 1 68—6F
JNZ re1 累加器非 0转移 2 2 70
ORL C, bit 进位位和直接地址位相“或” 2 2 72
JMP @A+DPTR 相对于DPTR的间接转移 1 2 73
MOV A,#data 立即数送入累加器 2 1 74
MOV direct,#data 立即数送入直接地址单元 3 2 75
MOV @Ri,#data 立即数送入间接RAM单元 2 2 76;77
MOV Rn,#data 立即数送入寄存器 2 1 78--7F
SJMP re1 相对转移 2 2 80
ANL C, bit 进位位和直接地址位相“与” 2 2 82
MOVC A,@A+PC 以PC为基地址变址寻址单元中的数据送入累加器 1 2 83
DIV AB A除以B 1 4 84
MOV direct,direct 直接地址单元中的数据送入另一个直接地址单元 3 2 85
MOV direct,@Ri 间接RAM中的数据送入直接地址单元 2 2 86;87
MOV direct,Rn 寄存器内容送入直接地址单元 2 1 88—8F
MOV DPTR,#data16 16位立即数送入数据指针 3 1 90
MOV bit, C 进位位送入直接地址位 2 2 92
MOVC A,@A+DPTR 以DPTR为基地址变址寻址单元中的数据送入累加器 3 2 93
SUBB A,#data 累加器带借位减立即数 2 1 94
SUBB A,direct 累加器带借位减直接地址单元的内容 2 1 95
SUBB A,@Ri 累加器带借位减间接RAM中的内容 1 1 96;97
SUBB A,Rn 累加器带借位减寄存器内容 1 1 98—9F
ORL C, /bit 进位位和直接地址位的反码相“或” 2 2 A0
MOV C, bit 直接地址位送入进位位 2 1 A2
INC DPTR 地址寄存器DPTR加1 1 2 A3
MUL AB A乘以 B 1 4 A4
A5
MOV @Ri,direct 直接地址单元数据送入间接RAM单元 1 1 A6;A7
MOV Rn,direct 直接地址单元中的数据送入寄存器 2 2 A8--AF
ANL C, /bit 进位位和直接地址位的反码相“与” 2 2 B0
CPL bit 直接地址位求反 2 1 B2
CPL C 进位位求反 1 1 B3
CJNE A,#data,re1 累加器与立即数比较,不相等则转移 3 2 B4
CJNE A,direct,re1 累加器与直接地址单元比较,不相等则转移 3 2 B5
CJNE @Ri,#data,re1 间接RAM单元与立即数比较,不相等则转移 3 2 B6;B7
CJNE Rn,#data,re1 寄存器与立即数比较,不相等则转移 3 2 B8—BF
PUSH direct 直接地址单元中的数据压入堆栈,SP加1 2 2 C0
CLR bit 清 0直接地址位 2 1 C2
CLR C 清零进位位 1 1 C3
SWAP A 累加器内高低半字节交换 1 1 C4
XCH A,direct 直接地址单元与累加器交换 2 1 C5
XCH A,@Ri 间接RAM与累加器交换 1 1 C6;C7
XCH A,Rn 寄存器与累加器交换 1 1 C8—CF
POP direct 栈底数据弹出送入直接地址单元,SP减1 2 2 D0
SETB bit 置 1直接地址位 2 1 D2
SETB C 置 1进位位 1 1 D3
DA A 累加器十进制调整 1 1 D4
DJNZ direct,re1 直接地址单元减1,非零转移 3 2 D5
XCHD A,@Ri 间接RAM的低半字节与累加器交换 1 1 D6;D7
DJNZ Rn,re1 寄存器减1,非零转移 2 2 D8—DF
MOVX A,@DPTR 将逻辑上在片外、物理上在片内的扩展RAM(16位地址)的内容送入累加器A中,读操作 1 2 E0
MOVX A,@Ri 将逻辑上在片外、物理上也在片外的扩展RAM( 8位地址)的内容送入累加器A中,读操作 1 2 E2;E3
CLR A 累加器清“ 0” 1 1 E4
MOV A,direct 直接地址单元中的数据送入累加器 2 1 E5
MOV A,@Ri 间接RAM中的数据送入累加器 1 1 E6--E7
MOV A,Rn 寄存器内容送入累加器 1 1 E8--EF
MOVX @DPTR,A 将累加器 A的内容送入逻辑上在片外、物理上在片内的扩展RAM(16位地址)中,写操作 1 2 F0
MOVX @Ri,A 将累加器 A的内容送入逻辑上在片外、物理上在片内的扩展RAM( 8位地址)中,写操作 1 2 F2;F3
CPL A 累加器求反 1 1 F4
MOV direct,A 累加器内容送入直接地址单元 2 1 F5
MOV @Ri,A 累加器内容送入间接RAM单元 1 2 F6;F7
MOV Rn,A 累加器内容送入寄存器 1 1 F8--FF
==============================================================
MOVX A,@Ri 将逻辑上在片外、物理上也在片外的扩展RAM(8位地址)的内容送入累加器A中,读操作 5xN+2N的取值见下列说明
MOVX @Ri,A 将累加器A的内容送入逻辑上在片外、物理也上在片外的扩展RAM(8位地址)中,写操作 5×N+3N的取值见下列说明
MOVX A,@DPTR 将逻辑上在片外、物理上也在片外的扩展RAM(16位地址)的内容送入累加器A中,读操作 5×N+1N的取值见下列说明
MOVX @DPTR,A 将累加器A的内容送入逻辑上在片外、物理上也在片外的扩展RAM(16位地址)中,写操作 5×N+2N的取值见下列说明
当EXRTS[1:0] = [0,0]时,表中N=1;
当EXRTS[1:0] = [0,1]时,表中N=2;
当EXRTS[1:0] = [1,0]时,表中N=4;
当EXRTS[1:0] = [1,1]时,表中N=8.
EXRTS[1:0]为寄存器BUS SPEED中的B1,B0位
==============================================================
|