精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ARM架構:函數調用參數超過四個的傳遞方法

如意 ? 來源:CSDN ? 作者:CaspianSea ? 2020-06-22 14:36 ? 次閱讀

眾所周知,ARM架構下,函數參數是通過 r0~r4寄存器傳遞的;但是如果參數超過四個,就要借助于棧了。

下面以一個例子說明。

ARM架構:函數調用參數超過四個的傳遞方法

main()的匯編如下:

ARM架構:函數調用參數超過四個的傳遞方法

這個時候(執行到箭頭指向的位置),棧的狀態如下:

ARM架構:函數調用參數超過四個的傳遞方法

函數 func的匯編如下:

ARM架構:函數調用參數超過四個的傳遞方法

此時,棧狀態如下:

ldr r3, [r11, #4]

上面這一句匯編代碼就是從棧上取回保存的第5個參數的值。

ARM架構:函數調用參數超過四個的傳遞方法

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9046

    瀏覽量

    366818
  • 函數
    +關注

    關注

    3

    文章

    4306

    瀏覽量

    62431
  • 堆棧
    +關注

    關注

    0

    文章

    182

    瀏覽量

    19732
收藏 人收藏

    評論

    相關推薦

    C函數調用機制與棧幀原理詳解

    當一C函數調用時,函數參數如何傳遞、堆棧指針如何變化、棧幀是如何被建立以及如何被消除的,一
    發表于 06-08 10:49 ?1218次閱讀
    C<b class='flag-5'>函數</b><b class='flag-5'>調用</b>機制與棧幀原理詳解

    linux內核系統調用參數傳遞

    與普通函數一樣,系統調用通常需要一些輸入/輸出參數,這些參數可能包括實際值(即數字)、用戶模式進程地址空間中的變量地址,甚至包括指向用戶模式函數
    的頭像 發表于 12-20 09:32 ?1454次閱讀

    C函數與匯編函數之間參數及返回值傳遞方法

    做了定義,明確了它們在函數中的職責:圖 8AAPCS關于ARM寄存器的定義函數調用時的規則如下:1. 父函數與子
    發表于 09-30 13:34

    ARM函數調用參數傳遞規則(轉載),記錄一下

    之前在學習如何在C語言中嵌入匯編時有了解到C語言之前的參數調用是使用寄存器R0傳遞第一參數,R1傳遞
    發表于 03-31 10:44

    ARM系統在函數調用的時候參數是通過哪種方式傳遞

    中斷與異常有何區別?ARM系統在函數調用的時候參數是通過哪種方式傳遞的?
    發表于 12-24 06:21

    ARM函數調用過程說明

    ARM函數調用默認4參數用R0-R4傳遞,大于4
    發表于 04-26 10:05

    匯編代碼中對C函數調用時如何進行參數傳遞以及如何從C函數正確返回呢

    參數傳遞以及如何從C函數正確返回不同于x86的參數傳遞規則,ATPCS建議函數的形參不
    發表于 05-07 10:02

    matlab自定義函數調用方法

    matlab自定義函數調用方法 命令文件/函數文件+ 函數文件 - 多
    發表于 11-29 13:14 ?88次下載

    java方法參數傳遞簡析

    參數傳遞方法中時,參數的值就是該對象的引用一副本。指向同一對象,對象的內容可以在被
    發表于 09-27 17:03 ?0次下載
    java<b class='flag-5'>方法</b><b class='flag-5'>參數</b><b class='flag-5'>傳遞</b>簡析

    高效的C編程之函數調用

    指令BL或MOV pc,lr一般只需要6指令周期(ARM7上)。 在函數的入口和出口使用多寄存器加載/存儲指令LDM和STM(Thumb指令使用PUSH和POP)提高函數體的執行效率
    發表于 10-17 16:49 ?6次下載
    高效的C編程之<b class='flag-5'>函數</b><b class='flag-5'>調用</b>

    函數參數傳遞的原理

    參數傳遞,是在程序運行過程中,實際參數就會將參數傳遞給相應的形式參數,然后在
    的頭像 發表于 03-02 11:41 ?7303次閱讀
    <b class='flag-5'>函數</b><b class='flag-5'>參數</b><b class='flag-5'>傳遞</b>的原理

    C語言函數調用的形式及過程

    C語言函數調用時的數據傳遞調用有參函數時,主調函數和被調
    的頭像 發表于 03-10 14:28 ?1615次閱讀

    網絡系統調用網絡套接字入口函數

    調用的應用層接口函數,第二參數是一指針,指向具體被調用
    的頭像 發表于 07-24 11:02 ?451次閱讀

    Arm64程序調用通用寄存器的使用方法

    下面是Arm64程序調用標準規定的通用寄存器的使用方法。 參數寄存器(X0-X7) 函數參數數量
    的頭像 發表于 07-28 11:28 ?2545次閱讀
    <b class='flag-5'>Arm</b>64程序<b class='flag-5'>調用</b>通用寄存器的使用<b class='flag-5'>方法</b>

    vlookup函數四個參數含義

    VLOOKUP函數是一種用于在Excel中查找和提取數據的功能強大的函數。它的四個參數含義分別是:查找值、查找范圍、返回列索引和區域或表標志。 首先,讓我們來詳細了解這
    的頭像 發表于 12-01 09:57 ?6963次閱讀