带实例讲解的51汇编指令集

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2007-10-17第3章M C S -51单片机指令系统和汇编语言程序实例

林耀荣

目的

介绍M C S -51的指令系统和汇编语言编程,了解处理器的软件资源

重点掌握

寻址方式

指令分类

内容

3.1 M C S -51单片机指令系统概述

3.2 寻址方式

3.3 数据传送类指令

3.4 算术运算类指令

3.5 逻辑运算及移位指令

3.6 控制转移类指令

3.7 子程序调用与返回指令

3.8 位操作类指令

3.9 汇编程序格式与伪指令

3.10 汇编程序设计示例

5

3.1 M C S -51单片机指令系统概述

指令(I n s t r u c t i o n )

指令是使处理器内部执行的一种操作,提供给用户编程使用的一种命令

指令系统(I n s t r u c t i o n S e t )

处理器能够执行的全部操作所对应的指令集合

从用户使用角度,提供给用户使用计算机功能的软件资源

决定C P U 性能

程序(P r o g r a m )

按一定要求组合起来的指令序列就构成程序

电子发烧友 电子技术论坛

6

3.1.1 指令、指令系统的概念

使用指令-编程-从指令系统中挑选指令子集

掌握指令的功能

掌握指令的使用格式

了解指令的工作原理-加深对硬件组成原理的理解

指令的属性

功能:指令对应的特定的操作功能

时间:指令执行所用的时间(机器周期)-执行时间

空间:程序存储器中占用的字节数-转移指令的偏移量计算

查表

电子发烧友 电子技术论坛

指令的描述形式

机器语言

以二进制代码来描述指令功能的语言

计算机只能识别二进制代码

不便被人们识别、记忆、理解和使用

由计算机的硬件特性决定

汇编语言

给每条机器语言指令赋予助记符号来表示的语言

便于人们识别、记忆、理解和使用的一种指令形式

和机器语言指令一一对应,由计算机的硬件特性决定

汇编:汇编语言-> 机器语言

高级语言

汇编

把汇编语言翻译成机器语言

汇编的两种方式

机器汇编

手工汇编

3.1.2 M C S -51指令系统及其指令格式

111条指令

功能

数据传送

算术操作

逻辑操作

程序转移

位操作

1

指令长度

单字节指令(49条)

双字节指令(46条)

三字节指令(16条)

指令周期

单机器周期指令(64条)

双机器周期指令(45条)

4机器周期指令(2条):乘、除法

1

1

指令组成

操作码:执行何种操作

操作数:参加操作的数或者操作数所在地址

无操作数

单操作数

双操作数

汇编语言指令格式

[标号:] 操作码助记符[目的操作数][,源操作数] [;注释]F u n 1:M O V A , R 1;A <-R 1

必须

电子发烧友 电子技术论坛

12

符号

R i 和R n :表示当前工作寄存器区中的工作寄存器,i 取0或1,表示R 0或R 1。n 取0~7,表示R 0~R 7

#d a t a :表示包含在指令中的8位立即数

#d a t a 16:表示包含在指令中的16位立即数

r e l :以补码形式表示的8位相对偏移量,范围为-128~127,主要用在相对寻址的指令中

a d d r 16和a d d r 11:分别表示16位直接地址和11位直接地址

电子发烧友 电子技术论坛

1符号

d i r

e c t :表示直接寻址的地址

b i t :表示可位寻址的直接位地址

(X ):表示X 单元中的内容

((X )):表示以X 单元的内容为地址的存储器单元内容,即(X )作地址,该地址单元的内容用((X ))表示

/ 和→符号:“/”表示对该位操作数取反,但不影响该位的原值。“→”表示操作流程,将箭尾一方的内容送入箭头所指另一方的单元中去

1

3.2 寻址方式

寻址方式

执行指令时找到所要求的操作数的方式

操作数总是存放在某一存储单元,寻找操作数所在的存储单元地址

七种寻址方式

1

立即寻址

寄存器寻址

R 0~R 7

A ,

B ,D P T R ,A B

直接寻址

内部R A M 的低128字节

S F R

寄存器间接寻址

内部R A M (@R 0,@R 1)

外部数据存储器(@R 0,@R 1,@D P T R )

基址寄存器加变址寄存器间接寻址

程序存储器(@A +D P T R ,@A +P C )

相对寻址:相对转移指令

位寻址

C ,可寻址位

1

3.2.1 立即寻址

操作数直接出现在指令中,与操作码一起存放在程序存储器中

以“#”符号作前缀

格式:

#d a t a

#d a t a 16

M O V A ,#40H

M O V D P T R ,#2100H

相关文档
最新文档