看板 ASM 關於我們 聯絡資訊
※ 引述《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
waterwarm:XD 01/29 00:07
loteslogin:氣質點數 ☆☆☆ +1 ☆☆☆ 02/08 15:11