APCS (ARM Procedure Call Standard)

pc 程序计数器, 指向当前指令的下条指令的地址
lr 链接寄存器, 程序调用返回地址
sp 指向当前的栈块(chunk)限制,或它的上面。这是用于复制临时数据、寄存器和类似的东西到其中的地方。(堆栈指针)
fp 要么是零,要么指向回溯结构的最当前的部分。
ip 内部过程调用寄存器

LR (R14) link register, used to hold the return address for a function call.
SP (R13) stack pointer, used to hold "automatic" variables and context/parameters across function calls.
PC (R15) Program counter.

时间: 2024-10-11 06:49:10

APCS (ARM Procedure Call Standard)的相关文章

RPC(Remote Procedure Call Protocol)远程过程调用协议

RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据.在OSI网络通信模型中,RPC跨越了传输层和应用层.RPC使得开发包括网络分布式多程序在内的应用程序更加容易. 基本简介 RPC采用客户机/服务器模式.请求程序就是一个客户机,而服务提供程序就是一个服务器.首先,客户机调用进程发送一个有进程参数的调用信

RPC(Remote Procedure Call Protocol)——远程过程调用协议 学习总结

首先了解什么叫RPC,为什么要RPC,RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据. 比如说,一个方法可能是这样定义的:Employee getEmployeeByName(String fullName)那么: 首先,要解决通讯的问题,主要是通过在客户端和服务器之间建立TCP连接,远程过程调用的所有交换的数据都在这个连接里传输.连接可以是按需连

阿里云服务器(Win 2008 R2 Standard)安装MSSM 2008 R2之1033和2052问题

最近在给租用的阿里云服务器安装Sql Server 2008 R2 Express时,遭遇下面的问题.经过几番折腾后,终于解决问题,完成安装,这里总结分享我的解决方法,希望能给遇到相同问题的小伙伴们节省折腾时间. Description:  SQL Server 2008 R2 Setup has encountered an error. Problem signature:  Problem Event Name:    SQL100MSI  Problem Signature 01:  

Linux XT工业级操作系统-LXT5架构(ARM编译2015版本)

                      Linux XT工业级操作系统-LXT5架构组成                        系统模块                                                             简介                   U-Boot启动 引导程序(Bootloader)     Linux内核 Kernel内核(Linux)     Linux驱动 接口.设备驱动(Xdrv)     Ramdisk.gz

ARMV8 Procedure Call Standard

1.前言 2.  术语说明 Term Note ABI Application Binary Interface 应用程序二进制接口 EABI Embedded ABI  嵌入式ABI PCS Procedure Call Standard  程序调用标准 AAPCS PCS for ARM Architecture    ARM体系结构程序调用标准 APCS ARM Procedure Call Standard   ARM程序调用标准(已经废弃) TPCS Thumb Procedure C

python面试题解析(网络编程与并发)

1.答: 应用层 与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的.例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层.但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层.示例:TELNET,HTTP,FTP,NFS,SMTP等. 表示层 这一层的主要功能是定义数据格式及加密.例如,FTP允许你选择以二进制或ASCII格式传输.如果选择二进制,那么发送方和接收方不改变文件的内容.如果选择ASCII格式,发

linux-3.2.36内核启动1-启动参数(arm平台 启动参数的获取和处理,分析setup_arch)【转】

转自:http://blog.csdn.net/tommy_wxie/article/details/17093297 最近公司要求调试一个内核,启动时有问题,所以就花了一点时间看看内核启动. 看的过程中总结了一点东西,希望可以帮助大家调试内核. 当我开始看的时候,第一件事是从网上搜集资料,不看不知道,一看吓一跳!牛人太多了,像这种内核启动的上古代码早就被人分析的彻彻底底.这注定我写的只能是烂微博了. 为了此微博有存在的必要,我会显示内核启动打印的代码位置(用绿色表示)及出现错误打印的原因(用红

oracle PL/SQL(procedure language/SQL)程序设计之函数+过程+包(转)

匿名PL/SQL块回顾 DECLARE (可选)     定义在PL/SQL块中要使用的对象 BEGIN (必须)     执行语句 EXCEPTION (可选)     错误处理语句 END; (必须) 匿名块(以DECLARE或BEGIN开始)每次使用时都要进行编译. 匿名块不存储在数据库中,并且它不能从其它的PL/SQL块中进行调用. 过程.函数.包和触发器:都是带名块.(请注重同匿名块的比较) 过程.函数.包和触发器:可以存储在数据库中,并且可以在需要的时候运行. 过程.函数.包和触发器

rtems 4.11 时钟驱动(arm, beagle)

根据bsp_howto手册,时钟驱动的框架主要在 c/src/lib/libbsp/shared/Clockdrv_shell.h 文件中实现 时钟初始化 时钟驱动初始化函数为 Clock_initialize(),这个函数在哪里被调用了呢? cpukit/include/rtems/clockdrv.h 中定义了 CLOCK_DRIVER_TABLE_ENTRY #define CLOCK_DRIVER_TABLE_ENTRY \ { Clock_initialize, NULL, NULL,