ARM中pc、lr寄存器
来源:互联网 发布:知加偏旁组新字再组词 编辑:程序博客网 时间:2024/05/16 08:09
PC(程序计数器) = windows 中 EIP
解析:
处理器要执行的程序(指令序列)都是以二进制代码序列方式预存储在计算机的存储器中,处理器将这些代码逐条
地取到处理器中再译码、执行,以完成整个程序的执行。为了保证程序能够连续地执行下去,CPU必须具
有某些手段来确定下一条取指指令的地址.程序计数器(PC)正是起到这种作用,所以通常又称之为‘指令计数器’
。CPU总是按照PC的指向对指令序列进行取指、译码和执行,也就是说,最终是PC 决定了程序运行流向。故而,程
序计数器(PC )属于特别功能寄存器范畴,不能自由地用于存储其他运算数据.
在程序开始执行前,将程序指令序列的起始地址,即程序的第一条指令所在的内存单元地址送入PC,CPU 按照 PC
的指示从内存读取第一条指令(取指)。当执行指令时,CPU自动地修改PC 的内容,即每执行一条指令PC增加一个
量,这个量等于指令所含的字节数(指令字节数),使 PC总是指向下一条将要取指的指令地址。由于大多数指令都
是按顺序来执行的,所以修改PC 的过程通常只是简单的对PC 加“指令字节数”。
当程序转移时,转移指令执行的最终结果就是要改变PC的值,此PC值就是转去的目标地址。处理器总是按照PC
指向取指、译码、执行,以此实现了程序转移。
R14(lr)连接寄存器
R14称为子程序链接寄存器LR(Link Register),当执行子程序调用指令(BL)时,R14可得到R15(程序计数器PC)的备
份.在每一种运行模式下,都可用R14保存子程序的返回地址,当用BL或BLX指令调用子程序时,将PC的当前值复制给
R14,执行完子程序后,又将R14的值复制回PC,即可完成子程序的调用返回。以上的描述可用指令完成。
执行以下任意一条指令:
MOV PC,LR
BX LR
在子程序入口处使用以下指令将R14存入堆栈:
STMFD SP!,{,LR}
对应的,使用以下指令可以完成子程序返回:
LDMFD SP!,{,PC}
R14也可作为通用寄存器。
- ARM中pc、lr寄存器
- arm 的pc和lr寄存器
- ARM的PC和LR寄存器
- ARM 内核SP,LR,PC寄存器
- ARM 内核SP,LR,PC寄存器
- MOV arm 通用寄存器 PC,LR
- 深入理解ARM的SP LR PC这三个寄存器
- LR PC SP寄存器
- SP,LR,PC寄存器
- ARM LR寄存器
- ARM LR寄存器
- ARM LR寄存器
- ARM LR寄存器
- ARM汇编中lr(r14)寄存器的作用
- ARM汇编中LR(R14)寄存器的作用
- ARM汇编中lr(r14)寄存器的作用
- ARM汇编中lr(r14)寄存器的作用
- ARM中SP,LR,PC使用(转载)
- 如何识别复杂的数据类型
- 关于AndroidBroadcastReceiver的注册方式
- 如何将 JSON, Text, XML, CSV 数据文件导入 MySQL
- 泛型数组
- 深度优先搜索
- ARM中pc、lr寄存器
- 二叉树应用-Huffman树类模板的实现(数据结构基础 第6周)
- Product of Array Except Self
- C++一步一步学习路线
- 本地XML之Pull解析
- 将函数 fn 的执行上下文改为 obj 对象
- apache服务器的安装与使用
- 清除浮动塌陷的4种经典套路
- VS2013调用*.m文件生成的动态链接库*.dll