想在IAR中實現保存現場,求代碼寫法
目前,有一段代碼可能是用到了寄存器傳參,所以想要用匯編把R4-R15壓入堆棧保存下,等待函數執行完再彈出試下!FUN:
PUSH R4
PUSH R4
PUSH R5
PUSH R6
PUSH R7
PUSH R8
PUSH R9
PUSH R10
PUSH R11
PUSH R12
PUSH R13
PUSH R14
PUSH R15
POP R15
POP R14
POP R13
POP R12
POP R11
POP R10
POP R9
POP R8
POP R7
POP R6
POP R5
POP R4
RET 绝对地址是用来做什么的呢? stmfd sp!, {r0-r12, lr}
可以用类似这样的指令吧 不都是单片机自行进行保存现场的吗? jxchen 发表于 2016-8-26 23:13
FUN:
PUSH R4
PUSH R4
我中間要插入一些代碼,需要計算 gsq19920418 发表于 2016-8-28 12:00
我中間要插入一些代碼,需要計算
FUN:
PUSH R4
PUSH R5
PUSH R6
PUSH R7
PUSH R8
PUSH R9
PUSH R10
PUSH R11
PUSH R12
PUSH R13
PUSH R14
PUSH R15
從這理開始插入你的程式碼
POP R15
POP R14
POP R13
POP R12
POP R11
POP R10
POP R9
POP R8
POP R7
POP R6
POP R5
POP R4
RET wangsen 发表于 2016-8-27 22:58
不都是单片机自行进行保存现场的吗?
組合語言由自己控制所有的事情,編譯器不會自行處理
jxchen 发表于 2016-8-28 21:18
FUN:
PUSH R4
PUSH R5
我單獨寫個ASM吧! gsq19920418 发表于 2016-8-29 09:14
我單獨寫個ASM吧!
答案已經告訴你了如何保護與插入你的代碼,我不明白你的問題是什麼
你要问什么??不是有人回答了吗 jxchen 发表于 2016-8-30 22:26
答案已經告訴你了如何保護與插入你的代碼,我不明白你的問題是什麼
雖然沒學會C语言和匯編的混合編程,但是問題已經發現,好像是layout工程師的佈綫問題,把芯片拆了,或者換到另外一路模擬I2C就好了,謝謝!
页:
[1]