助记符包括什么?
答案:1 悬赏:20 手机版
解决时间 2021-04-09 08:13
- 提问者网友:温柔港
- 2021-04-08 17:15
助记符包括什么?
最佳答案
- 五星知识达人网友:野味小生
- 2021-04-08 17:32
简介
助记符(memonic)是便于人们记忆、并能描述指令功能和指令操作数的符号,助记符是表明指令功能的英语单词或其缩写。
汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
助记符说明表
助记符说明表
助记符 指令说明 字节数 周期数
(数据传递类指令)
MOV A,Rn 寄存器传送到累加器 1 1
MOV A,direct 直接地址传送到累加器 2 1
MOV A,@Ri 累加器传送到外部RAM(8 地址) 1 1
MOV A,#data 立即数传送到累加器 2 1
MOV Rn,A 累加器传送到寄存器 1 1
MOV Rn,direct 直接地址传送到寄存器 2 2
MOV Rn,#data 累加器传送到直接地址 2 1
MOV direct,Rn 寄存器传送到直接地址 2 1
MOV direct,direct 直接地址传送到直接地址 3 2
MOV direct,A 累加器传送到直接地址 2 1
MOV direct,@Ri 间接RAM 传送到直接地址 2 2
MOV direct,#data 立即数传送到直接地址 3 2
MOV @Ri,A 直接地址传送到直接地址 1 2
MOV @Ri,direct 直接地址传送到间接RAM 2 1
MOV @Ri,#data 立即数传送到间接RAM 2 2
MOV DPTR,#data16 16 位常数加载到数据指针 3 1
MOVC A,@A+DPTR 代码字节传送到累加器 1 2
MOVC A,@A+PC 代码字节传送到累加器 1 2
MOVX A,@Ri 外部RAM(8 地址)传送到累加器 1 2
MOVX A,@DPTR 外部RAM(16 地址)传送到累加器 1 2
MOVX @Ri,A 累加器传送到外部RAM(8 地址) 1 2
MOVX @DPTR,A 累加器传送到外部RAM(16 地址) 1 2
PUSH direct 直接地址压入堆栈 2 2
POP direct 直接地址弹出堆栈 2 2
XCH A,Rn 寄存器和累加器交换 1 1
XCH A, direct 直接地址和累加器交换 2 1
XCH A, @Ri 间接RAM 和累加器交换 1 1
XCHD A, @Ri 间接RAM 和累加器交换低4 位字节 1 1
(算术运算类指令)
INC A 累加器加1 1 1
INC Rn 寄存器加1 1 1
INC direct 直接地址加1 2 1
INC @Ri 间接RAM 加1 1 1
INC DPTR 数据指针加1 1 2
DEC A 累加器减1 1 1
DEC Rn 寄存器减1 1 1
DEC direct 直接地址减1 2 2
DEC @Ri 间接RAM 减1 1 1
MUL AB 累加器和B 寄存器相乘 1 4
DIV AB 累加器除以B 寄存器 1 4
DA A 累加器十进制调整 1 1
ADD A,Rn 寄存器与累加器求和 1 1
ADD A,direct 直接地址与累加器求和 2 1
ADD A,@Ri 间接RAM 与累加器求和 1 1
ADD A,#data 立即数与累加器求和 2 1
ADDC A,Rn 寄存器与累加器求和(带进位) 1 1
ADDC A,direct 直接地址与累加器求和(带进位) 2 1
ADDC A,@Ri 间接RAM 与累加器求和(带进位) 1 1
ADDC A,#data 立即数与累加器求和(带进位) 2 1
SUBB A,Rn 累加器减去寄存器(带借位) 1 1
SUBB A,direct 累加器减去直接地址(带借位) 2 1
SUBB A,@Ri 累加器减去间接RAM(带借位) 1 1
SUBB A,#data 累加器减去立即数(带借位) 2 1
(逻辑运算类指令)
ANL A,Rn 寄存器“与”到累加器 1 1
ANL A,direct 直接地址“与”到累加器 2 1
ANL A,@Ri 间接RAM“与”到累加器 1 1
ANL A,#data 立即数“与”到累加器 2 1
ANL direct,A 累加器“与”到直接地址 2 1
ANL direct, #data 立即数“与”到直接地址 3 2
ORL A,Rn 寄存器“或”到累加器 1 2
ORL A,direct 直接地址“或”到累加器 2 1
ORL A,@Ri 间接RAM“或”到累加器 1 1
ORL A,#data 立即数“或”到累加器 2 1
ORL direct,A 累加器“或”到直接地址 2 1
ORL direct, #data 立即数“或”到直接地址 3 1
XRL A,Rn 寄存器“异或”到累加器 1 2
XRL A,direct 直接地址“异或”到累加器 2 1
XRL A,@Ri 间接RAM“异或”到累加器 1 1
XRL A,#data 立即数“异或”到累加器 2 1
XRL direct,A 累加器“异或”到直接地址 2 1
XRL direct, #data 立即数“异或”到直接地址 3 1
CLR A 累加器清零 1 2
CPL A 累加器求反 1 1
RL A 累加器循环左移 1 1
RLC A 带进位累加器循环左移 1 1
RR A 累加器循环右移 1 1
RRC A 带进位累加器循环右移 1 1
SWAP A 累加器高、低4 位交换 1 1
(控制转移类指令)
JMP @A+DPTR 相对DPTR 的无条件间接转移 1 2
JZ rel 累加器为0 则转移 2 2
JNZ rel 累加器为1 则转移 2 2
CJNE A,direct,rel 比较直接地址和累加器,不相等转移 3 2
CJNE A,#data,rel 比较立即数和累加器,不相等转移 3 2
CJNE Rn,#data,rel 比较寄存器和立即数,不相等转移 2 2
CJNE @Ri,#data,rel 比较立即数和间接RAM,不相等转移 3 2
DJNZ Rn,rel 寄存器减1,不为0 则转移 3 2
DJNZ direct,rel 直接地址减1,不为0 则转移 3 2
NOP 空操作,用于短暂延时 1 1
ACALL add11 绝对调用子程序 2 2
LCALL add16 长调用子程序 3 2
RET 从子程序返回 1 2
RETI 从中断服务子程序返回 1 2
AJMP add11 无条件绝对转移 2 2
LJMP add16 无条件长转移 3 2
SJMP rel 无条件相对转移 2 2
(布尔指令)
CLR C 清进位位 1 1
CLR bit 清直接寻址位 2 1
SETB C 置位进位位 1 1
SETB bit 置位直接寻址位 2 1
CPL C 取反进位位 1 1
CPL bit 取反直接寻址位 2 1
ANL C,bit 直接寻址位“与”到进位位 2 2
ANL C,/bit 直接寻址位的反码“与”到进位位 2 2
ORL C,bit 直接寻址位“或”到进位位 2 2
ORL C,/bit 直接寻址位的反码“或”到进位位 2 2
MOV C,bit 直接寻址位传送到进位位 2 1
MOV bit, C 进位位位传送到直接寻址 2 2
JC rel 如果进位位为1 则转移 2 2
JNC rel 如果进位位为0 则转移 2 2
JB bit,rel 如果直接寻址位为1 则转移 3 2
JNB bit,rel 如果直接寻址位为0 则转移 3 2
JBC bit,rel 直接寻址位为1 则转移并清除该位 2 2
助记符(memonic)是便于人们记忆、并能描述指令功能和指令操作数的符号,助记符是表明指令功能的英语单词或其缩写。
汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
助记符说明表
助记符说明表
助记符 指令说明 字节数 周期数
(数据传递类指令)
MOV A,Rn 寄存器传送到累加器 1 1
MOV A,direct 直接地址传送到累加器 2 1
MOV A,@Ri 累加器传送到外部RAM(8 地址) 1 1
MOV A,#data 立即数传送到累加器 2 1
MOV Rn,A 累加器传送到寄存器 1 1
MOV Rn,direct 直接地址传送到寄存器 2 2
MOV Rn,#data 累加器传送到直接地址 2 1
MOV direct,Rn 寄存器传送到直接地址 2 1
MOV direct,direct 直接地址传送到直接地址 3 2
MOV direct,A 累加器传送到直接地址 2 1
MOV direct,@Ri 间接RAM 传送到直接地址 2 2
MOV direct,#data 立即数传送到直接地址 3 2
MOV @Ri,A 直接地址传送到直接地址 1 2
MOV @Ri,direct 直接地址传送到间接RAM 2 1
MOV @Ri,#data 立即数传送到间接RAM 2 2
MOV DPTR,#data16 16 位常数加载到数据指针 3 1
MOVC A,@A+DPTR 代码字节传送到累加器 1 2
MOVC A,@A+PC 代码字节传送到累加器 1 2
MOVX A,@Ri 外部RAM(8 地址)传送到累加器 1 2
MOVX A,@DPTR 外部RAM(16 地址)传送到累加器 1 2
MOVX @Ri,A 累加器传送到外部RAM(8 地址) 1 2
MOVX @DPTR,A 累加器传送到外部RAM(16 地址) 1 2
PUSH direct 直接地址压入堆栈 2 2
POP direct 直接地址弹出堆栈 2 2
XCH A,Rn 寄存器和累加器交换 1 1
XCH A, direct 直接地址和累加器交换 2 1
XCH A, @Ri 间接RAM 和累加器交换 1 1
XCHD A, @Ri 间接RAM 和累加器交换低4 位字节 1 1
(算术运算类指令)
INC A 累加器加1 1 1
INC Rn 寄存器加1 1 1
INC direct 直接地址加1 2 1
INC @Ri 间接RAM 加1 1 1
INC DPTR 数据指针加1 1 2
DEC A 累加器减1 1 1
DEC Rn 寄存器减1 1 1
DEC direct 直接地址减1 2 2
DEC @Ri 间接RAM 减1 1 1
MUL AB 累加器和B 寄存器相乘 1 4
DIV AB 累加器除以B 寄存器 1 4
DA A 累加器十进制调整 1 1
ADD A,Rn 寄存器与累加器求和 1 1
ADD A,direct 直接地址与累加器求和 2 1
ADD A,@Ri 间接RAM 与累加器求和 1 1
ADD A,#data 立即数与累加器求和 2 1
ADDC A,Rn 寄存器与累加器求和(带进位) 1 1
ADDC A,direct 直接地址与累加器求和(带进位) 2 1
ADDC A,@Ri 间接RAM 与累加器求和(带进位) 1 1
ADDC A,#data 立即数与累加器求和(带进位) 2 1
SUBB A,Rn 累加器减去寄存器(带借位) 1 1
SUBB A,direct 累加器减去直接地址(带借位) 2 1
SUBB A,@Ri 累加器减去间接RAM(带借位) 1 1
SUBB A,#data 累加器减去立即数(带借位) 2 1
(逻辑运算类指令)
ANL A,Rn 寄存器“与”到累加器 1 1
ANL A,direct 直接地址“与”到累加器 2 1
ANL A,@Ri 间接RAM“与”到累加器 1 1
ANL A,#data 立即数“与”到累加器 2 1
ANL direct,A 累加器“与”到直接地址 2 1
ANL direct, #data 立即数“与”到直接地址 3 2
ORL A,Rn 寄存器“或”到累加器 1 2
ORL A,direct 直接地址“或”到累加器 2 1
ORL A,@Ri 间接RAM“或”到累加器 1 1
ORL A,#data 立即数“或”到累加器 2 1
ORL direct,A 累加器“或”到直接地址 2 1
ORL direct, #data 立即数“或”到直接地址 3 1
XRL A,Rn 寄存器“异或”到累加器 1 2
XRL A,direct 直接地址“异或”到累加器 2 1
XRL A,@Ri 间接RAM“异或”到累加器 1 1
XRL A,#data 立即数“异或”到累加器 2 1
XRL direct,A 累加器“异或”到直接地址 2 1
XRL direct, #data 立即数“异或”到直接地址 3 1
CLR A 累加器清零 1 2
CPL A 累加器求反 1 1
RL A 累加器循环左移 1 1
RLC A 带进位累加器循环左移 1 1
RR A 累加器循环右移 1 1
RRC A 带进位累加器循环右移 1 1
SWAP A 累加器高、低4 位交换 1 1
(控制转移类指令)
JMP @A+DPTR 相对DPTR 的无条件间接转移 1 2
JZ rel 累加器为0 则转移 2 2
JNZ rel 累加器为1 则转移 2 2
CJNE A,direct,rel 比较直接地址和累加器,不相等转移 3 2
CJNE A,#data,rel 比较立即数和累加器,不相等转移 3 2
CJNE Rn,#data,rel 比较寄存器和立即数,不相等转移 2 2
CJNE @Ri,#data,rel 比较立即数和间接RAM,不相等转移 3 2
DJNZ Rn,rel 寄存器减1,不为0 则转移 3 2
DJNZ direct,rel 直接地址减1,不为0 则转移 3 2
NOP 空操作,用于短暂延时 1 1
ACALL add11 绝对调用子程序 2 2
LCALL add16 长调用子程序 3 2
RET 从子程序返回 1 2
RETI 从中断服务子程序返回 1 2
AJMP add11 无条件绝对转移 2 2
LJMP add16 无条件长转移 3 2
SJMP rel 无条件相对转移 2 2
(布尔指令)
CLR C 清进位位 1 1
CLR bit 清直接寻址位 2 1
SETB C 置位进位位 1 1
SETB bit 置位直接寻址位 2 1
CPL C 取反进位位 1 1
CPL bit 取反直接寻址位 2 1
ANL C,bit 直接寻址位“与”到进位位 2 2
ANL C,/bit 直接寻址位的反码“与”到进位位 2 2
ORL C,bit 直接寻址位“或”到进位位 2 2
ORL C,/bit 直接寻址位的反码“或”到进位位 2 2
MOV C,bit 直接寻址位传送到进位位 2 1
MOV bit, C 进位位位传送到直接寻址 2 2
JC rel 如果进位位为1 则转移 2 2
JNC rel 如果进位位为0 则转移 2 2
JB bit,rel 如果直接寻址位为1 则转移 3 2
JNB bit,rel 如果直接寻址位为0 则转移 3 2
JBC bit,rel 直接寻址位为1 则转移并清除该位 2 2
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯