(单片机完整课件PPT)第三章
合集下载
单片机第三章PPT教学课件

2020/12/10
3
4.完成以下的数据传送过程。 (1)R1的内容传送到R0。 (2)片外RAM 20H单元的内容送R0。 (3)片外RAM 20H单元的内容送片内RAM 20H (4)片外RAM 1000H单元的内容送片内RAM 20H (5)片外RAM 20H单元的内容送R0。 (6)片外RAM 2000H单元的内容送片内RAM 20H (7)片外RAM 20H单元的内容送片外RAM 20H
2020/12/10
4
(1)R1的内容传送到R0 ;
MOV A,
R1
MOV R0, A
(2)片外RAM 20H单元内容送R0 ;
MOV DPTR, #0020H
MOVX A,
@
MOV R0, A
(3)片外 RAM 20H单元的内容送片内RAM 20H单元;
MOV DPTR, #0020H
MOVX A, @DPTR
LOOP:MOV A,@R1
MOVX @DPTR,A
INC R1
INC DPTR
DJNZ R7,LOOP
SJMP $
2020/12/10 END
7
6.设有100个有符号数,连续存放在片外RAM以2200H为首 地址的存储区中,试片成统计其中正数|、负数、零的个数。
ORG 0000H
LJMP MAIN
2020/12/10
12
2020/12/10
2
3.在8051的片内RAM中,已知(20H)=30H, (30H)=40H,(40H)=50H,(50H)=55H。
分析下面各条指令,说明源操作数的寻址方式, 分析按顺序执行各条指令后的结果。
MOV A,40H MOV R0,A MOV P1,#0F0H MOV @R0,20H MOV 50H,R0 MOV A,@R0 MOV P2,P1
单片机原理及应用课件(第3讲)

6
第指令,42种操作助记符,描述33种操作功能 。
从功能:数据传送(29)、算术运算(24)、逻辑操作 (24)、控制转移(17)、位操作(17); 从空间:单字节(49)、双字节(45条)、三字节(17 条); 从时间:单机器周期(64条)、双机器周期(45条)、四 机器周期(2)
Author: Zhanghaitao E_mail: zht_sir@
3
第3章 MCS-51单片机指令系统
§3-1 寻址方式
1、概述 寻址就是寻找指令中操作数或操作数所在的地址。
寻址方式就是如何找到存放操作数的地址,把操 作数提取出来的方法 。它是计算机的重要性能 指标之一,也是汇编语言程序设计中最基本的 内容之一。
Author: Zhanghaitao
E_mail: zht_sir@
16
第3章 MCS-51单片机指令系统
§3-3 指令系统——数据传送类
6. XCHD,SWAP半字交换指令 XCHD A,@Ri SWAP A 例如 (A)=12H, (R1)=30H,(30H)=34H XCHD A,@R1 (A)=? (30H)=? 例如 (A)=12H SWAP A (A)= ?
Author: Zhanghaitao
E_mail: zht_sir@
20
第3章 MCS-51单片机指令系统
二、算术运算类(24条)
1. 不带进位的加法指令,影响P,OV,AC,C ADD A,Rn ADD A,direct ADD A,@Ri ADD A,#data 2. 带进位的加法指令,影响P,OV,AC,C ADDC A,Rn ADDC A,direct ADDC A,@Ri ADDC A,#data 3. 带借位的减法指令,影响P,OV,AC,C SUBB A,Rn SUBB A,direct SUBB A,@Ri SUBB A,#data
第指令,42种操作助记符,描述33种操作功能 。
从功能:数据传送(29)、算术运算(24)、逻辑操作 (24)、控制转移(17)、位操作(17); 从空间:单字节(49)、双字节(45条)、三字节(17 条); 从时间:单机器周期(64条)、双机器周期(45条)、四 机器周期(2)
Author: Zhanghaitao E_mail: zht_sir@
3
第3章 MCS-51单片机指令系统
§3-1 寻址方式
1、概述 寻址就是寻找指令中操作数或操作数所在的地址。
寻址方式就是如何找到存放操作数的地址,把操 作数提取出来的方法 。它是计算机的重要性能 指标之一,也是汇编语言程序设计中最基本的 内容之一。
Author: Zhanghaitao
E_mail: zht_sir@
16
第3章 MCS-51单片机指令系统
§3-3 指令系统——数据传送类
6. XCHD,SWAP半字交换指令 XCHD A,@Ri SWAP A 例如 (A)=12H, (R1)=30H,(30H)=34H XCHD A,@R1 (A)=? (30H)=? 例如 (A)=12H SWAP A (A)= ?
Author: Zhanghaitao
E_mail: zht_sir@
20
第3章 MCS-51单片机指令系统
二、算术运算类(24条)
1. 不带进位的加法指令,影响P,OV,AC,C ADD A,Rn ADD A,direct ADD A,@Ri ADD A,#data 2. 带进位的加法指令,影响P,OV,AC,C ADDC A,Rn ADDC A,direct ADDC A,@Ri ADDC A,#data 3. 带借位的减法指令,影响P,OV,AC,C SUBB A,Rn SUBB A,direct SUBB A,@Ri SUBB A,#data
单片机第三章课件

第三章 汇编语言程序设计
一、程序设计概述
(一)程序设计语言 1.机器语言 机器语言是用机器码编写程序。能被计算机直接识别 和执行。
2.汇编语言 汇编语言是用助记符编写程序。
汇编:计算机不能直接识别和执行汇编语言程序,而要通过“翻译”把 源程序译成机器语言程序(目标程序)才能执行,这一“翻译”工作称 为汇编。汇编有人工汇编和计算机汇编两种方法。
பைடு நூலகம்
ORG 0000H MOV A,R1 MOV B,A MUL AB CLR C SUBB A,R2 MOV R4,A MOV A,B SUBB A,#00H MOV R5,A SJMP $ END
【例3-5】编写拆字程序。 将MCS—51片内RAM中20H单元中的高半字节送21H单元 的低半字节,低半字节送22H单元的低半字节,两个单元的 高半字节为0。 程序如下: MOV A,20H SWAP A ANL A,#0FH MOV 21H,A MOV A,20H ANL A,#0FH MOV 22H, A
课堂练习: 1.编写拼字程序。将8051片内RAM50H单元中的高半字节和 51H单元的低半字节拼成一个数,送52H单元。
【例3-6】编写查表程序。 将十六进制数转换为ASCII码。设1位十六进制数存在R0寄 存器的低4位,转换后的ASCII码仍送回R0中。 解: 待转换的十六进制数为0~F。根据ASCII码表可知,0~9 的ASCII码为30H~39H,A~F的ASCII码为41H~46H。将 以上ASCII码值列成表格。
三、分支结构程序设计 在程序设计中,经常需要计算机对某情况进行判断,然后根 据判断的结果选择程序执行的流向,这就是分支程序。 在汇编语言程序中,通常利用条件转移指令形成不同的程序 分支。 1.单分支程序 【例3-7】 在片内RAM 30H单元中存有一个带符号数,试 判断该数的正负性,若为正数,将6EH位清0;若为负数, 将6EH位置1。
一、程序设计概述
(一)程序设计语言 1.机器语言 机器语言是用机器码编写程序。能被计算机直接识别 和执行。
2.汇编语言 汇编语言是用助记符编写程序。
汇编:计算机不能直接识别和执行汇编语言程序,而要通过“翻译”把 源程序译成机器语言程序(目标程序)才能执行,这一“翻译”工作称 为汇编。汇编有人工汇编和计算机汇编两种方法。
பைடு நூலகம்
ORG 0000H MOV A,R1 MOV B,A MUL AB CLR C SUBB A,R2 MOV R4,A MOV A,B SUBB A,#00H MOV R5,A SJMP $ END
【例3-5】编写拆字程序。 将MCS—51片内RAM中20H单元中的高半字节送21H单元 的低半字节,低半字节送22H单元的低半字节,两个单元的 高半字节为0。 程序如下: MOV A,20H SWAP A ANL A,#0FH MOV 21H,A MOV A,20H ANL A,#0FH MOV 22H, A
课堂练习: 1.编写拼字程序。将8051片内RAM50H单元中的高半字节和 51H单元的低半字节拼成一个数,送52H单元。
【例3-6】编写查表程序。 将十六进制数转换为ASCII码。设1位十六进制数存在R0寄 存器的低4位,转换后的ASCII码仍送回R0中。 解: 待转换的十六进制数为0~F。根据ASCII码表可知,0~9 的ASCII码为30H~39H,A~F的ASCII码为41H~46H。将 以上ASCII码值列成表格。
三、分支结构程序设计 在程序设计中,经常需要计算机对某情况进行判断,然后根 据判断的结果选择程序执行的流向,这就是分支程序。 在汇编语言程序中,通常利用条件转移指令形成不同的程序 分支。 1.单分支程序 【例3-7】 在片内RAM 30H单元中存有一个带符号数,试 判断该数的正负性,若为正数,将6EH位清0;若为负数, 将6EH位置1。
第3章(第5版)李朝青-单片机原理及接口技术(第5版)课件

例如
19:47
单片机原理及接口技术 16
例如:MOVC A,@A+DPTR;((A)+(DPTR))→A 如图所示
DPTR内容与A的内容之 和为程序存储器地址
ROM
DPTR
02F1H
①
+ 0302H 1EH
A 11H ②
A 1EH
程序存储器内容送A
19:47
单片机原理及接口技术 17
6、相对寻址
设计者:刘艳玲
19:47
单片机原理及接口技术 1
第3章 指令系统
§3.1 §3.2 §3.3 §3.4
汇编语言 寻址方式 89C51/S51指令系统 思考题与习题
19:47
单片机原理及接口技术 2
§3.1
§3.1.1 §3.1.2
汇编语言
指令和程序设计语言 指令格式
19:47
单片机原理及接口技术 3
19:47
单片机原理及接口技术 18
7、位寻址
位寻址:采用位寻址方式的指令的操作数是8位
二进制数中的某一位,指令中给出的是位地址。 位地址在指令中用bit表示。 例如:CLR bit;
位地址的两种表示方法:直接使用位地址,如
D3H;直接用寄存器名字加位数,如PSW.3。
位寻址区域:片内RAM的20H-2FH的16个单元
4、寄存器间接寻址
寄存器间接寻址:操作数的地址事先存放在某个寄存器
中,寄存器间接寻址是把指定寄存器的内容作为地址,由该 地址所指定的单元内容作为操作数。 89C51/S51规定R0或R1为间接寻址寄存器,它可寻址内 部地址RAM低位的128B单元内容。还可采用DPTR作为间 接寻址寄存器,寻址外部数据存储器的64KB空间。 例如
19:47
单片机原理及接口技术 16
例如:MOVC A,@A+DPTR;((A)+(DPTR))→A 如图所示
DPTR内容与A的内容之 和为程序存储器地址
ROM
DPTR
02F1H
①
+ 0302H 1EH
A 11H ②
A 1EH
程序存储器内容送A
19:47
单片机原理及接口技术 17
6、相对寻址
设计者:刘艳玲
19:47
单片机原理及接口技术 1
第3章 指令系统
§3.1 §3.2 §3.3 §3.4
汇编语言 寻址方式 89C51/S51指令系统 思考题与习题
19:47
单片机原理及接口技术 2
§3.1
§3.1.1 §3.1.2
汇编语言
指令和程序设计语言 指令格式
19:47
单片机原理及接口技术 3
19:47
单片机原理及接口技术 18
7、位寻址
位寻址:采用位寻址方式的指令的操作数是8位
二进制数中的某一位,指令中给出的是位地址。 位地址在指令中用bit表示。 例如:CLR bit;
位地址的两种表示方法:直接使用位地址,如
D3H;直接用寄存器名字加位数,如PSW.3。
位寻址区域:片内RAM的20H-2FH的16个单元
4、寄存器间接寻址
寄存器间接寻址:操作数的地址事先存放在某个寄存器
中,寄存器间接寻址是把指定寄存器的内容作为地址,由该 地址所指定的单元内容作为操作数。 89C51/S51规定R0或R1为间接寻址寄存器,它可寻址内 部地址RAM低位的128B单元内容。还可采用DPTR作为间 接寻址寄存器,寻址外部数据存储器的64KB空间。 例如
第三章 PIC单片机指令系统PPT课件

我们需要掌握的是: 汇编语言的程序格式、语句格式、助记符、伪指令。 程序的4种基本结构:顺序、分支、循环和子程序。
53
汇编语言程序设计
2.PIC 汇编语言的程序流程图
(1)程序流程图常用的图形符号 圆角矩形框为起始/终止框,表示一个程序的开
始或结束。 矩形框为任务框,表示要处理的任务。 菱形框为判断框,表示要判断的因素,判断结果
15
2.指令符号的意义说明
在PIC系列单片机指令中常把数据存储器RAM当作 寄存器来使用(处理)并用字母f(或F)表示。
d 代表操作数的目标装置选择,定义d=0,结果存入 W;d=1结果存入(文件)寄存器f,当使用汇编程序 指令d缺省时,默认d=1。
b代表(文件)寄存器(8位)的位地址(0~7取值)。如寄 存器的8位为b7、b6……b1、b0,若b=1代表寄存 器的第b1位。
ADDLW 21H
8
3.直接寻址
操作数所在的存储单元地址直接在指令中形式给 出,就称之为直接寻址。这种方式可以对任何一 个寄存器进行直接寻址访问。
9
4.位寻址
这种寻址方式是对寄存器中的任一位(bit) 进行操作。
10
例3-1 ADDLW 16H
11
例2-2 IORWF 26H, 0
结果存放装置的选择
k代表立即数、常数和数据标号。
16
指令集
17
字节操作指令
1.寄存器加法指令
0=w 1=f
d equ 0 FSR equ 0XC2 Addwf fsr,d
18
字节操作指令
2.寄存器减法指令
19
字节操作指令
3.寄存器加1指令
CNT+1-->CNT
53
汇编语言程序设计
2.PIC 汇编语言的程序流程图
(1)程序流程图常用的图形符号 圆角矩形框为起始/终止框,表示一个程序的开
始或结束。 矩形框为任务框,表示要处理的任务。 菱形框为判断框,表示要判断的因素,判断结果
15
2.指令符号的意义说明
在PIC系列单片机指令中常把数据存储器RAM当作 寄存器来使用(处理)并用字母f(或F)表示。
d 代表操作数的目标装置选择,定义d=0,结果存入 W;d=1结果存入(文件)寄存器f,当使用汇编程序 指令d缺省时,默认d=1。
b代表(文件)寄存器(8位)的位地址(0~7取值)。如寄 存器的8位为b7、b6……b1、b0,若b=1代表寄存 器的第b1位。
ADDLW 21H
8
3.直接寻址
操作数所在的存储单元地址直接在指令中形式给 出,就称之为直接寻址。这种方式可以对任何一 个寄存器进行直接寻址访问。
9
4.位寻址
这种寻址方式是对寄存器中的任一位(bit) 进行操作。
10
例3-1 ADDLW 16H
11
例2-2 IORWF 26H, 0
结果存放装置的选择
k代表立即数、常数和数据标号。
16
指令集
17
字节操作指令
1.寄存器加法指令
0=w 1=f
d equ 0 FSR equ 0XC2 Addwf fsr,d
18
字节操作指令
2.寄存器减法指令
19
字节操作指令
3.寄存器加1指令
CNT+1-->CNT
C51单片机的存储器结构ppt课件

当内部数据存储器不够用时,在单片机的总
线上可以最大扩展64K的RAM,可独立寻址,有公 用指令系统〔MOVX传送指令〕,不能用于数据的 运算及处置,所以仅有4条指令,两条读,两条写, 用于普通数据的存放,地址为0000H-FFFFH。寻 址方式采用存放器间接寻址的方式,如MOVX A , @DPTR.,指令中DPTR,开辟在特殊功能存放器 〔SFR〕中,是一个16位的数据存储器〔数据指针
图3-3 内部数据存储器构造
7FH
用户区
30H 2FH
位寻址区
20H 1FH
工作寄存 器区
00H
〔1〕任务存放器区〔00H~1FH〕
共32个单元,又分为4组,每组8个单元,都用 R0~R7表示,如图3-4所示,
1FH
R7
3组
18H
R0
17H
R7
2组
10H
R0
0FH
R7
1组
08H
R0
07H
R7
06H
3-5所示, 指令MOV A , @R0 操作表示。 可以用〔〔R0〕〕=(40H)=AAH表示。
40H 1 0 1 0 1 0 1 0 30H 2FH 20H 1FH 00H 0 1 0 0 0 0 0 0 R0
注:
★ 在存放器寻址中〔Rn〕,这4组存放器,由 用户运用中经过PSW中的RS1和RS0的设定,来确 定用户运用的组。
1000H 0FFFH
外部程序储 存器64K (ROM)
80H 7FH 内部数据
储存器
128B (SRAM) 00H
0000H
内部程序储 存器4K
(ROM)
0000H
★内部数据存储器和外部数据存储器相互之间独立编址,
线上可以最大扩展64K的RAM,可独立寻址,有公 用指令系统〔MOVX传送指令〕,不能用于数据的 运算及处置,所以仅有4条指令,两条读,两条写, 用于普通数据的存放,地址为0000H-FFFFH。寻 址方式采用存放器间接寻址的方式,如MOVX A , @DPTR.,指令中DPTR,开辟在特殊功能存放器 〔SFR〕中,是一个16位的数据存储器〔数据指针
图3-3 内部数据存储器构造
7FH
用户区
30H 2FH
位寻址区
20H 1FH
工作寄存 器区
00H
〔1〕任务存放器区〔00H~1FH〕
共32个单元,又分为4组,每组8个单元,都用 R0~R7表示,如图3-4所示,
1FH
R7
3组
18H
R0
17H
R7
2组
10H
R0
0FH
R7
1组
08H
R0
07H
R7
06H
3-5所示, 指令MOV A , @R0 操作表示。 可以用〔〔R0〕〕=(40H)=AAH表示。
40H 1 0 1 0 1 0 1 0 30H 2FH 20H 1FH 00H 0 1 0 0 0 0 0 0 R0
注:
★ 在存放器寻址中〔Rn〕,这4组存放器,由 用户运用中经过PSW中的RS1和RS0的设定,来确 定用户运用的组。
1000H 0FFFH
外部程序储 存器64K (ROM)
80H 7FH 内部数据
储存器
128B (SRAM) 00H
0000H
内部程序储 存器4K
(ROM)
0000H
★内部数据存储器和外部数据存储器相互之间独立编址,
单片机原理课件ppt

2
7
3 P C-TXD
8
4 串口通讯电缆线PC端子 9
5
Vcc 1 6 GND 15 T1o u t 1 4 R1 in 1 3 R1 ou t 1 2 T1in 1 1 T2in 1 0 R2 ou t 9
DB9
独石电容 1 04
P 3.1 5 1-TXD P 3.0 5 1-RXD
VCC
VCC
P 0.0
7 P1. 6 (MOSO) (AD5 ) P0. 5 3 4
8 P1. 7 (SCK) (AD6 ) P0. 6 3 3
9 RST
(AD7 ) P0. 7 3 2
1 0 P3. 0 (RXD) EA/VPP 3 1
1 1 P3. 1 (TXD) ALE/PROG 3 0
1 2 P3. 2 (INT0 )
第三章
第三章 指令系统与程序设计
第四章
第四章 MCS—51定时计数器及其应用
第五章
第五章 串行接口
VCC
1 04
独石电容
1 04
独石电容
1 04
独石电容
1 04
独石电容
TT L转RS232接口
RS23 2 1 C1+
Vcc 1 6
2 V+
GND 15
3 C1-
T1o u t 1 4
4 C2+
R1 in 1 3
P 0.1
P 0.2
P 0.3
P 0.4
P 0.5
P 0.6
P 0.7
EA ALE
VCC
P SEN
TLC2 5 4 3
VCC EOC C LOCK DATAI DATAO
第3章MCS51单片机指令系统1PPT课件

返回目录
43.1 指令系统简介------指令的两种格式
要让计算机工作,就得向计算机发出指令。
指令的格式是机器码指令格式, 如:75905B ,即数字格式。
另一种指令格式,即汇编指令格式, 如:MOV P1, #5BH
2020/9/26
张兴忠制作:
返回目录
5
3.1 指令系统简介
-----MCS-51汇编语言指令格式
地址的存储单元的内容。 →:表示数据传送方向。
2020/9/26
张兴忠制作:
返回目录
15
3.1.4 寻址方式
如何找到参与运算的操作数据或数据所在的 地址称为寻址方式。所以寻址方式是在地址范围 内如何找到所需要的操作数的地址。
MCS-51指令系统的寻址方式主要有立即寻址、 直接寻址、寄存器寻址、寄存器间接寻址、基址 加变址寻址、相对寻址和位寻址等七种。
单片机原理与接口技术
第3章 MCS-51单片机 指令系统
2020/9/26
张兴忠制作:
返回目录
1
本章教学要求
第3章 MCS-51单片机指令系统
熟悉MCS-51单片机指令系统的分类、格式; 熟悉MCS-51指令系统的七种寻址方式; 掌握MCS-51指令系统的数据传送、算术运算、逻
辑运算、转移操作、布尔运算等指令的功能;
1) 指令执行时间短。只需1个机器周期的指令有64 条,2个机器周期的指令有45条,而4个机器周 期的指令仅有2条(既乘法和除法指令)。
2) 指令字节少。单字节指令有49条,双字节指令 有46条,三字节指令有16条。
3) 位操作指令极为丰富,这体现了MCS-51单片机 具有面向控制的特点。
2020/9/26
Rn:表示当前工作寄存器R0~R7中的一个。 @Ri:表示寄存器间接寻址,常作间接寻址的地
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
寻址范围包括:
(1)内部RAM中的位寻址区。位有两种表示方法,例如, 40H;另一种是单元地址加上位,例如,(28H).0,指 的是28H单元中的最低位。它们是等价的。 (2)特殊功能寄存器中的可寻址位
可寻址位在指令中有如下4种的表示方法:
a. 直接使用位地址。例如PSW.5的位地址为0D5H。
b. 位名称的表示方法。例如:PSW.5是 F0 标志位,可使 用F0表示该位。 c.单元地址加位数的表示方法。例如 :(0D0H).5。 d.特殊功能寄存器符号加位数的表示方法。例如:PSW.5。
课堂练习:
指出下列指令中划线的操作数的寻址方式: Mov r0,#60h Mov a,30h Mov a, @r0 Movc a, @a+dptr Cjne a,#00h,one Cpl c Mov c,30h
如: MOV
A,Rn
;(Rn)→A,n=0~7
表示把寄存器Rn的内容传送给累加器A
寻址范围:ACC,B,DPTR,PSW,R0~R7,C
三、存储器寻址 寻址空间:64K 外RAM、64K ROM、128B 内RAM
1.直接寻址方式
操作数直接以单元地址的形式给出: MOV A,40H 寻址范围:内部RAM的256个单元 2.寄存器间接寻址方式 寄存器中存放的是操作数的地址 在寄存器的名称前面加前缀标志“@” 如: MOV A,@Ri ;i=0或1
单片机原理与应用技术
厦门理工学院电子与电气工程系 陈志英
第3章 单片机汇编语言编程技术
机器语言:是计算机可以识别和直接执行的语言,它是由一 组二进制代码组成。 汇编语言:是用助记符代替机器语言的操作码,用16进制 数代替二进制代码。 高级语言:是采用类似自然语言并与具体计算机类型基本无
关的程序设计语言。
3、指令编译
手工汇编:参照指令表 计算机汇编:使用专门的编译程序
4、指令中符号的意义:
Rn 当前寄存器区的 8 个工作寄存器 R0 ~ R7(n=0 ~ 7) 。
Ri 当前选中的寄存器区中可作间接寻址寄存器的2
个寄存器R0、R1(i=0,1)。 Direct 直接地址,即8位的内部数据存储器单元或 特殊功能寄存器的地址。 #data 包含在指令中的8位立即数。 #data16 包含在指令中的16位立即数。 rel 相对转移指令中的偏移量,为8位的带符号补
汇与高比较:汇占用内存少、执行速度快,更适合实时处理 系统。
3.1 3.2 3.3 3.4 3.5
指令基本概念 指令系统的寻址方式 指令系统分类介绍 伪指令 汇编语言程序设计
3.1 基本概念 指令系统:单片机所有指令的集合。 1、指令的基本格式
标号:操作码〔(目的操作数),(源操作数)〕 ;注释 标号——为该指令的符号地址,可根据需要设置。 操作码——是由助记符表示的字符串,它规定了指令的操 作功能。 操作数——是指参加操作的数据或数据地址。 注释——是对该指令作的说明,以便于阅读,可有可无,它 必须以“;”(半角)开始。
3.2 指令系统的寻址方式
寻址方式:就是在指令中说明操作数所在地址的方法。 按寻址存储空间分:共3大种寻址方式(7小种)。
一.立即寻址方式
操作数在指令中直接给出,需在操作数前面加前缀 标志“#”。例如: MOV A,#40H 寻址空间:64K ROM
二.寄存器寻址方式 指操作数在寄存器中,在指令中直接以 寄存器的名字来表示操作数所在的位置。
5.相对寻址方式
在 相 对 寻 址 的 转 移 指 令 中 , 给 出 了 地 址 偏 移 量 ,以 “rel” 表示,即把PC的当前值加上偏移量就构成了程序转移的 目的地址:
目的地址=转移指令所在的地址 + 转移指令的字节数+ rel
偏移量rel是一带符号的8位二进制数补码数 。范围是:
–128 ~ +127,向地址增加方向最大可转移(127+转移 指令字节)个单元地址,向地址减少方向最大可转移 (128-转移指令字节)个单元地址。
其中Ri中的内容为40H,把内部RAM中40H单元的内容送到A。
寻址范围: (1)访问内部RAM低128个单元,其通用形式为@Ri (2)对片外数据存储器的64K字节的间接寻址,例如: MOVX A,@DPTR (3)片外数据存储器的低256字节 例如:MOVX A,@Ri (4)堆栈区 堆栈操作指令PUSH(压栈)和POP(出栈)使用堆栈指 针(SP)作间址寄存器
说明: (1)本寻址方式是专门针对程序存储器的寻址方式, 寻址范围可达到64KB。 (2)本寻址方式的指令只有3条: MOVC A,@A+DPTR MOVC A,@A+PC JMP @A+DPTR
4.位寻址方式 MCS-51有位处理功能,可以对数据位进行操作,例如: MOV C,40H 是把位40H的值送到进位位C。
如:
Start:
标号
mov
a,#04h
;04h→a
注释
操作码 目的操 源操 作数 作数
2、指令字节
单字节:操Байду номын сангаас码 如:mov a,r0 ; e8
双字节:操作码 数据或寻址方式 如:mov a,#04h ; 74h,04h 三字节:操作码 数据或寻址方式 数据或寻址方式 如:mov 40h,#04h ; 75h,40h,04h
码数
DPTR
数据指针,可用作16位的地址寄存器。
bit
内部RAM或特殊功能寄存器中的直接寻址位。
C(或Cy) 进位标志位或位处理机中的累加器。
addr11
addr16 @ (X) →
11位目的地址
16位目的地址
间接寻址寄存器前缀,如@Ri,@A+DPTR X中的内容。
((X)) 由X寻址的单元中的内容。 箭头右边的内容被箭头左边的内容所取代。
例:设(30h)=25h,(R0)=30h,执行: MOV A,@R0; (A)= MOV A,R0; (A)= MOV A,30H; (A)=
3.基址寄存器加变址寄存器间址寻址方式 本寻址方式是以DPTR或PC作基址寄存器,以 累加器A作为变址寄存器。
例如:指令 MOVC A , @A+DPTR 其中 A 的原有内 容为 05H , DPTR 的内容为 0400H ,该指令执行 的结果是把程序存储器 0405H单元的内容传送 给A 。