当前课程知识点:单片机原理及应用 >  3 指令系统 >  3.9 堆栈操作指令 >  堆栈操作指令

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

堆栈操作指令在线视频

堆栈操作指令

下一节:传送类指令习题讲解

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

堆栈操作指令课程教案、知识点、字幕

同学 你好

今天我们来看一看和堆栈操作相关的指令

那么和堆栈操作相关的指令

是PUSH和POP

堆栈是RAM中的某一块连续的区域

用来暂时存放程序执行过程中的一些数据

堆栈指针SP里存放的就是栈顶RAM单元的地址

数据如何进入堆栈保存呢

入栈指令的格式就是PUSH direct

这里面的direct代表想要存入堆栈的数据

该数据可以直接寻址

也可以是寄存器寻址

数据入栈存储的过程是什么

首先单片机会把堆栈指针

SP里的地址数据自加一个一

然后再把direct代表的数据

送入SP里地址指向的RAM单元存放

术语也叫做先加后压

堆栈里面的数据又如何取出来呢

就需要用到出栈指令

出栈指令的格式是POP direct

该指令是把堆栈指针SP里地址

指向的RAM单元的数据取出来送给direct

指向的单元存放

然后再把SP里的地址信息自减一个一

这样的目的是为读取堆栈的下一条数据做准备

术语也叫做先弹后减

好了

下面让我们来看一道例题

设累加器A中的原来的内容是02H

B寄存器里面的内容是56H

执行指令

执行下面指令后

请同学们思考一下

堆栈指针SP等于多少

累加器A的内容又变成多少

B寄存器的内容变成多少

好的

下面 我们就仔细的来看一看程序

第一条指令是SBR:MOV SP , # 41H

当这条指令执行完之后

相当于是堆栈指针

SP赋了一个初值是41H

第二条指令PUSH A执行完之后

我们知道PUSH A是数据入栈指令

入栈的过程是先加后压

就会先把SP自加一个一

由SBR的41H变成了42H

然后再把累加器A的内容02H

送给SP地址42H所指向的单元存放

这样RAM 42H地址单元内容

就变成了02H

再下面一条指令PUSH B执行完后

和PUSH A的过程一样

也是SP要先加后压

这时候那么就把RAM 43H单元内容

就变成了56H

当指令MOV A , #00H执行完之后

A的内容又改为了00H

MOV B ,# 01H执行完之后

B的内容又改为了01H

下面是出栈 用POP

POP B 执行完之后

出栈的过程是先弹后减

就先把SP里的地址43H

指向的RAM单位的数据56H弹出来

送给B寄存器

然后SP自减一个一

这样执行完该条指令之后

B的内容等于56H

SP的内容是42H

最后再执行POP A

执行过程也是先弹后减

先把SP的地址42H指向的RAM单元的数据

弹出来送给A

这时候A里面内容就变成了02H

然后SP自减一个一

这时候SP就变到了41H

请同学们认真体会

堆栈的操作过程

一个是入栈 PUSH

一个是出栈 POP

入栈是先加后压

出栈POP指令是先弹后减

好的

下面请你来做一道练习

说明这个程序执行的过程

SP的内容及堆栈中的内容改变的过程

程序如下

你可先自行分析一下每条指令的执行结果

然后再参看我们给出的注释

比较一下和你分析的结果有什么不同

认真的体会出栈和入栈指令的操作的过程

好的

今天我们主要介绍了一下

和堆栈相关的两条指令

一个是PUSH 入栈

一个是POP出栈

请同学们一定下去之后

仔细的体会这两条指令的功能和含义

今天的课就到这里

同学们 再见

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

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 第八章作业-作业

堆栈操作指令笔记与讨论

也许你还感兴趣的课程:

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