汇编语言指令系统
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MOV A , Rn
;A←(Rn)
MOV A , @Ri
;A←((Ri))
1.数据传送类指令(29条)
4
1.1 普通传送指令
1.1.1 片内数据存储器传送指令(16条)
(2)以Rn为目的操作数的指令(3条)
MOV Rn , #data
;Rn← data
MOV Rn , direct ;Rn←(direct)
;A←(A)﹣1 ;Rn←(Rn)﹣1 ;direct←(direct)﹣1 ;(Ri)←((Ri))﹣1
2.算术运算类指令(24条)
14
2.3 乘法指令
MUL AB
16位乘积的低位字节放在A中,高位字节放在B中。
2.4 除法指令
DIV AB
被除数:A
除数:B
指令执行后,商存于A中,余数存于B中。
2
2
2
2.算术运算类指令(24条)
11
2.1 加法指令
2.1.1 不带进位的加法指令
ADD A , #data
;A←(A)+data
ADD A , direct
;A←(A)+(direct)
ADD A , Rn
;A←(A)+(Rn)
ADD A , @Ri
;A←(A)+((Ri))
2.1.2 带进位的加法指令
2.5 十进制调整指令
DA
A
用于对BCD码十进制数加法运算的结果进行修正。
MOV direct , A
;direct←(A)
MOV direct , Rn
;direct←(Rn)
MOV direct , @Ri
;direct←((Ri))
1.数据传送类指令(29条)
6
1.1 普通传送指令
1.1.1 片内数据存储器传送指令(16条)
(4)以寄存器间接寻址为目的操作数的指令(3条)
MOV Rn , A
;Rn←(A)
1.数据传送类指令(29条)
5
1.1 普通传送指令
1.1.1 片内数据存储器传送指令(16条)
(3)以直接地址为目的操作数的指令(5条)
MOV direct , #data ;direct←data
MOV direct , direct ;direct←(direct)
XCH A , @ Ri (2)半字节交换指令
;(A)((Ri))
XCHD A , @ Ri
;(A)3~0 ((Ri))3~0
(3)累加器高低半字节交换指令
SWAP A
;(A)3~0 (A)7~4
1.数据传送类指令(29条)
10
1.3 堆栈操作指令 入栈操作的过程是:先将堆栈指针自动加1,然后数据压入堆栈。 出栈操作与此相反,先从堆栈中将数据弹出,送给direct单元,然后指针自动减1。 无论是入栈操作还是出栈操作,其操作对象只能是用direct形式表示的内部数据
INC A INC Rn INC direct INC @Ri INC DPTR
; A←(A)+1 ; Rn←(Rn)+1 ; direct←(direct)+1 ;(Ri)←((Ri))+1 ; DPTR←(DPTR)+1
2.算术运算类指令(24条)
13
2.2 减法指令 2.2.1 带借位的减法指令
ADDC A , #data
;A←(A)+data+(CY)
ADDC A , direct ;A←(A)+(direct)+(CY)
ADDC A , Rn
;A←(A)+(Rn)+(CY)
ADDC A , @Ri
;A←(A)+((Ri))+(CY)
2.算术运算类指令(24条)
12
2.1 加法指令 2.1.3 加“1”指令
共有2条访问存储器的查表指令:
MOVC A , @A+DPTR MOVC A , @A+PC
;A←((A)+(DPTR)) ;A←((A)+(PC))
1.数据传送类指令(29条)
9
1.2 数据交换指令(5条)
(1)整字节交换指令
XCH A , Rn XCH A , direct
;(A)(Rn) ;(A)(direct)
MOV @Ri , #data
;(Ri)←data
MOV @Ri , direct ;(Ri)←(direct)
MOV @Ri , A
;(Ri)←(A)
(5)16位数据传送指令(1条)
MOV DPTR , #data16 ;DPTR←data16
1.数据传送类指令(29条)
7
1.1 普通传送指令
1.1.2 片外数据存储器传送指令(4条)
(1)使用DPTR进行间接寻址
MOVX A , @ DPTR ;A←((DPTR))
MOVX @ DPTR , A ;(DPTR)←A
(2)使用Ri进行间接寻址
MOVX A , @ Ri
;A←((Ri))
MOVX @ Ri ,A
;(Ri)←A
1.数据传送类指令(29条)
8
1.1 普通传送指令 1.1.3 程序存储器传送指令(2条)
间址寄存器和立即数 目的操作数:累加器A、通用寄存器Rn、直接地址、
direct、间址寄存器
1.数据传送类指令(29条)
3
1.1 普通传送指令
1.1.1 片内数据存储器传送指令(16条)
(1)以A为目的操作数的指令(4条)
MOV A , #data
;A← data
MOV A , direct ;A←(direct)
汇编语言指令系统
1
汇编语言指令系统
1.数据传送类指令(29条) 2.算术运算类指令(24条) 3.逻辑运算及移位类指令(24条) 4.控制转移类指令(17条) 5.位操作类指令(17条)
1.数据传送类指令(29条)
2
1.1 普通传送指令
指令格式:MOV <目的操作数> ,<源操作数> 源操作数:累加器A、通用寄存器Rn、直接地址 direct、
SUBB A , #data SUBB A , direct SUBB A , Rn SUBB A , @Ri 2.2.2 减1指令组 DEC A DEC Rn DEC direct DEC @Ri
;A←(A)﹣data﹣(CY) ;A←(A)﹣(direct)﹣(CY) ;A←(A)﹣(Rn)﹣(CY) ;A←(A)﹣((Ri))﹣(CY)
存储空间地址(00H~7FH)或某个特殊功能寄存器。
汇编格式 机器语言格式
PUSH direct
1100 0000 direct
POP direct
1101 0000 direct
操作功能 SP←(SP)+1 (SP)←(direct) direct←((SP)) SP←(SP)-1
字节数 周期数
2