眾所周知,ARM架構(gòu)下,函數(shù)參數(shù)是通過(guò) r0~r4寄存器傳遞的;但是如果參數(shù)超過(guò)四個(gè),就要借助于棧了。
下面以一個(gè)例子說(shuō)明。
main()的匯編如下:
這個(gè)時(shí)候(執(zhí)行到箭頭指向的位置),棧的狀態(tài)如下:
函數(shù) func的匯編如下:
此時(shí),棧狀態(tài)如下:
ldr r3, [r11, #4]
上面這一句匯編代碼就是從棧上取回保存的第5個(gè)參數(shù)的值。
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
相關(guān)推薦
當(dāng)一個(gè)C函數(shù)被調(diào)用時(shí),函數(shù)的參數(shù)如何傳遞、堆棧指針如何變化、棧幀是如何被建立以及如何被消除的,一
發(fā)表于 06-08 10:49
?1167次閱讀
與普通函數(shù)一樣,系統(tǒng)調(diào)用通常需要一些輸入/輸出參數(shù),這些參數(shù)可能包括實(shí)際值(即數(shù)字)、用戶模式進(jìn)程地址空間中的變量地址,甚至包括指向用戶模式函數(shù)
發(fā)表于 12-20 09:32
?1355次閱讀
做了定義,明確了它們?cè)?b class='flag-5'>函數(shù)中的職責(zé):圖 8AAPCS關(guān)于ARM寄存器的定義函數(shù)調(diào)用時(shí)的規(guī)則如下:1. 父函數(shù)與子
發(fā)表于 09-30 13:34
之前在學(xué)習(xí)如何在C語(yǔ)言中嵌入?yún)R編時(shí)有了解到C語(yǔ)言之前的參數(shù)調(diào)用是使用寄存器R0傳遞第一個(gè)參數(shù),R1傳遞
發(fā)表于 03-31 10:44
中斷與異常有何區(qū)別?ARM系統(tǒng)在函數(shù)調(diào)用的時(shí)候參數(shù)是通過(guò)哪種方式傳遞的?
發(fā)表于 12-24 06:21
ARM函數(shù)調(diào)用默認(rèn)4個(gè)參數(shù)用R0-R4傳遞,大于4個(gè)
發(fā)表于 04-26 10:05
行參數(shù)的傳遞以及如何從C函數(shù)正確返回不同于x86的參數(shù)傳遞規(guī)則,ATPCS建議函數(shù)的形參不
發(fā)表于 05-07 10:02
matlab自定義函數(shù)調(diào)用的方法
命令文件/函數(shù)文件+ 函數(shù)文件 - 多
發(fā)表于 11-29 13:14
?88次下載
參數(shù)被傳遞到方法中時(shí),參數(shù)的值就是該對(duì)象的引用一個(gè)副本。指向同一個(gè)對(duì)象,對(duì)象的內(nèi)容可以在被
發(fā)表于 09-27 17:03
?0次下載
指令BL或MOV pc,lr一般只需要6個(gè)指令周期(ARM7上)。 在函數(shù)的入口和出口使用多寄存器加載/存儲(chǔ)指令LDM和STM(Thumb指令使用PUSH和POP)提高函數(shù)體的執(zhí)行效率
發(fā)表于 10-17 16:49
?6次下載
參數(shù)傳遞,是在程序運(yùn)行過(guò)程中,實(shí)際參數(shù)就會(huì)將參數(shù)值傳遞給相應(yīng)的形式參數(shù),然后在
發(fā)表于 03-02 11:41
?7283次閱讀
C語(yǔ)言函數(shù)調(diào)用時(shí)的數(shù)據(jù)傳遞
在調(diào)用有參函數(shù)時(shí),主調(diào)函數(shù)和被調(diào)
發(fā)表于 03-10 14:28
?1570次閱讀
調(diào)用的應(yīng)用層接口函數(shù),第二個(gè)參數(shù)是一個(gè)指針,指向具體被調(diào)用函
發(fā)表于 07-24 11:02
?437次閱讀
下面是Arm64程序調(diào)用標(biāo)準(zhǔn)規(guī)定的通用寄存器的使用方法。 參數(shù)寄存器(X0-X7) 函數(shù)參數(shù)數(shù)量
發(fā)表于 07-28 11:28
?2483次閱讀
VLOOKUP函數(shù)是一種用于在Excel中查找和提取數(shù)據(jù)的功能強(qiáng)大的函數(shù)。它的四個(gè)參數(shù)含義分別是:查找值、查找范圍、返回列索引和區(qū)域或表標(biāo)志。 首先,讓我們來(lái)詳細(xì)了解這
發(fā)表于 12-01 09:57
?6844次閱讀
評(píng)論