標(biāo)題: PIC33EP單片機(jī)匯編語言定義函數(shù)的入口參數(shù)默認(rèn)分配給哪個寄存器? [打印本頁]

作者: yermsir    時間: 2021-12-26 22:38
標(biāo)題: PIC33EP單片機(jī)匯編語言定義函數(shù)的入口參數(shù)默認(rèn)分配給哪個寄存器?
我看到一個PIC33EP單片機(jī)的例程程序,用匯編語言定義了一個正弦波查表程序,然后使用C語言來調(diào)用這個函數(shù)。匯編語言定義函數(shù)是帶有一個形參的。程序詳見附圖。
疑問如下:
1)函數(shù)調(diào)用的形參值默認(rèn)是傳遞給w0寄存器了,為什么是傳遞給w0寄存器,不是w1寄存器呢?
2)如果用匯編語言定義一個含有兩個形參的函數(shù),函數(shù)調(diào)用是形參會傳遞給哪兩個寄存器?w0,w1?手冊哪一部分有這個說明?

捕獲2.JPG (20.6 KB, 下載次數(shù): 114)

捕獲2.JPG

捕獲.JPG (34.89 KB, 下載次數(shù): 105)

捕獲.JPG

作者: 人工置頂員    時間: 2021-12-28 05:07
頂一下
作者: yermsir    時間: 2021-12-28 08:53
人工置頂員 發(fā)表于 2021-12-28 05:07
頂一下

謝謝置頂,希望有大牛幫忙解釋一下。
作者: yermsir    時間: 2021-12-28 10:42
我已經(jīng)找到了答案,這是因?yàn)镃語言和匯編語言互相間的調(diào)用遵循ARM-Thumb Procedure Call Standard,不超過4個形參時,參數(shù)通過r0,r1,r2,r3來傳遞。如果超過4個形參,超過4的部分必須通過堆棧進(jìn)行傳遞。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1