当前位置:首页 > 经验 >

寄存器通俗解释(单片机寄存器通俗解释)

来源:原点资讯(www.yd166.com)时间:2022-11-06 07:22:54作者:YD166手机阅读>>

涉及的指令有

pop bx /* bx = */

完整的 push 和 pop 过程如下

寄存器通俗解释,单片机寄存器通俗解释(25)

现在 cxuan 问你一个问题,我们上面描述的是 10000H ~ 1000FH 这段空间来作为 push 和 pop 指令的存取单元。但是,你怎么知道这个栈单元就是 10000H ~ 1000FH 呢?也就是说,你如何选择指定的栈单元进行存取?

事实上,8086 CPU 有一组关于栈的寄存器 SS 和 SP。SS 是段寄存器,它存储的是栈的基础位置,也就是栈顶的位置,而 SP 是栈指针,它存储的是偏移地址。在任意时刻,SS:SP 都指向栈顶元素。push 和 pop 指令执行时,CPU 从 SS 和 SP 中得到栈顶的地址。

现在,我们可以完整的描述一下 push 和 pop 过程了,下面 cxuan 就给你推导一下这个过程。

寄存器通俗解释,单片机寄存器通俗解释(26)

上面这个过程主要涉及到的关键变化如下。

当使用 PUSH 指令向栈中压入 1 个字节单元时,SP = SP - 1;即栈顶元素会发生变化;

而当使用 PUSH 指令向栈中压入 2 个字节的字单元时,SP = SP – 2 ;即栈顶元素也要发生变化;

当使用 POP 指令从栈中弹出 1 个字节单元时, SP = SP 1;即栈顶元素会发生变化;

当使用 POP 指令从栈中弹出 2 个字节单元的字单元时, SP = SP 2 ;即栈顶元素会发生变化;

栈顶越界问题

现在我们知道,8086 CPU 可以使用 SS 和 SP 指示栈顶的地址,并且提供 PUSH 和 POP 指令实现入栈和出栈,所以,你现在知道了如何能够找到栈顶位置,但是你如何能保证栈顶的位置不会越界呢?栈顶越界会产生什么影响呢?

比如如下是一个栈顶越界的示意图

寄存器通俗解释,单片机寄存器通俗解释(27)

第一开始,SS:SP 寄存器指向了栈顶,然后向栈空间 push 一定数量的元素后,SS:SP 位于栈空间顶部,此时再向栈空间内部 push 元素,就会出现栈顶越界问题。

栈顶越界是危险的,因为我们既然将一块区域空间安排为栈,那么在栈空间外部也可能存放了其他指令和数据,这些指令和数据有可能是其他程序的,所以如此操作会让计算机懵逼。

我们希望 8086 CPU 能自己解决问题,毕竟 8086 CPU 已经是个成熟的 CPU 了,要学会自己解决问题了。

寄存器通俗解释,单片机寄存器通俗解释(28)

栏目热文

8位移位寄存器原理(8位移位寄存器电路设计)

8位移位寄存器原理(8位移位寄存器电路设计)

Arduino从零开始你将学到什么1、你将学到如何增加arduino uno的数字输出针脚2、你将学到74HC595移位...

2022-11-06 07:03:05查看全文 >>

图解寄存器(寄存器寻址图解)

图解寄存器(寄存器寻址图解)

引言指令计数器即程序计数器。它是计算机处理器中的寄存器,它包含当前正在执行的指令的地址(位置)。当每个指令被获取,指令计...

2022-11-06 07:26:17查看全文 >>

寄存器的工作原理及逻辑功能(寄存器电路工作原理)

寄存器的工作原理及逻辑功能(寄存器电路工作原理)

序言前段时间,我连续写了十来篇CPU底层系列技术故事文章,有不少读者私信我让我写一下CPU的寄存器。寄存器这个太多太复杂...

2022-11-06 07:33:35查看全文 >>

移位寄存器的工作原理(八位循环移位寄存器工作原理)

移位寄存器的工作原理(八位循环移位寄存器工作原理)

今天我们将使用几个基本的电子“构建模块”,移位寄存器。这些方便的设备可用于各种用途,如数据转换、缓冲和存储,但今天我们将...

2022-11-06 07:23:36查看全文 >>

变频器寄存器通俗解释(变频器作用通俗解释)

变频器寄存器通俗解释(变频器作用通俗解释)

1、系统配置1.1 软件安装 Step7 Micro/Win SMART software(含 Modbus协议库)的P...

2022-11-06 07:27:33查看全文 >>

计算机寄存器原理图(计算机中所有的寄存器)

计算机寄存器原理图(计算机中所有的寄存器)

通过前面的学习,我们已知单片机的内部有ROM、有RAM、有并行I/O口,那么,除了这些东西之外,单片机内部究竟还有些什...

2022-11-06 07:20:50查看全文 >>

变址寄存器v和z有什么区别(为什么不建议学单片机)

变址寄存器v和z有什么区别(为什么不建议学单片机)

示例说明:一个简易保安系统,在规定次数(如5次)的范围内,若密码不正确将启动报警系统,并关闭安全通道。若规定的次数内密码...

2022-11-06 07:35:31查看全文 >>

常用寄存器通俗解释(寄存器的基础知识)

常用寄存器通俗解释(寄存器的基础知识)

与java相关的Java编译器输出的指令流,基本上是一种基于栈的指令集架构,而与之相对的另外一套常用的指令集架构是基于寄...

2022-11-06 07:03:54查看全文 >>

基本寄存器工作原理(寄存器电路图详解)

基本寄存器工作原理(寄存器电路图详解)

寄存器——具有能够接收、暂存和传递数码的一种逻辑记忆元件。一、数码寄存器 数码寄存器——最简单的寄存器,只具有接收数码...

2022-11-06 07:24:48查看全文 >>

4位右移寄存器工作原理(8位移位寄存器的接线图)

4位右移寄存器工作原理(8位移位寄存器的接线图)

钱浩宇,汪鹏君,丁代鲁,张跃军(宁波大学 电路与系统研究所,浙江 宁波315211)通过对传统移位寄存器原理和灵敏放大型...

2022-11-06 07:22:46查看全文 >>

文档排行