单片机第3章-指令系统

合集下载

第3章 STC15单片机的指令系统

第3章  STC15单片机的指令系统

;进位位C与30H位相与,结果保存在C中 ;进位位C送35H位 ;20H位置1
单片机原理与接口技术————基于STC15系列的51单片机原理
第3章 STC15单片机的指令系统
七、 相对寻址
在相对寻址的转移指令中,转移指令的所在的PC值加上其指令的字节数构成了 程序转移的目的地址。
目的地址表达式: 目的地址=转移指令地址+转移指令字节数+偏移量
据传送指令不影响标志C、AC和OV(除非以PSW为目的的指 令),但可能会对奇偶标志P有影响。
单片机原理与接口技术————基于STC15系列的51单片机原理
第3章 STC15单片机的指令系统
一、 内部数据传送指令
以累加器A为目的操作数的指令
MOV A,data ;直接寻址 ,(data)→(A), 直接单元地址中的内容送到累加器A
一、 STC15单片机指令格式
1. 机器指令与汇编指令
机器指令:二进制代码形式,是CPU唯一能识
别和处理的指令
11101000
汇编指令:将机器指令用类似于英文的助记符
表示。
MOV A,R0
单片机原理与接口技术————基于STC15系列的51单片机原理
第3章 STC15单片机的指令系统
4
一、 STC15单片机指令格式
2. 操作数与操作码
操作数:操作的对象。
操作码:指令执行的操作
MOV A,R0
源操作数
目的操作数
单片机原理与接口技术————基于STC15系列的51单片机原理
第3章 STC15单片机的指令系统
一、 STC15单片机指令格式
4. 汇编语言的语句格式
[标号:] 操作码助记符 [目的操作数][,源操作数][;注释] AGAIN: MOV A,R0 ;把R0的内容送累加器A

第三章MCS51系列单片机指令系统及汇编语言程序设计

第三章MCS51系列单片机指令系统及汇编语言程序设计
AJMP addr11 绝对转移指令为2K地址范围内的转移指令,对转移目的地址的要求与 ACALL指令中对子程序入口地址的要求相同。 【3】短转移指令
SJMP rel ;PC+ 2 + rel→PC 短转移指令为一页地址范围内的相对转移指令。因为rel为1字节补码 偏移量,且SJMP rel指令为2字节指令,所以转移范围为-126D~+ 129D 【4】间接转移指令
表3.4 程序存储器空间中的32个基本2K地址范围
0000H~07FFH 0800H~0FFFH 1000H~17FFH 1800H~1FFFH 2000H~27FFH 2800H~2FFFH 3000H~37FFH 3800H~3FFFH 4000H~47FFH 4800H~4FFFH 5000H~57FFH
3. 寄存器寻址
以通用寄存器的内容为操作数的寻址方式。通用寄存 器包括:A,B,DPTR,R0~R7。其中,R0~R7必须在 工作寄存器组之中。
例如:INC R0 ;(R0)+1→R0
需要注意的是,A和B既是通用寄存器,又是具有直 接地址的特殊功能寄存器。
4. 寄存器间接寻址
以寄存器中的内容为地址,该地址中的内容为操作数的寻址方式。能够 用于寄存器间接寻址的寄存器有:R0,R1,DPTR,SP。其中,R0,R1必 须在工作寄存器组之中,SP仅用于堆栈操作。
MCS-51单片机共有111条指令,按功能分类, MCS-51指令系统可分为5大类:
➢ 数据传送类指令(共29条) ➢ 算术操作类指令(共24条) ➢ 逻辑操作类指令(共24条) ➢ 控制转移类指令(共17条) ➢ 布尔变量操作类指令(共17条)
1.数据传送类指令(共29条)
以累加器A为目的操作数类指令(4条)

第3章 51单片机指令系统

第3章 51单片机指令系统
MOV MOV MOV MOV MOV MOV MOV R0, #30H ;R0←30H ,立即寻址 A, @R0 ;A←(R0) ,寄存器间接寻址 R1, A ;R1←A ,寄存器寻址 B, @R1 ;B←R1 ,寄存器间接寻址 @R1, P1 ;(R1)←P1 ,直接寻址 P2, P1 ;P2←P1 ,直接寻址 10H, #20H ;(10H)←20H ,立即寻址
3.1.3 堆栈操作指令
(1)入栈指令:
PUSH direct; SP ← SP+1, (SP) ← (direct)
入栈操作:栈指针SP+1指向栈顶的上 一个空单元,将直接地址direct寻址的单元 内容压入当前SP所指示的堆栈单元中。 (本操作不影响标志位)
例3-3 在中断响应时,SP=09H,数据 指针DPTR的内容为0123H。执行下列指令 后:
MOV @Ri , A ; (Ri)←A MOV @Ri , direct ; (Ri)←(direct) MOV @Ri , data ; (Ri)←#data 上述指令将累加器A,直接地址单元内 容或立即数送到Ri间接寻址单元中。由于内 容较多,下面需要说明:
累加器A是个使用最多的寄存器,MCS-51单 片机以A为中心体系结构。绝大部分指令均需通 过A送到ALU进行运算,结果存于A中,有些指令 仅在A中进行。 直接地址direct ,8位直接地址可寻址0~255个 单元。对于8051则直接寻址内部RAM0~127地址 空间的单元及128~255地址空间的特殊功能寄存 器。这里需注意128~255地址空间很多单元开始 时无定义,对无定义单元进行读/写,则读数不定, 欲写入的数将丢失。 间接寻址@Ri,@间接寻址的符号,是以Ri 的内容作为地址进行寻址,亦即Ri的内容不是操 作数,而是地址。此地址所对应的单元内容才是 所要找的操作数。间接寻址的寻址范围与直接寻 址相同(0~255)。直接寻址单元在编程时就已 明确,而间接寻址单元是在程序运行中明确。

03.9 第三章 - 单片机指令系统(位操作指令MOV、SETB、CLR、CPL、ANL、ORL)

03.9 第三章 - 单片机指令系统(位操作指令MOV、SETB、CLR、CPL、ANL、ORL)

;A = 59H = 0101 1001B ;P1 = A = 0101 1001B ;C = 1 ;ACC.1 = 1 ;P1.3 = 0 ;P1.6 = 0 ;P1.2 = 1 ;(20H)= P1 = 0001 0101B ;(30H)= A = 0101 1011B
09:43
单片机技术
8
3.9.2 位控制指令(SETB、CLR、CPL)
;P1.0 = 1 ;ACC.3 = 0 ;C = 1 ;C = 1 ;C = 1 ;P3.4 = 1
09:43
单片机技术
14
3.9.3 位条件转移指令(JC、JB、JBC)
❖ 1.判C转移指令ຫໍສະໝຸດ JC、JNC)JC rel
;先PC←PC+2;若(Cy)= 1时转移,且PC'
=PC+rel,否则顺序执行
CPL bit ;(bit)= (/bit)
▪ 功能:将Cy或bit取反。
09:43
单片机技术
9
3.9.2 位控制指令(SETB、CLR、CPL)
❖ 课堂练习
▪ 执行以下指令?
SETB P1.0 CLR 20H CLR PSW.2 CPL PSW.2 CLR RS0 SETB RS1
;P1.0 = 1 ;20H = 0 ;PSW.2 = 0 ;PSW.2 = 1 ;RS0 = 0 ;RS1 = 1
❖ 1.位置1指令(SETB)
▪ 格式:SETB C ;(Cy) = 1
SETB bit ;(bit)= 1
▪ 功能:将Cy或bit置1。
❖ 2.位置0指令(CLR)
▪ 格式:CLR C ;(Cy) = 0
CLR bit ;(bit)= 0
▪ 功能:将Cy或bit置0。

第3章 MCS-51单片机指令系统

第3章 MCS-51单片机指令系统

(1)内部数据存储器的低128个字节单元 (00H~7FH)。例: MOV A, 40H ,表示把内 部RAM 40H单元的内容传送给A。 假设40H单元中的内容为2BH,结果是将直接地 址40H单元中的数据2BH传送到累加器A中。
第三章 MCS-51单片机指令系统
3.2.2 直接寻址
(2)特殊功能寄存器。 特殊功能寄存器只能用直接寻址方式进行访问。 对于特殊功能寄存器,在助记符指令中可以直接 用符号来代替地址。例: MOV A, P0 ,表示把 P0口(地址为80H)的内容传送给A。
3.3.1 内部数据存储器传送指令
1.立即数传送指令
MOV A,#data ;A←data MOV Rn,#data ;Rn←data,n=0~7 MOV direct,#data ;direct←data MOV @Ri,#data ;(Ri)←data,i=0,1 MOV DPTR,#data16 ;DPTR←data16 前四条指令将8位立即数传送到指定的存储单元中。 最后一条指令将16位立即数传送到数据指针 DPTR中,其中高8位送入DPH,低8位送入DPL。
(3)三字节指令 编码格式为:
例如数据传送指令MOV 20H,#3AH的编码格式为:
3.2 寻址方式
第三章 MCS-51单片机指令系统
所谓寻址,就是寻找操作数的真正地址,寻址方 式,就是指寻找操作数地址的方式。
在用汇编语言编程时,数据的存放、传送、运算 都要通过指令来完成。 编程者必须自始至终都要 十分清楚操作数的位置, 以及如何将它们传送到适 当的寄存器去参与运算。每一种计算机都具有多 种寻址方式。寻址方式的多少是反映指令系统优 劣的主要指标之一。
2. 汇编语言
汇编语言就是用助记符表示的指令,汇编语言与 机器语言一一对应。用汇编语言编写程序,每条 指令的意义一目了然,给程序的编写、阅读和修 改带来很大方便。而且用汇编语言编写的程序占 用内存少,执行速度快,尤其适用于实时应用场 合的程序设计。因此,在单片机应用系统中主要 是用汇编语言来编写程序。 汇编语言的缺点:缺乏通用性,程序不易移植, 是一种面向机器的低级语言。使用汇编语言编写 程序时,必须熟悉机器的指令系统、寻址方式、 寄存器的设置和使用方法。每种计算机系统都有 它自己的汇编语言。不同计算机的汇编语言之间 不能通用。

第3章单片机指令系统

第3章单片机指令系统

寄存器寻址 寻址方式 寄存器间接寻址
基址加变址寄存器间接寻址 相对寻址 位寻址
1.立即寻址

操作数直接由指令给出,通常紧跟指令操作码之 后的字节是操作数,该操作数被称为立即数。

立即寻址所对应的寻址空间为:ROM 立即数:8/16位二进制数
如:MOV MOV A,#7AH DPTR, #1234H
注意:
① 适当选择SFR。寻址SFR时,可以用直接地址,也可以 用寄存器名,但后者更容易理解和阅读 如: MOV A,0D0H ; (A)←(D0H) MOV A,PSW ; (A)←(PSW)
② 适当选择累加器的表达式
累加器A表达方式 A → 寄存器寻址 ACC 直接寻址 E0H ;04H 单字节
如:
INC A INC ACC INC 0E0H
;05E0H 双字节
③ 注意地址的区别(位地址与字节地址)
如: MOV A,30H MOV C,30H ; (A)←(30H) ;(C)←(30H) 字节操作 位操作
3. 寄存器寻址

操作数在寄存器中
可用寄存器有: (1)四组工作寄存器R0~R7共32个工作寄存器 (2)SFR中有A、AB、DPTR及CY 如: MOV R3,#12H MOV A,R3
注意:① 立即数前加“#”号 ② 立即寻址方式的指令是双字节的(第1个字节为 操作码,第2个字节是操作数) ③ 操作数是放在ROM内的常数
2. 直接寻址

指令中直接给出操作数所在的单元地址或位地址
直接寻址可访问的存储空间: (1)内部RAM低128个单元 在指令中直接以单元地址形式给出,地址范围00H~7FH (2)特殊功能寄存器SFR 直接寻址是SFR惟一的寻址方式,SFR可以用单元地址给出, 也可用寄存器符号形式给出(但A、AB、DPTR除外) (3)211个位地址空间 内部RAM中可位寻址的20H~2FH单元对应的128个位地址空间 11个SFR中83个可用的位地址空间

第3章MCS-51单片机指令系统

第3章MCS-51单片机指令系统3.1概述3.1.1指令格式3.1.2指令的三种表示形式3.1.3指令的字节数1. 单字节指令(49条)图3-1 MOVA,Rn指令的格式2单片机原理及其接口技术(第2版)2. 双字节指令(46条)3. 三字节指令(16条)3.1.4指令的分类1. 数据传送指令(28条)2. 算术运算指令(24条)3. 逻辑操作和环移指令(25条)4. 控制转移指令(17条)5. 位操作指令(17条)3.1.5指令系统综述1. 指令系统中所用符号的说明2. 指令对标志位的影响3.2寻址方式3.2.1寄存器寻址图3-2寄存器寻址示意图单片机原理及其接口技术(第2版) 3 3.2.2直接寻址图3-3直接寻址示意图3.2.3立即寻址3.2.4寄存器间址图3-4寄存器间址寻址示意图3.2.5变址寻址图3-5变址寻址示意图4单片机原理及其接口技术(第2版)3.2.6相对寻址图3-6相对寻址示意图3.2.7位寻址3.3数据传送指令3.3.1内部数据传送指令(15条)1. 立即寻址型传送指令2. 直接寻址型传送指令3. 寄存器寻址型传送指令4. 寄存器间址型传送指令5. 内部数据传送指令的使用图3-7 8×C552/8051指令的数据传送方式单片机原理及其接口技术(第2版) 5 3.3.2外部数据传送指令(7条)1. 16位数传送指令2. 外部ROM的字节传送指令图3-8 0~9平方值表3. 外部RAM的字节传送指令3.3.3堆栈操作指令(2条)图3-9例3.8的堆栈变化示意图6单片机原理及其接口技术(第2版)3.3.4数据交换指令(4条)3.4算术与逻辑运算和移位指令3.4.1算术运算指令(24条)1. 加法指令2. 减法指令3. 十进制调整指令4. 乘法和除法指令3.4.2逻辑运算指令(20条)1. 逻辑与运算指令2. 逻辑或指令3. 逻辑异或指令4. 累加器清零和取反指令3.4.3移位指令(5条)单片机原理及其接口技术(第2版)7图3-10例3.26附图3.5控制转移和位操作指令3.5.1控制转移指令(17条)1. 无条件转移指令图3-11 AJMP指令转移范围8单片机原理及其接口技术(第2版)图3-12例3.29附图图3-13带符号数的比较方法3. 子程序调用和返回指令图3-14二级子程序嵌套及断点地址存放单片机原理及其接口技术(第2版)9图3-15例3.33附图10单片机原理及其接口技术(第2版)4. 空操作指令3.5.2位操作指令(17条)1. 位传送指令2. 位置位和位清零指令3. 位运算指令4. 位控制转移指令习题与思考题3.1指令通常有哪三种表示形式?各有什么特点?3. 2 MCS-51指令按功能可以分为哪几类?每类指令的作用是什么?3. 3 MCS-51共有哪七种寻址方式?各有什么特点?3. 4指出下列每条指令源操作数的寻址方式和功能。

单片机第3章指令系统(第二部分)


第3章 MCS-51单片机指令系统与程序设计 MCS-51单片机指令系统与程序设计
最常用的几条伪指令: 最常用的几条伪指令: 1.定位伪指令 : ORG 定位伪指令 2.汇编结束伪指令 :END 汇编结束伪指令 3.赋值伪指令 :EQU 赋值伪指令 4.位地址定义伪指令 : bit 位地址定义伪指令 5.常数定义伪指令 :DB、DW 常数定义伪指令 、
第3章 MCS-51单片机指令系统与程序设计 MCS-51单片机指令系统与程序设计
1、起点指令 ORG 、 格式: 格式: 功能: 功能: 用法: 用法: ORG ×××× ××××H
ASM51程序中一定要写! 程序中一定要写! 程序中一定要写
定义某个程序段的起始地址 一般出现在每段源程序或数据块的开始 一个源程序可多次出现ORG指令统与程序设计 MCS-51单片机指令系统与程序设计
二 汇编语言程序设计
一、汇编语言程序设计的一般步骤 确定算法、画流程图、编写程序、 分析课题 、确定算法、画流程图、编写程序、上机调试 二、程序结构 按程序的走向可以将程序分成4种结构: 按程序的走向可以将程序分成 种结构: 种结构 顺序程序 分支程序 循环程序 子程序
第3章 MCS-51单片机指令系统与程序设计 MCS-51单片机指令系统与程序设计
5、等值命令 EQU 、 格式: 格式: 功能: 功能: 字符名称 EQU 数据或汇编符号 数据或 将一个数据 汇编符号赋予一个指定的 将一个 数据 或 汇编符号 赋予一个指定的 字符名称 例: ORG 8000H AA EQU R6 ;AA与R6等值 与 等值 MOV A,AA ;A ,
ORG 8000H ;源程序的起始地址 例: START:MOV A,#74H 为8000H : , ┇

第三章MCS51的指令系统


3.4.1 MCS-51数据传送指令
[1]. 以累加器A为目的操作数类指令(4条) 这4条指令的作用是把源操作数指向的内容送到累加器A。有直接、
立即数、寄存器和寄存器间接寻址方式:
MOV A,direct
(direct)→(A)直接单元30H
MOV A,0A2H
§3.1 概述
7种寻址方式,111条指令
指令所占用空 间(字节数)
指令执行周期 (运算速度)
单字节指令:49条 双字节指令:45条 三字节指令:17条
单周期指令:64条 双周期指令:45条 四周期指令:2 条
试问
1 如果一条指令执行时间为3个机器周 期,那么需要经历多少个时钟周期?
2 如果一条指令执行时使用了2us,而 晶振使用的是12MHz,请问执行这条指 令需要多少个机器周期?
(A)+((Ri))+(C)→(A) 累加器A中的内容与工作寄存 器Ri指向地址单元中的内容、连同进位位相加,结果存在A中
3.4.2 MCS-51算术运算指令
[3]. 带借位减法指令(4条)
这组指令包含立即数、直接地址、间接地址及工作寄存器与累加器A连同借位 位C内容相减,结果送回累加器A中。
3.4.1 MCS-51数据传送指令
[2]. 以寄存器Rn为目的操作数的指令(3条)
这3条指令的功能是把源操作数指定的内容送到所选定的工作寄存器 Rn中。有直接、立即和寄存器寻址方式:
MOV Rn, direct (data)→(Rn) 直接寻址单元中的内容送到寄存器Rn中 MOV R4,37H
**补充知识
MCS51系列单片机为复杂指令单片机CISC。目前单片机大 量使用的是精简指令集RISC结构单片机.

第三章MCS-51指令系统

第三章 MCS-51单片机指令系统
3.1 概述
3.2
3.3
寻址方式
MCS-51的指令系统
3.4
伪指令
3.1
概述
指令:使计算机完成某种操作的命令。 指令系统 :计算机能够执行的全部操作所对应的指 令集合。 机器语言: 采用二进制编码表示指令,是计算机能够直 接识别和执行的语言。 汇编语言: 采用助记符 、符号、数字来表示指令的程序 语言,它与机器语言指令时一一对应的。
如果我们分别向DPH,DPL送数,则结果也一样。
如下面两条指令: 则就相当于执行了 MOV DPH,#35H MOV DPTR,#3512H。 MOV DPL,#12H。
(6) 累加器A与片外RAM之间的数据传递类指令(4条)
MOVX A,@Ri MOVX @Ri,A MOVX A,@DPTR MOVX @DPTR,A 说明: 1.在51中,与外部存储器RAM打交道的只可以是A累加器。所 有需要送入外部RAM的数据必需要通过A送去,而所有要读入的外 部RAM中的数据也必需通过A读入。 在此我们可以看出内外部RAM的区别了,内部RAM间可以直接 进行数据的传递,而外部则不行。 比如,要将外部RAM中某一单元(设为0100H单元的数据)送 入另一个单元(设为0200H单元),也必须先将0100H单元中的内 容读入A,然后再送到0200H单元中去。
MOV B,R0
PUSH ACC
;R0→B,R0为寄存器寻 址,B为直接寻址。
;A的内容压入堆栈
3.2.4
寄存器间接寻址
例:MOV A, @R0
• 以寄存器中内容为地址,以该地址中内容为操作数的
寻址方式。间接寻址的存储器空间包括内部RAM和
外部RAM。 • 能用于寄存器间接寻址的寄存器有R0,R1,DPTR, SP。其中R0、R1必须是工作寄存器组中的寄存器。 SP仅用于堆栈操作。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.3
指令系统
• 寻址方式和指令系统是衡量微型机性能的重要指标。 • 寻址方式越多,指令越丰富,指令执行速度越快,反 映该机型的总体功能就越强。 • 指令系统对编程的灵活性、有效性有很大的影响。
《单片机原理与应用》 光学与电子信息学院
3.3 指令系统
MCS-51的指令系统共有111条指令 按指令字节长度分: 单字节指令49条; 双字节指令46条; 三字节指令16条。 按指令执行的时间分:
机器码 40 16
“40” : 操作码 “16” : 偏移量
当前PC值 = 1002H
《单片机原理与应用》 光学与电子信息学院
3.2 MCS-51指令的寻址方式
七、位寻址
• 在指令中直接给出操作数的位地址 • 特点 直接操作单元中的某一个位,方便了程序设计,提高 了程序的可读性。
• 适用范围 片内RAM区支持位寻址方式的单元,即20H-2FH。 SFR中支持位寻址方式的寄存器。
一、指令格式
一条汇编语言指令中最多包含4个区段,其一般格式为: [标号:] START: 操作码 MOV [操作数] A, #12H [;注释] ; 机器码7412H
《单片机原理与应用》 光学与电子信息学院
3.1 汇编指令格式
⑴ 标号:称为符号地址,其值对应于指令首字节的存放地址。
用于标识一段程序的开始,为转移指令提供目的地址 。 ①由用户定义的1~6个英文字母和数字组成 ②标号必须用冒号 “ :” 与操作码分隔。
3.1 汇编指令格式
指令: 使计算机完成基本操作的命令 指令系统:全部指令的集合
• • • •
指令的四大功能: 说明操作的类型(命令的类型) 说明参与运算的数或数所在的地址 说明结果所在的地址 说明下一条指令所在的地址
MOV A, #1 ADD A, #2
《单片机原理与应用》 光学与电子信息学院
3.1 汇编指令格式
第三章 汇编指令系统
主讲人:曹丹华
《单片机原理与应用》 光学与电子信息学院
本章学习目标: 理解汇编语言的一般规则,能够读懂汇编程序,并能够编 写简短的程序段。 知识要点: 寻址方式; 汇编指令的功能; 汇编指令的典型应用。
《单片机原理与应用》 光学与电子信息学院
3.1 汇编指令格式 3.2 MCS-51单片机的寻址方式
《单片机原理与应用》 光学与电子信息学院
3.2 MCS-51指令的寻址方式
寄存器间接寻址 :
《单片机原理与应用》 光学与电子信息学院
3.2 MCS-51指令的寻址方式
五、变址寻址
• 操作数的有效地址为基址寄存器与变址寄存器内容之和。 • 基址寄存器:PC(或DPTR),变址寄存器:A
• 用途
用于查表指令,读取存放于程序空间中的常数表,如函
《单片机原理与应用》 光学与电子信息学院
3.1 汇编指令格式 3.2 MCS-51单片机的寻址方式 3.3 MCS-51单片机指令分类
《单片机原理与应用》 光学与电子信息学院
3.2 MCS-51指令的寻址方式
寻址方式:寻找操作数地址或指令地址的方式。 寻址方式类型:7种 立即数寻址 直接寻址 寄存器寻址 寄存器间接寻址 变址寻址 相对寻址 位寻址
实现程序存储器单元中数据的读出。
《单片机原理与应用》 光学与电子信息学院
3.3.1 数据传送类指令
Memory Map ?
idata区
( 00H-FFH ) SFR区 ( A, B DPH, DPL, SP PSW)
code区
( 0000H-FFFFH )
data区
( 00H-7FH ) Rn ( 00H-1FH )
3.3 MCS-51单片机指令功能
《单片机原理与应用》 光学与电子信息学院
3.1 汇编指令格式
汇编语言(Assembly Language)——用助记(字)符代替操 作码,用地址符号代替地址码的一种面向机器的程序 设计语言; 汇编语言优点——代码精炼、执行速度快,但不便于编写 较复杂的程序;
《单片机原理与应用》 光学与电子信息学院
《单片机原理与应用》 光学与电子信息学院
3.1 汇编指令格式
二、指令中的简记符号
在指令手册中,每条指令的操作数是以简记符号表示的。
助记符格式
MOV A,Rn MOV A,direct MOV A,@Ri
操作
A←(Rn) A←(direct) A←((Ri))
MOV A,#data
A←data
掌握简记符号规则→便于阅读源程序(查指令手册)
《单片机原理与应用》 光学与电子信息学院
3.2 MCS-51指令的寻址方式
例如:指令 SETB 3AH 机器代码 D2 3A
3AH是单元27H中D2的位地址
执行后:27H.2=1
《单片机原理与应用》 光学与电子信息学院
3.2 MCS-51指令的寻址方式
位地址的表示方法
1)直接用两位十六进制来表示,如 3AH 2)采用单元字节地址加“.”符号的方式,如27H.2 3)采用SFR名称加“.”符号的方式,如ACC.7 4)采用位符号的方式,如C,P等。
数表,字模表等。
《单片机原理与应用》 光学与电子信息学院
3.2 MCS-51指令的寻址方式
MOVC A, @A+DPTR 机器代码 93
执行前:A=47H,DPTR=2000H,(2047H)=5CH SFR DPH
程序存储器
DPL
20 00
2047HH。 《单片机原理与应用》 光学与电子信息学院
#data16: 包含在指令中的16位立即数。指代 0000H~FFFFH。 addr16 : 16位目的地址, 64KB存储器空间中的地址 。 指代0000H~FFFFH。
《单片机原理与应用》 光学与电子信息学院
3.1 汇编指令格式
addr11 :表示11位目的地址,用于2KB范围内的程序跳转。
《单片机原理与应用》 光学与电子信息学院
3.1 汇编指令格式
⑷ 注释:指令功能说明。
[标号:]
操作码
[操作数]
[;注释]
①注释是对指令的解释或说明,用以提高程序的可读 性;
②以英文分号 ;开始,无需结束符号;
③不会形成机器码,可以省略。 举例: SETB P1.0 ; P1.0←1 CJNE A, R0, START ;若A≠R0,转START
《单片机原理与应用》 光学与电子信息学院
3.2 MCS-51指令的寻址方式
一、立即寻址
• 立即寻址:将操作数直接编码于指令中。
• 特点:操作数可以从指令中直接取得,速度快。
• 用途:用于对寄存器或存储单元进行初始赋值。
立即寻址中的操作数称为立即数,用“#”表示。
《单片机原理与应用》 光学与电子信息学院
3.2 MCS-51指令的寻址方式
• 例如, 指令 MOV A,#45H 机器代码 74 45
《单片机原理与应用》 光学与电子信息学院
3.2 MCS-51指令的寻址方式 二、直接寻址
• 直接寻址:在指令中直接给出操作数的字节地址或位地址。 • 适用范围:只能在下述三种地址空间内寻址。 (1)特殊功能寄存器(SFR); (2)内部数据存储器RAM的低128个字节;
《单片机原理与应用》 光学与电子信息学院
3.1 汇编指令格式
⑶ 操作数:参加操作的数据或数据地址。
[标号:]
操作码
[操作数]
[;注释]
①操作数是指令要操作的对象(如地址,寄存器,常数等); ②操作数可分为目的操作数和源操作数; 举例: MOV A, # 03H ADD A, #10H CLR A RET ; A 03H ; A + 10H →A ; A←0 ;子程序返回
…….
举例:
ORG 1000H START: MOV A, #12H ……
… ;机器码7412H
1001H START→ 1000H 0FFFH ……. …….

12H 74H xxH xxH xxH
ROM
《单片机原理与应用》 光学与电子信息学院
3.1 汇编指令格式
⑵ 操作码:表示指令的操作功能。
xdata区
( 0000H-FFFFH )
如何实现不同存储空间中数据的传送 ?
SFR的符号代替。
如: MOV SP, #30H 等同于 MOV 81H, #30H • 直接寻址方式是访问SFR空间的唯一方式。
《单片机原理与应用》 光学与电子信息学院
3.2 MCS-51指令的寻址方式 三、寄存器寻址
• 寄存器寻址: 操作数存于寄存器中, 通常在指令中给出寄存器的编号。 • 特点:指令短,速度快 • 适用范围 工作寄存器区中的R0-R7
[标号:]
操作码
[操作数]
[;注释]
①由标准助记字符组成,是指令的必需部分,不可缺少。
② 51单片机共有42种操作码,不区分大小写。
举例: MOV A,#12H SETB P1.0 CJNE A,R0, START ) ; move (传送) ; set bit (置位) ;compare and jump if not equal (比较跳转
《单片机原理与应用》 光学与电子信息学院
3.2 MCS-51指令的寻址方式
寻址方式小结
《单片机原理与应用》 光学与电子信息学院
3.2 MCS-51指令的寻址方式
思考: 1)访问片上低端RAM区 可以使用哪些寻址方式? 2)访问SFR区使用哪种 寻址方式?
3)访问高端RAM区使用 哪种寻址方式?
《单片机原理与应用》 光学与电子信息学院
A(累加器)、B(仅限于乘除法指令)、DPTR
C(布尔处理器)
相关文档
最新文档