scratch寄存器作用说明
ARM架构中使用R12作为子程序间的scratch寄存器 (ATPCS中规定)。
可以将R12 用于保存SP,在函数返回时使用该寄存器出栈,记作ip。
或者又比如:
Uboot程序中主程序调用 cpu_init_crit函数,在这个cpu_init_crit函数中有下面的代码:
mov ip, lr
bl lowlevel_init
mov lr, ip
mov pc, lr
这个代码在调用lowlevel_init函数之前,先将lr存储在R12,之后在lowlevel_init函数调用返回之后使用mov lr,ip将之前保存的返回地址再一次存储到lr寄存器。
scratch寄存器作用说明相关推荐
- CPU各个寄存器作用
程序员的代码最终的实现就是对寄存器和内存进行一些操作,知道CPU中各个寄存器的作用,能够对代码有更深刻的了解. 文章目录 CPU各个寄存器作用(8086): CS,IP bx,si,di,bp ss, ...
- CPU中寄存器作用及说明
各种计算机的CPU可能不同,但是在CPU中至少至少要有六类寄存器:①指令寄存器(IR):②程序计数器(PC):③数据地址寄存器(AR):④缓冲寄存器(DR):⑤通用寄存器(R0~R3);⑥状态字寄存器 ...
- 【汇编】各个寄存器作用详解
寄存器 英文名称:Register 寄存器定义 寄存器是中央处理器内的组成部份.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中,包含的寄存器有指令寄存器( ...
- 几种常见的寄存器作用
EDX.EAX.ECX.EBX寄存器的作用 一般寄存器:AX.BX.CX.DX AX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器 索引暂存器:SI.DI SI:来源索引暂存器,D ...
- 各种寄存器作用(汇总)
32位CPU所含有的寄存器有: 4个数据寄存器(EAX.EBX.ECX和EDX) 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和EBP) 6个段寄存器(ES.CS.SS.DS.FS和 ...
- eax, ebx, ecx, edx, esi, edi, ebp, esp 各寄存器作用
eax, ebx, ecx, edx, esi, edi, ebp, esp等都是X86 汇编语言中CPU上的通用寄存器的名称,是32位的寄存器.如果用C语言来解释,可以把这些寄存器当作变量看待. 比 ...
- R0~R16寄存器作用
R0-R3 用作传入函数参数,传出函数返回值.在子程序调用之间,可以将 r0-r3 用于任何用途. 被调用函数在返回之前不必恢复 r0-r3.如果调用函数需要再次使用 r0-r3 的内容,则它 ...
- CPU各寄存器的作用
CPU各寄存器的作用 - [Asm] 寄存器作用:ebp和esp是32位的SP,BP esp是堆栈指针 ebp是基址指针 ESP与SP的关系就象AX与AL,AH的关系.32位CPU所含有的寄存器有:4 ...
- ARM寄存器及功能介绍/R0-R15寄存器
1.ARM 寄存器组介绍 ARM 处理器一般共有 37 个寄存器,其中包括: (1) 31 个通用寄存器,包括 PC(程序计数器)在内,都是 32 位的寄存器. (2) 6 个状态寄存器,都是 32 ...
最新文章
- GitHub从入门到精通
- 5G NR — 动态频谱共享
- matlab+snapshot采集图片
- Asp.Net MVC4下设置W3P3(IIS)调试步骤
- MFC子对话框初始化问题_从一个“断言”报警说起
- MySQL中的单引号
- vmware的vmdk格式虚拟机转换为kvm的qcow2格式
- 计算机包含着什么,计算机基础的包含是什么?
- 使用 setTimeout 实现 setInterval
- ❤️《JUC并发编程从入门到高级》(建议收藏)❤️
- Termux第一篇之ssh使用
- LINUX下载编译libogg
- 翻译:神经网络 为什么要通过减去数据集的图像均值来标准化图像,而不是深度学习中的当前图像均值?
- Vue中使用地图平台MapboxGL
- smbrun - smbd和外部程序间的接口程序。
- linux菜鸟入门之系统启动流程
- peewee mysql_tornado+peewee-async+peewee+mysql(一)
- 命令行的迅雷,这样用会更香
- 微信公众平台测试号登录入口地址
- P352作业10-P360复习