当前课程知识点:单片机原理及应用 >  4 汇编语言程序设计 >  4.2 宏指令 >  宏指令

返回《单片机原理及应用》慕课在线视频课程列表

宏指令在线视频

宏指令

下一节:汇编控制指令

返回《单片机原理及应用》慕课在线视频列表

宏指令课程教案、知识点、字幕

同学

你好

今天我们将继续汇编源程序编写的介绍

我们前面说过在汇编源程序中

可以使用机器指令

也可以使用伪指令

下面我们将重点介绍一下伪指令

因为伪指令

请同学们注意

它并不是由CPU执行的

而是由汇编程序再把源程序

翻译成目标程序的过程中

由汇编程序来执行

这里面就有一个很重要的伪指令

它称作是宏指令

宏指令功能是可以定义宏

宏有什么功能

宏的功能就是将需要多次反复执行的程序段

我们把它定义为一个宏指令名

也称为宏定义

在编程时可以在程序中使用宏指令名

来代替这一段程序

也叫做宏调用

宏定义伪指令

用宏指令名

MACRO形式参数来开始

比如说像我们PPT中给出了宏定义的过程

用MACRO指令来进行宏定义

在指令中

从MACRO到ENDM中间的这一段

就是我们定义的程序段

也即这个需要以后反复执行的程序段

在编程时

我们这一段程序段是可以多次用宏指令名

加实际参数来进行宏调用

请你注意的是

宏在功能上类似于子程序

但是子程序调用是由CPU负责执行

子程序代码也不会插入到主程序中

而宏调用属于伪指令

它是由汇编程序在汇编时负责执行的

执行的过程是什么

我们的汇编程序在遇到宏定义

也就是宏调用时

会把宏定义中的程序段代码

插入到主程序的宏调用处

所以那么真正的目标程序的代码

从长度上来看

同样功能的程序段

宏调用的目标程序要长于

子程序调用的目标程序

但是宏调用的执行速度要快于子程序的调用

因为子程序调用中我们前面也说过

必须要考虑返回地址的保存以及

子程序返回等额外的操作

而宏调用不一样

宏调用是由汇编程序

直接把这个程序段插入到目标程序中

所以在CPU执行过程中

它是不用考虑程序的返回和地址的保存的

所以从执行速度上来看

宏调用要快于子程序的调用

但是从这个目标程序的长度来看

子程序调用的目标程序的长度要小于

宏调用的长度

因此在编写汇编源程序时

我们究竟是用宏调用还是用子程序调用

你就要根据实际的情况来加以考虑

如果说你的程序主要考虑的是执行的速度

而且经常又需要调用一个固定的功能

这种情况下我们就可以

把这种需要反复调用的程序段变为一个宏

如果说你这个程序的执行的速度是其次

我主要考虑的是程序的长度

这个时候

我们就可以把这个需要反复执行的程序段

定义为一个子程序

所以到底是用宏调用还是用子程序调用

来实现反复功能

需要反复来执行某一个功能块的功

必须要根据实际的情况来进行灵活的选择

好的

今天我们主要介绍了一下伪指令中的宏指令

请同学们仔细体会宏指令

和子程序调用指令的区别

学会两种指令的灵活的应用

好的

今天的课就到这里

同学们再见

单片机原理及应用课程列表:

1 单片机系统概述

-1.1 单片机的名称

--单片机的名称

-1.2 单片机的相关概念

--单片机的相关概念

-1.3 单片机的设计语言及软件

--单片机的设计语言及软件

-1.4 单片机的发展

--单片机的发展

-1.5单片机的应用

--单片机的应用

-1.6 第一单元作业

2 单片机的硬件结构

-2.1 单片机的结构框图

--单片机的结构框图

-2.2 80C51内部结构

--80C51内部结构

-2.3 信号引脚

--信号引脚

-2.4 内部数据存储器RAM

--内部数据存储器RAM

-2.5 特殊功能寄存器

--特殊功能寄存器

-2.6 堆栈

--堆栈

-2.7 内部程序存储器ROM

--内部程序存储器ROM

-2.8 存储器的结构特点

--存储器的结构特点

-2.9 并行输入输出接口电路

--并行输入输出接口电路

-2.10 并口功能与时序

--并口功能与时序

-2.11 工作方式

--工作方式

-2.12 最小应用系统

-- 最小应用系统

-2.13 第二单元作业

3 指令系统

-3.1 指令格式

--指令格式

-3.2 立即寻址与直接寻址

--立即寻址与直接寻址

-3.3 寄存器寻址与寄存器间接寻址

--寄存器寻址与寄存器间接寻址

-3.4 变址间接寻址与位寻址

--变址间接寻址与位寻址

-3.5 内部RAM传送指令

--内部RAM传送指令

-3.6 外部RAM传送指令

--外部RAM传送指令

-3.7 ROM传送指令

--ROM传送指令

-3.8 交换指令

--交换指令

-3.9 堆栈操作指令

--堆栈操作指令

-3.10 传送类指令习题讲解

--传送类指令习题讲解

-3.11 算术运算类指令特点

--算术运算类指令特点

-3.12 加法指令

--加法指令

-3.13 加法习题、减法和乘除指令

--加法习题、减法和乘除指令

-3.14 逻辑运算指令

--逻辑运算指令

-3.15 布尔变量操作指令

--布尔变量操作指令

-3.16 无条件转移指令

--无条件转移指令

-3.17 条件转移指令

--条件转移指令

-3.18 循环转移指令

--循环转移指令

-3.19 子程序相关指令

--子程序相关指令

-3.20 并口访问指令及指令小结

--并口访问指令及指令小结

-3.21 第三单元作业

4 汇编语言程序设计

-4.1 汇编程序约定

--汇编程序约定

-4.2 宏指令

--宏指令

-4.3 汇编控制指令

--汇编控制指令

-4.4 汇编语言程序设计步骤

--汇编语言程序设计步骤

-4.5 顺序程序举例

-- 顺序程序举例

-4.6 单重分支结构

--单重分支结构

-4.7 多重分支结构

--多重分支结构

-4.8 单重循环结构

--单重循环结构

-4.9 计数控制循环程序

--计数控制循环程序

-4.10 特征控制循环程序

-- 特征控制循环程序

-4.11 多重循环程序

--多重循环程序

-4.12 子程序的概念

--子程序的概念

-4.13 子程序设计注意事项

--子程序设计注意事项

-4.14 子程序举例

--子程序举例

-4.15 第四单元作业

5 单片机存储器扩展

-5.1 系统扩展

--系统扩展

-5.2 51单片机扩展方法

--51单片机扩展方法

-5.3 存储器单元位数扩充方法

--存储器单元位数扩充方法

-5.4 存储器容量单元扩充方法

--存储器容量单元扩充方法

-5.5 译码线选法

--译码线选法

-5.6 程序存储器的类型

--程序存储器的类型

-5.7 程序存储器的扩展

--程序存储器的扩展

-5.8 数据存储器的扩展

--数据存储器的扩展

-5.9 存储器综合扩展

--存储器综合扩展

-5.10 单片机存储器系统的特点

-- 单片机存储器系统的特点

-5.11 第五单元作业

6 中断与定时系统

-6.1 中断技术

--中断技术

-6.2 中断优先级及中断系统内部结构

--中断优先级及中断系统内部结构

-6.3 中断控制寄存器及中断响应过程

--中断控制寄存器及中断响应过程

-6.4 中断请求的撤消

--中断请求的撤消

-6.5 外部中断举例

--外部中断举例

-6.6 定时器/计数器

--定时器/计数器

-6.7 定时计数器工作方式及程序编写

--定时计数器工作方式及程序编写

-6.8 定时器举例

--定时器举例

-6.9 第六单元作业

7 I/O扩展及应用

-7.1 并行接口

-- 并行接口

-7.2 并口举例

--并口举例

-7.3 并口扩展芯片

--并口扩展芯片

-7.4 8155连接方式及编程

--8155连接方式及编程

-7.5 键盘接口技术

--键盘接口技术

-7.6 按键处理程序及举例

--按键处理程序及举例

-7.7 键盘扫描子程序

-- 键盘扫描子程序

-7.8 显示接口技术

--显示接口技术

-7.9 多位字符静态显示

--多位字符静态显示

-7.10 多位字符动态显示

--多位字符动态显示

-7.11 第七单元作业

8 单片机实验

-8.1 流水灯控制系统设计

--html

-8.2 数码管显示系统设计

--html

-8.3 按键控制系统设计

--html

-8.4 中断控制系统设计

--html

-8.5 定时计数器系统设计

--html

-8.6 串口通信系统设计

--html

-8.7 汉字显示系统设计

--html

-8.8 单片机烧录方法

--单片机烧录方法

-8.9 第八章作业-作业

宏指令笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。