计算机C的指令系统与汇编语言程序设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章 80C51的指令系统与汇编语言程序设 计
DPTR 02F1H
ROM
……
A(执行前) 11H
+ 0302H 1EH
……
A(执行后) 1EH
图4.3变址寻址示意图
第4章 80C51的指令系统与汇编语言程序设计
4.2.6 相对寻址
相对寻址就是将程序计数器PC的当前值与 指令中给出的偏移量rel相加,其结果作为转移 地址送入PC中。此种寻址方式的操作是修改 PC的值,故可用来实现程序的分支转移。
(1)内部RAM的低128个单元采用R0、R1作为间 址寄存器,可寻址范围为00H~7FH单元。
(2)外部RAM的寄存器间接寻址有两种形式:一 是采用R0、R1作为间址寄存器,可寻址范围为 00H ~ FFH 单 元 ; 二 是 采 用 16 位 的 DPTR 作 为 间 址寄存器,可寻址外部RAM的全部64KB地址空 间。
教学建议
寻址方式、指令系统和程序设计部分作为重点内 容介绍,其他部分作为一般性介绍内容。 其他部分作为重点介绍内容。
教学目的
通过本章学习,使学生: 了解80C51的寻址方式、指令系统、程序设计等 相关知识 了解80C51的伪指令。 熟悉80C51的指令,掌握使用汇编语言进行程序 设计。
第4章 80C51的指令系统与汇编语言程序设计
第4章 80C51的指令系统与汇编语言程序设计
4.1.3 指令的分类 80C51系列单片机指令系统共有111条指令,
按功能划分为五大类: 数据传送类指令 算术运算类指令 逻辑运算及移位类指令 控制转移类指令 位操作类指令
第4章 80C51的指令系统与汇编语言程序设计
4.1.4 指令中常用符号说明 Rn:作寄存器组中的寄存器R0-R7之一; Ri:地址指针的寄存器R0、R1; #data:8位立即数; #data16:16位立即数; direct:内部RAM的8位地址; addr11:11位目的地址; addr16:16位目的地址;
第4章 80C51的指令系统与汇编语言程序设计
4.2.5 变址寻址 以DPTR或PC作为基址寄存器,以累加器A作为
变址寄存器(存放地址偏移量),并以两者内容相 加形成的16位地址作为操作数地址。常用于访问程 序存储器中的数据表。 MOV A,@A+DPTR ;(A)←((A)+DPTR) MOV A,@A+PC ;(A)←((A)+ PC)
直接寻址方式可访问以下存储空间: (1)内部RAM低128个字节单元,在指令中直接
地址以单元地址的形式给出 (2) 特殊功能寄存器
对于特殊功能寄存器,其直接地址还可以用 特殊功能寄存器的符号名称来表示。访问特殊功 能寄存器只能使用直接寻址方式
第4章 80C51的指令系统与汇编语言程序设计
4.2.3 寄存器寻址
第4章 80C51的指令系统与汇编语言程序设 计
rel:补码形式表示的8位地址偏移量; bit:位寻址区或特殊功能寄存器的位地址; @:间接寻址方式中间址寄存器的前缀标志; C:进位标志位; (x):由x指定的寄存器或地址单元中的内容; ((x)):由x寄存器的内容作为地址的存储单 元的内容;
$:当前指令的地址; ←:指令操作流程,将箭头右边的内容送到箭头 左边的单元中。
第4章 80C51的指令系统与汇编语言程序设 计
4.2 80C51的寻址方式 80C51的指令系统共使用了七种寻址方式: 寄存器寻址 直接寻址 立即寻址 寄存器间址 变址寻址 相对寻址 位寻址
第4章 80C51的指令系统与汇编语言程序设计
4.2.1 立即寻址
操作数在指令中直接给出。立即数前加“#”标志。
4.2.4 寄存器间接寻址
寄存器间接寻址就是以寄存器中的内容作为 RAM地址,该地址中的内容才是操作数。寄存器 名称前加“@”标志,来表示寄存器间接寻址。
MOV A,@R0
;(A)←((R0))
操作示意图如图4.2所示。
第4章 80C51的指令系统与汇编语言程序设 计
R0 3AH
RAM
……
A 65H
3AH 65H
……
图4.2寄存器简介寻址示意图
R0寄存器的内容3AH是操作数地址,内部RAM的 3AH单元的内容65H才是操作数,并把该操作数传送 到累加器A,结果A=65H。
第4章 80C51的指令系统与汇编语言程序设计
80C51系列单片机规定只能用寄存器R0、R1、 DPTR作为间接寻址的寄存器。间接寻址可以访 问的存储空间为内部RAM和外部RAM。
MOV A,#20H
;(A)←20H
功能:将20H这个数本身送入累加器A中。
4.2.2 直接寻址
指令中直接给出操作数地址。
MOV A,3AH
功能:内部RAM地址为3AH单元中的内容传送给累
加器A。
第4章 80C51的指令系统与汇编语言程序设计
片内RAM
A
88H
3AH
88H
图4.1直接寻址示意图
第4章 80C51的指令系统与汇编语言程序设计
助记符是用英文缩写来描述指令的功能。它不 但便于记忆,也便于理解和分类。以助记符表示 的指令就是计算机的汇编语言指令。
第4章 80C51的指令系统与汇编语言程序设计
4.1.2 指令格式 80C51系列单片机汇编语言的指令格式如下:
[标号:] <操作码> [操作数] [;注释] 标号:指令的起始地址。由1—8个字符组成,第 一个字符必须是字母,标号后跟分界符“:”。 操作码:指令的助记符。 操作数:指令的操作对象。多个操作数之间用逗 号“,”分隔。 注释:解释说明性的文字,用“;”开头。
4.1 80C51指令系统概述 4.1.1 指令概述
指令是规定计算机进行某种操作的命令。一 台计算机所能执行的指令集合称为该计算机指 令系统。
计算机内部只能识别二进制数。能被计算机 直接识4章 80C51的指令系统与汇编语言程序设计
机器语言:难学、难记、不易书写、难于阅 读和调试、容易出错、程序可维护性差。
寄存器寻址以通用寄存器的内容作为操作数。
MOV A,R0
;(A)←(R0)
MOV R2,A
;(R0)←(A)
前一条指令是将R0寄存器的内容传送到累加 器A,后一条是把累加器A中的内容传送到R2寄 存器中。
能实现寄存器寻址方式的寄存器有:R0~R7、
A、B寄存器和数据指针DPTR。
第4章 80C51的指令系统与汇编语言程序设 计