仿真调试时可以观察到cpu哪些寄存器变化

 我来答
霸7威武
2018-06-26 · 知道合伙人数码行家
霸7威武
知道合伙人数码行家
采纳数:59377 获赞数:97666
今年入校,就读汽车专业。

向TA提问 私信TA
展开全部
  寄存器是CPU内部重要的数据存储资源,是汇编程序员能直接使用的硬件资源之一。
  由于寄存器的存取速度比内存快,所以,在用汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。
  寄存器一般用来保存程序的中间结果,为随后的指令快速提供操作数,从而避免把中间结果存入内存,再读取内存的操作。在高级语言(如:C/C++语言)中,也有定义变量为寄存器类型的,这就是提高寄存器利用率的一种可行的方法。
  另外,由于寄存器的个数和容量都有限,不可能把所有中间结果都存储在寄存器中,所以,要对寄存器进行适当的调度。根据指令的要求,如何安排适当的寄存器,避免操作数过多的传送操作是一项细致而又周密的工作。
  有关“寄存器的分配策略”在《编译原理》中会有详细的介绍。
  1、 16位寄存器组
  16位CPU所含有的寄存器有(见图2.1中16位寄存器部分):
  4个数据寄存器(AX、BX、CX和DX)
  2个变址和指针寄存器(SI和DI) 2个指针寄存器(SP和BP)
  4个段寄存器(ES、CS、SS和DS)
  1个指令指针寄存器(IP) 1个标志寄存器(Flags)
  2、 32位寄存器组
  32位CPU除了包含了先前CPU的所有寄存器,并把通用寄存器、指令指针和标志寄存器从16位扩充成32位之外,还增加了2个16位的段寄存器:FS和GS。
  32位CPU所含有的寄存器有(见图2.1中的寄存器):
  4个数据寄存器(EAX、EBX、ECX和EDX)
  2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP)
  6个段寄存器(ES、CS、SS、DS、FS和GS)
  1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)
北京康思
2018-09-20 广告
电压的测量利用示波器所做的任何测量,都是归结为对电压的测量。示波器可以测量各种波形的电压幅度,既可以测量直流电压和正弦电压,又可以测量脉冲或非正弦电压的幅度。更有用的是它可以测量一个脉冲电压波形各部分的电压幅值,如上冲量或顶部下降量等。这是... 点击进入详情页
本回答由北京康思提供
梁觅丹Rb
2017-12-24 · TA获得超过7317个赞
知道大有可为答主
回答量:5663
采纳率:93%
帮助的人:536万
展开全部
keil我不知道,但在IAR里边,进入Debug模式下,在菜单栏中:
View->Register即可弹出寄存器窗口,在里面的下拉菜单中可查看CPU寄存器和外设(定时器、串口等)相关的寄存器值。

注:View->Disassembly可查看汇编的执行。
View->Memory可查看地址空间的数据(有效可访问的空间)。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式