点亮一个LED之参数传递规则

发布时间:2024-07-31  

1 说明

实验平台: JZ2440

CPU:       S3C2440


2 ARM-THUMB Procedure Call Standard(ATPCS: ARM-Thumb过程调用标准)

image

                           图1 ATPCS中各寄存器的使用规则和名称


2.1 数据栈结构

我们使用的栈结构为FD(Full Descending)类型。注意:栈基址所指向的内存单元,不存放数据。

clip_image004 

                            图2 栈结构


2.2 参数传递规则

根据参数个数是否固定,可以将子程序分为参数个数固定的子程序和参数个数可变的的子程序。

2.2.1 参数个数可变的子程序传递规则

参数传递时,可以将所有参数看作是存放在连续的存储字单元中的字数据。

当参数个数不超过4个时,使用寄存器R0-R3来传递参数,依次将各个字数据分别传送到寄存器R0-R3中去。

当参数个数超过4个时,还需使用数据栈来传递参数,把前4个字数据分别传送到寄存器R0-R3中去,剩余的字数据传送到数据栈中,需要注意的是,入栈顺序与参数顺序相反,即最后一个字数据先入栈。


2.2.2 参数个数固定的子程序传递规则

第一个整数参数通过寄存器R0-R3来传递,其他参数通过数据栈传递。


2.2.3 子程序结果返回规则

结果为一个32位的整数时,可以通过寄存器R0来返回。

结果为一个64位的整数时,可以通过寄存器R0和R1来返回,以此类推。

对于位数更多的结果,需要通过内存来反回。


3 反汇编代码分析

clip_image006


附录1:源码

Start.S

clip_image008


main.c

clip_image010


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    伺服驱动器故障代码_伺服驱动器参数详解;  伺服驱动器故障代码   伺服驱动器又称为“伺服控制器”、“伺服放大器”,是用来控制伺服电机的一种控制器,其作用类似于变频器作用于普通交流马达,属于......
                ENDP   通过这段汇编代码可以看出,程序在执行main函数之前,会先执行SystemInit函数。 2.2 SystemInit函数详解 void SystemInit......
    改变电网频率来改变电机的转速和转矩。 ⑤.软启动器启动:利用可控硅的移相调压原理来实现电动机的调压。 2.伺服电机控制接线图 3.编码器基本参数详解 4.串口RS485、RS422、RS232......
    STM32定时器中TIM_RepetitionCounter作用详解;在STM32中 有一个这个TIM_RepetitionCounter参数。如下,定时了0.001s,然后在中断中计数1000次......
    2R600A(I)-N和2R3000A(I)-N,参数详情如下: >> 压敏电阻20D471K参数: 最大通流能力6.5KA(8/20us组合波,2Ω),考虑到压敏电阻有衰减问题,该方......
    详解STM32呼吸灯的PWM实现; 本文通过呼吸灯实验,演示STM32中PWM的配置与应用。 打开CubeMX软件,新建......
    的自恢复保险丝PPTC,在充电仓中可以有效地保护电流过大、过热的问题。有关自恢复保险丝DW-TSM010参数详情,可向东沃电子索取产品手册。 TWS无线蓝牙耳机静电保护问题,推荐客户选用东沃DW05......
    了解了这些我们便可以理解上面的串口中断服务函数了。 串口中断服务函数详解(STM32F103RCT6芯片的串口1) 在usart.h文件中: 定义了一个最大200字节的u8类型......
    以及 MediaTek 5G UltraSave 2.0 省电技术,可大幅降低 5G 通信功耗。IT之家附参数详情:......
     2x2 天线三频 Wi-Fi 6E 以及 MediaTek 5G UltraSave 2.0 省电技术,可大幅降低 5G 通信功耗。IT之家附参数详情: ......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>