PersonalCorpus 版 (精华区)
l 算术操作类指令
ADD A, Rn 寄存器加到累加器
ADD A, direct 直接寻址字节加到累加器
ADD A, @Ri 间址RAM 加到累加器
ADD A, #data 立即数加到累加器
ADDC A, Rn 寄存器加到累加器(带进位)
ADDC A, direct 直接寻址字节加到累加器(带进位)
ADDC A, @Ri 间址 RAM 加到累加器(带进位)
ADDC A, #data 立即数加到累加器(带进位)
SUBB A, Rn 累加器减去寄存器(带借位)
SUBB A, direct 累加器减去间接寻址 RAM (带借位)
SUBB A, @Ri 累加器减去间址 RAM (带借位)
SUBB A, #data 累加器减去立即数(带借位)
INC A 累加器加1
INC Rn 寄存器加1
INC direct 直接寻址字节加1
INC @Ri 间址 RAM 加1
DEC A 累加器减1
DEC Rn 寄存器减1
DEC direct 直接寻址字节减1
DEC @Ri 间址 RAM 减1
INC DPTR 数据指针加1
MUL AB 累加器和B寄存器相乘
DIV AB 累加器除以B寄存器
DA A 累加器十进制调整
l 逻辑操作类指令
ANL A, Rn 寄存器“与”到累加器
ANL A, direct 直接寻址字节“与”到累加器
ANL A, @Ri 间址 RAM “与”到累加器
ANL A, #data 立即数“与”到累加器
ANL direct, A 累加器“与”到直接寻址字节
ANL direct, #data 立即数“与”到直接寻址字节
ORL A, Rn 寄存器“或”到累加器
ORL A, direct 直接寻址字节“或”到累加器
ORL A, @Ri 间址 RAM “或”到累加器
ORL A, #data 立即数“或”到累加器
ORL direct, A 累加器“或”到直接寻址字节
ORL direct, #data 立即数“或”到直接寻址字节
XRL A, Rn 寄存器“异或”到累加器
XRL A, direct 直接寻址字节“异或”到累加器
XRL A, @Ri 间址 RAM “异或”到累加器
XRL A, #data 立即数“异或”到累加器
XRL direct, A 累加器“异或”到直接寻址字节
CLR A 累加器清0
CPL A 累加器取反
RL A 累加器循环左移
RLC A 经过进位位的累加器循环左移
RR A 累加器循环右移
RRC A 经过进位位的累加器循环右移
l 数据传送类指令
MOV A, Rn 寄存器传送到累加器A
MOV A, direct 直接寻址字节传送到累加器
MOV A, @Ri 间址 RAM 传送到累加器
MOV A, #data 立即数传送到累加器
MOV Rn, A 累加器传送到寄存器
MOV Rn, direct 直接寻址字节传送到寄存器
MOV Rn, #data 立即数传送到寄存器
MOV direct, A 累加器传送到直接寻址字节
MOV direct, Rn 寄存器传送到直接寻址字节
MOV direct, direct 直接寻址字节传送到直接寻址字节
MOV direct, @Ri 间址 RAM 传送到直接寻址字节
MOV direct, #data 立即数传送到直接寻址字节
MOV @Ri, A 累加器传送到间址 RAM
MOV @Ri, direct 直接寻址字节传送到间址 RAM
MOV @Ri, #data 立即数传送到直接寻址字节
MOV DPTR, #data16 16位常数装入数据指针
MOVC A, @A+DPTR 代码字节传送到累加器
MOVC A, @A+PC 代码字节传送到累加器
MOVX A, @Ri 外部 RAM (8位地址)数传送到累加器
MOVX @Ri, A 累加器到外部 RAM (8位地址)
MOVX A , @DPTR 外部RAM(16位地址)传送到累加器
MOVX @DPTR, A 累加器传送到外部RAM (16位地址)
PUSH direct 直接寻址字节压入栈顶
POP direct 从栈中弹出直接寻址字节
XCH A, Rn 寄存器与累加器交换
XCH A, direct 直接寻址字节与累加器交换
XCH A, @Ri 间址 RAM 与累加器交换
XCHD A, @Ri 间址 RAM 与累加器交换低半字节
SWAP A 累加器内高低半字节交换
l 位操作类指令
CLR C 清进位
CLR bit 清直接寻址位
STEB C 进位位置 1
SETB bit 直接寻址位置1
CPL C 进位位取反
CPL bit 直接寻址位取反
ANL C, bit 直接寻址位“与”到进位位
ANL C, /bit 直接寻址位的反码“与”到进位位
ORL C, bit 直接寻址位“或”到进位位
ORL C, /bit 直接寻址位的反码“或”到进位位
MOV C, bit 直接寻址位传送到进位位
MOV bit, C 进位位传送到直接寻址位
JC rel 若进位位为1则转移
JNC rel 若进位位为0则转移
JB bit, rel 若直接寻址位为1则转移
JNB bit, rel 若直接寻址位为0则转移
JBC bit, rel 若直接寻址位为1则转移,并清除该位
l 控制转移类指令
ACALL addr11 绝对调用子程序
LCALL addr16 长调用子程序
RET 从子程序返回
RETI 从中断返回
AJMP addr11 绝对转移
LJMP addr16 长转移
SJMP rel 短转移(相对转移)
JMP @A+DPTR 相对DPTR 的间接转移(散转)
JZ rel 累加器为0则转移
JNZ rel 累加器为非0则转移
CJNE A, direct, rel 比较直接寻址字节与累加器,不相等则转移
CJNE A, #data, rel 比较立即数与累加器,不相等则转移
CJNE Rn, #data, rel 比较立即数与间接寻址 RAM ,不相等则转移
DJNZ Rn, rel 寄存器减1,不为0则转移
DJNZ direct, rel 直接寻址字节减1,不为0则转移
NOP 空操作
@Ri —— 通过寄存器R0~R1间接寻址的数据RAM 地址
RAM区位地址映象
字节地址 位 地 址
D7 D0
2FH 7F 7E 7D 7C 7B 7A 79 78
2EH 77 76 75 74 73 72 71 70
2DH 6F 6E 6D 6C 6B 6A 69 68
2CH 67 66 65 64 63 62 61 60
2BH 5F 5E 5D 5C 5B 5A 59 58
2AH 57 56 55 54 53 52 51 50
29H 4F 4E 4D 4C 4B 4A 49 48
28H 47 46 45 44 43 42 41 40
23H 3F 3E 3D 3C 3B 3A 39 38
26H 37 36 35 34 33 32 31 30
25H 2F 2E 2D 2C 2B 2A 29 28
24H 23 26 25 24 23 22 21 20
23H 1F 1E 1D 1C 1B 1A 19 18
22H 12 16 15 14 13 12 11 10
21H 0F 0E 0D 0C 0B 0A 09 08
20H 02 06 05 04 03 02 01 00
;
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.954毫秒