2012-11-17 37 views

回答

4

不。現在有幾個arm指令集。主臂指令集中,所有指令都是32位,並且指令的解碼不會被隔離到指令內的一個字段。拇指指令集基於16位指令,但答案相同,具體取決於解碼在不同位置的指令。然後拇指指令集有thumb2擴展,相同的答案。 thumb2指令是來自拇指的未定義指令之一,然後添加一些位來區分哪條指令。

從infocenter.arm.com獲取ARM體系結構參考手冊以查看所有這些信息。有幾個很好的圖表顯示了這一切是如何工作的,msbits用於將指令分成不同的類型,然後根據類型解釋其餘位。

x86來自8位世界,其中設計傾向於使用一個內存位置(/訪問)(當時是一個字節)用於更常用的指令,然後將一些操作碼複用到第二個字節。另外立刻增加了整體。那沒問題,但今天效率很低。 x86應該是你學習的最後一個指令集,如果不是代表一個好的指令集,你將需要忘記一些事情向前邁進。

維基百科在維基頁面本身有許多指令集,其他維基百科經常有直接鏈接。像arm和mips這樣的IP供應商,以及許多芯片供應商,您可以直接訪問他們的網站並獲取文檔。

2

ARM指令並沒有真正的'操作碼'概念。我不太瞭解x86指令集,但是您所描述的內容聽起來像6502機器代碼,其中一些字節標識要執行的指令,而其他指定指令使用的數據。

忽略Thumb,所有ARM 指令都是四個字節長。指令使用的操作數包含在這四個字節中。