16位CPU在进行堆栈操作时,分别用到的寄存器有哪些?

 我来答
p64516120
2020-11-12 · TA获得超过2138个赞
知道小有建树答主
回答量:1734
采纳率:0%
帮助的人:141万
展开全部
了解CPU,是为了便于我们今后对单片机软件的编程有一个方向性的把握,我们可以更好的知道程序在执行过程中,它的每一段代码在干着一件什么样的事,它的时序是什么样的,从而提升我们对CPU更有效的利用。

对于stm8单片机的CPU,它有六个寄存器,我们需要了解里面有着重要功能的几个(直接和我们写代码相关联),知道它们的作用。

1.累加器:A。8位通用目的寄存器,用于算术运算、逻辑运算以及数据操作的操作数及结果。

2.索引寄存器(X和Y)。16位,用于寻址,也可用作数据操作的暂存器以及用于像乘除法这样的操作。

3.程序计数器(PC)。24位,用于存储CPU下一条要执行指令的地址。

图1 CPU的寄存器

4.堆栈指针(SP)。16位,用于在中断调用或子程序调用时存储CPU的上下文(程序计数器,关键寄存器,相关函数的参数及局部变量,等等)。下图显示了入栈出栈顺序。

图2 入栈出栈顺序

如果我们自己在相应软件下写代码进行debug模式时,可以看到CPU中各寄存器的运行状况,这是一个参考了。

最后,我们了解CPU的一个不常用的寄存器:CFG_GCR(是否我们想使用其SWIM功能)。通常我们使用SWIM功能用于下载程序使用。如果我们恰好想要使用其IO口模式,可以在此处配置。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式