簡體   English   中英

匯編語言,不了解指令代碼和存儲位置

[英]Assembly language, don't understand the instruction codes and memory locations

我正在我的數字設計課程中學習測試,但我聽不懂一些東西。 這是帶有答案的工作表, 在此處輸入圖片說明

  1. 我了解每條指令的PC地址。 我不明白的是在b上,它表示分支跳轉到哪里,68hc12提取哪條指令並在分支之后執行。 我看到080B 20 F8,但這到底是什么意思,就像080B是內存中保存指令的插槽,但是20 F8之后是什么意思呢? 而且我對C部分的A不太理解,任何幫助都會很棒。

A)解釋說20 F8bra loop的原始機器代碼,其他說明未顯示。

顯然,您應該對機器代碼格式有足夠的了解,可以弄清楚該分支到哪里。

我不知道68HC12,但是根據其他ISA(例如x86)的經驗,我假設0x20是操作碼,0xF8是有符號2的補碼相對位移,可能是相對於分支指令的結尾

哦,是的,為C部分編寫的解決方案證實了這一點。 但是0x080D + 0xF8僅在從低字節到高字節沒有進位的情況下有效。 除非68hc12位移怪異或存在分段,否則添加之前必須先對extend進行符號簽名,所以它是0x080D + 0xFFF8

暫無
暫無

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

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