[問題] ARM的組語問題--從C呼叫Assembly function

看板ASM (組合語言)作者 (journey)時間15年前 (2010/03/16 08:51), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
如果某個ARM的function是用assembly寫的 然後從C語言去呼叫 則傳進去的參數和回傳值會用那個register,或者用stack 是怎麼規定的? 不同家的compiler都不一樣嗎? 如果會的話, 那自己用assembly發展function讓別人在C application去使用, 怎麼知道要取哪些register來用或該把哪些register存進stack呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.247.173.226

03/16 12:39, , 1F
Google "Calling convention, ARM"
03/16 12:39, 1F

03/19 03:38, , 2F
看8051書上的寫法,C有規定各參數使用的暫存器
03/19 03:38, 2F

03/19 03:39, , 3F
依照參數的數量和型態,傳進/傳出的位置都不同.
03/19 03:39, 3F
文章代碼(AID): #1BdjO3x7 (ASM)
文章代碼(AID): #1BdjO3x7 (ASM)