簡體   English   中英

AVR匯編:jmp和rjmp指令中的地址是什么?

[英]AVR Assembly: What will be the address in the jmp and rjmp instructions?

我得到的代碼是這樣的:

140后退:jmp前進

142添加

143添加

總共有80條這樣的添加指令

222 lds

224 lds

226 lds

總共有300個lds這樣的指令

822轉發:rjmp返回

哪個存儲單元的地址將存儲在第140行的jmp指令和第822行的rjmp指令中? rjmp將存儲地址822-140 = 682或823-140 = 683 (假設PC + 1)。

我認為該作業問題每一行開頭的編號不是行號,而是程序計數器值(即Flash中字的地址,其中每個字是兩個字節)。

jmp指令存儲絕對地址,因此jmp Forward指令將僅存儲數字822

rjmp指令存儲一個數字k ,並使程序計數器(PC)變為PC + k + 1 因此,我們必須求解k,知道PC最初是822,並且必須更改為140。所以我們知道140 = 822 + k + 1,因此k = 140-822-1 = -683

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM