Re: [問題] 請問 PROC 為何物哉?
※ 引述《loteslogin (張三立)》之銘言:
貴樣,敝人才疏學淺!乃一介米蟲,使用PIC16F班門弄斧之下還請多加見諒
編譯器的虛指令通常都是有頭有尾,使得編譯器可以作編譯範圍判斷
但實際程式指令並不是虛指令,所以並沒有這樣的限制
以這樣的code為例
CALL TEST1
CALL TEST2
TEST1:
NOP
NOP
TEST2:
NOP
NOP
RET
編譯後為
0000H RCALL 02H
0001H RCALL 04H
0002H NOP
0003H NOP
0004H NOP
0005H NOP
0006H RET
0007H NOP
第一個CALL發生時跳到02H執行,此時Stack寫入01H
執行到06H RET時,RET取回Stack最後一筆數值後清除,返回01H位置
執行第二個CALL,跳到04H執行,此時Stack寫入02H
執行到06H RET時,RET取回Stack最後一筆數值後清除,返回02H位置
--
接著執行到06H RET時,RET取回Stack最後一筆數值後清除,但Stack裏面沒有東西
Stack Under Flow,翹蛋
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.119.110
推
01/29 00:07, , 1F
01/29 00:07, 1F
推
02/08 15:11, , 2F
02/08 15:11, 2F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章