0351汇编指令第3章0-PPT文档资料
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(X) ((X))
3.2 寻址方式
计算机寻找操作数或操作数地址的方式
1、立即寻址 2、直接寻址
3、寄存器寻址
4、寄存器间接寻址 5、相对寻址 6、变址寻址 7、位寻址
1. 立即寻址
指令中直接给出操作数,立即数,# 号
例如:MOV A,#30H
程序存储器 ROM 74H 30H
ACC 30H
2. 直接寻址
注释
必须以分号开始,有助于编写、阅读程序。
3.1.2 MCS-51单片机指令分类
单字节指令49 按指令的 字节数
INC
双字节指令46
MOV A,direct
按指令的 执行时间
单周期指令57 双周期指令52 四周期指令2
乘、除
三字节指令16 Mov direct,#data
数据传送指令(28条) 按指令的功能
JNC 2AH
NOT CY
目的地址 = 首地址 + 转移指令字节数 + rel
地址偏移量
程序存储器 ROM 2002H PC →2000H PC+1 →2001H 01010000 00101010 操作码50H 偏移量2AH ALU
PC当前值
A
2AH
PC → 2019H
202CH
目的地址
6. 变址寻址
第3章MCS-51单片机指令系统与汇编语言程序设计
3.1 MCS-51指令系统概述 3.2 寻址方式 3.3 数据传送指令3.4 算术/逻辑运算和移位指令 3.5 控制转移指令和位操作指令 3.6 汇编语言程序设计 3.7 汇编语言程序设计实验
3.1 MCS-51指令系统概述
基址寄存器 —— DPTR或PC 变址寄存器 —— 地址偏移量
变址寻址的操作数存放在程序存储器ROM中:
操作数的地址=基址寄存器的内容+变址寄存器的内容 该地址所指向的程序存储器单元的内容为操作数
例如:MOVC A,A+DPTR
A 2 DPTR ROM
+
2100H
=
2102H
2100H 2101H 2102H 2103H
算术运算指令(24条) 逻辑运算指令和移位指令(25条) 控制转移指令(17条)
有条件、无条件、调用、返回 影响PSW 8位、16位
位操作指令(17条) 42种助记符 111条指令
位传、置位、位运算、位控制转移 (布尔变量操作指令)
51种基本操作
3.1.3MCS-51单片机指令系统综述
Rn: 工作寄存器,n=0,1…7 #data: 8位立即数 direct: 8位直接地址 Ri: 寄存器间接寻址,只可R0或R1 #data16: 16位立即数 DPTR : 数据指针,16位 DPTR: 以DPTR为数据指针的间接寻址 bit: 位地址,直接寻址位 addr11: 11位的目标地址 addr16: 16位的目标地址 rel: 8位带符号的地址偏移量 $: 当前指令的地址 /:位操作数取反
00H 01H 04H 09H
仅有的3条指令:
MOVC A, A+DPTR MOVC A, A+PC JMP A+DPTR
A
04
7. 位寻址
对内部RAM中的位寻址区和可位寻址的特殊功能寄存器进行位操作。
SFR
SETB CLR
20H ;24H.0 31H ;26H.1
SETB CLR
C ;PSW.7 ACC.0
1
0
0
1
4种位地址表示方法:
1)直接使用位地址
(20H~2FH)(00H~7FH)
2)单元地址加位表示法
20H.2
3)位名称表示法
SFR
4)专用寄存器名称加位表示法
PSW.5
寻址方式与对应存储器对应关系
源寻 址 方 式
立即寻址 直接寻址 程序存储器
使用空间
内部RAM低128B,SFR
寄存器寻址
寄存器间接寻址 相对寻址 变址寻址 位寻址
标号
[源操作数]
[;注释]
指令的符号地址,代表语句的机器码所在存储单元地址 字母开头,字母加数字组成,1-8个字符组成
操作码
指示计算机进行何种操作,用助记符形式给出
操作数
存放指令的操作数或操作数地址,是指令的操作对象 可以是地址、数据、标号、寄存器名 二进制数后要加B,十进制数后加D,十六进制数后加H 十六进制数的开头为字母时,还应以0开头,如mov A ,0FFA0H
3.1.1 指令及指令格式
指令
要求计算机执行特定操作的命令
指令系统
指令的集合或全体
指令的表示形式
二进制、十六进制和助记符
指令的格式
操作码 操作数或操作数地址
指令的字节数
存放指令时所占的字节
汇编指令的具体格式为: [标号:] 操作码 [目的操作数,]
max: mov A,R0 ;读取源数据
A、B、DPTR、R0~R7
内部RAM低128B(R0,R1) 外部RAM(R0,R1,DPTR) 程序存储器256B范围(PC+偏移量) 程序存储器(A+DPTR,A+PC) 内部RAM的20H~2FH的128位,SFR中的83位
目的寻址方式 •寄存器寻址 •直接寻址 •寄存器间接寻址 •位寻址
3.3数据传送指令
例如:MOV A,R1
程序存储器ROM
组成8位地址 内部RAM 第X组 ACC 5AH R1 5AH
PC
11101
001
E9H
0 0 0
0 0 1
操作码 PSW
…
RS1 RS0 第X组
…
4. 寄存器间接寻址
以指令所指定寄存器中的内容为地址(二次寻址) 该地址所指向的内部RAM单元的内容为操作数
例如: MOV A,R1
区别:MOV A,R1 MOV A,R1
内部 RAM 第X组
程序存储器ROM PC E7H
组成8位地址 0 0 0 0 0 1 R1 5AH ACC 30H
1110011 1
操作码 PSW … RS1 RS0 第X组 …
5AH
30H
5. 相对寻址
指令中给用于访问程序存储器 PC + x
指令中直接含有操作数的地址
PC
程序存储器ROM
11100101 操作码E5H
直接地址30H
例如:MOV A,30H PC+1 00110000
内部RAM 31H 30H 33H 5AH ACC 5AH
区别:MOV A,30H MOV A,#30H
P34
3. 寄存器寻址
指令中给出存放操作数的寄存器:A、B、DPTR、R0~R7
3.2 寻址方式
计算机寻找操作数或操作数地址的方式
1、立即寻址 2、直接寻址
3、寄存器寻址
4、寄存器间接寻址 5、相对寻址 6、变址寻址 7、位寻址
1. 立即寻址
指令中直接给出操作数,立即数,# 号
例如:MOV A,#30H
程序存储器 ROM 74H 30H
ACC 30H
2. 直接寻址
注释
必须以分号开始,有助于编写、阅读程序。
3.1.2 MCS-51单片机指令分类
单字节指令49 按指令的 字节数
INC
双字节指令46
MOV A,direct
按指令的 执行时间
单周期指令57 双周期指令52 四周期指令2
乘、除
三字节指令16 Mov direct,#data
数据传送指令(28条) 按指令的功能
JNC 2AH
NOT CY
目的地址 = 首地址 + 转移指令字节数 + rel
地址偏移量
程序存储器 ROM 2002H PC →2000H PC+1 →2001H 01010000 00101010 操作码50H 偏移量2AH ALU
PC当前值
A
2AH
PC → 2019H
202CH
目的地址
6. 变址寻址
第3章MCS-51单片机指令系统与汇编语言程序设计
3.1 MCS-51指令系统概述 3.2 寻址方式 3.3 数据传送指令3.4 算术/逻辑运算和移位指令 3.5 控制转移指令和位操作指令 3.6 汇编语言程序设计 3.7 汇编语言程序设计实验
3.1 MCS-51指令系统概述
基址寄存器 —— DPTR或PC 变址寄存器 —— 地址偏移量
变址寻址的操作数存放在程序存储器ROM中:
操作数的地址=基址寄存器的内容+变址寄存器的内容 该地址所指向的程序存储器单元的内容为操作数
例如:MOVC A,A+DPTR
A 2 DPTR ROM
+
2100H
=
2102H
2100H 2101H 2102H 2103H
算术运算指令(24条) 逻辑运算指令和移位指令(25条) 控制转移指令(17条)
有条件、无条件、调用、返回 影响PSW 8位、16位
位操作指令(17条) 42种助记符 111条指令
位传、置位、位运算、位控制转移 (布尔变量操作指令)
51种基本操作
3.1.3MCS-51单片机指令系统综述
Rn: 工作寄存器,n=0,1…7 #data: 8位立即数 direct: 8位直接地址 Ri: 寄存器间接寻址,只可R0或R1 #data16: 16位立即数 DPTR : 数据指针,16位 DPTR: 以DPTR为数据指针的间接寻址 bit: 位地址,直接寻址位 addr11: 11位的目标地址 addr16: 16位的目标地址 rel: 8位带符号的地址偏移量 $: 当前指令的地址 /:位操作数取反
00H 01H 04H 09H
仅有的3条指令:
MOVC A, A+DPTR MOVC A, A+PC JMP A+DPTR
A
04
7. 位寻址
对内部RAM中的位寻址区和可位寻址的特殊功能寄存器进行位操作。
SFR
SETB CLR
20H ;24H.0 31H ;26H.1
SETB CLR
C ;PSW.7 ACC.0
1
0
0
1
4种位地址表示方法:
1)直接使用位地址
(20H~2FH)(00H~7FH)
2)单元地址加位表示法
20H.2
3)位名称表示法
SFR
4)专用寄存器名称加位表示法
PSW.5
寻址方式与对应存储器对应关系
源寻 址 方 式
立即寻址 直接寻址 程序存储器
使用空间
内部RAM低128B,SFR
寄存器寻址
寄存器间接寻址 相对寻址 变址寻址 位寻址
标号
[源操作数]
[;注释]
指令的符号地址,代表语句的机器码所在存储单元地址 字母开头,字母加数字组成,1-8个字符组成
操作码
指示计算机进行何种操作,用助记符形式给出
操作数
存放指令的操作数或操作数地址,是指令的操作对象 可以是地址、数据、标号、寄存器名 二进制数后要加B,十进制数后加D,十六进制数后加H 十六进制数的开头为字母时,还应以0开头,如mov A ,0FFA0H
3.1.1 指令及指令格式
指令
要求计算机执行特定操作的命令
指令系统
指令的集合或全体
指令的表示形式
二进制、十六进制和助记符
指令的格式
操作码 操作数或操作数地址
指令的字节数
存放指令时所占的字节
汇编指令的具体格式为: [标号:] 操作码 [目的操作数,]
max: mov A,R0 ;读取源数据
A、B、DPTR、R0~R7
内部RAM低128B(R0,R1) 外部RAM(R0,R1,DPTR) 程序存储器256B范围(PC+偏移量) 程序存储器(A+DPTR,A+PC) 内部RAM的20H~2FH的128位,SFR中的83位
目的寻址方式 •寄存器寻址 •直接寻址 •寄存器间接寻址 •位寻址
3.3数据传送指令
例如:MOV A,R1
程序存储器ROM
组成8位地址 内部RAM 第X组 ACC 5AH R1 5AH
PC
11101
001
E9H
0 0 0
0 0 1
操作码 PSW
…
RS1 RS0 第X组
…
4. 寄存器间接寻址
以指令所指定寄存器中的内容为地址(二次寻址) 该地址所指向的内部RAM单元的内容为操作数
例如: MOV A,R1
区别:MOV A,R1 MOV A,R1
内部 RAM 第X组
程序存储器ROM PC E7H
组成8位地址 0 0 0 0 0 1 R1 5AH ACC 30H
1110011 1
操作码 PSW … RS1 RS0 第X组 …
5AH
30H
5. 相对寻址
指令中给用于访问程序存储器 PC + x
指令中直接含有操作数的地址
PC
程序存储器ROM
11100101 操作码E5H
直接地址30H
例如:MOV A,30H PC+1 00110000
内部RAM 31H 30H 33H 5AH ACC 5AH
区别:MOV A,30H MOV A,#30H
P34
3. 寄存器寻址
指令中给出存放操作数的寄存器:A、B、DPTR、R0~R7