m
ov 立即數受限的原因:
因為根據下圖,mov
的機器指令中立即數最多能有
12位,其中有四位代表移位,所以立即數最多能有8位。
偽指令有兩種:操作類偽指令和定義類偽指令
定義類偽指令
global 定義乙個全域性的變數
data 定義資料段
ascii 定義乙個字串
byte 定義乙個位元組資料
word 定義乙個字資料
equ 定義乙個巨集
例子:
操作類偽指令(實際用其他指令替代)
ldr 偽指令:作用是把乙個立即數存入暫存器中,和訪存
ldr指令重名, 替代的時候能用
mov或者
mvn實現的話,就優先用這兩個指令,不能用的時候用先將資料存入記憶體,然後用真正的
ldr訪存。(別問我為什麼對
pc基址變址立即數為啥是
0,我也不懂,我認為按照正常邏輯應該是8啊)
nop 偽指令:空指令,其實用的是
mov。
例子:
來自為知筆記(wiz)
機器碼轉彙編指令
在用logisim初步畫完cpu電路後,配合educoder除錯電路。提交 到educoder後,後台會檢測錯誤資訊,根據報錯資訊中的週期數或者pc值,可以找到錯誤的指令機器碼。但是機器碼太抽象,因此使用下面的程式將指令機器碼翻譯成指令名稱,進而繼續除錯電路。32位mips指令翻譯器 輸入一條16進...
jmp指令對應的機器碼
od隨便開啟乙個記事本,彙編幾條jmp指令,可以看到如下 位址 hex 反彙編 010073b4 e9 7b9e8787 jmp 88881234 010073b9 e9 769e8787 jmp 88881234 010073be e9 719e8787 jmp 88881234 010073c3...
jmp指令的機器碼編寫
1.首先直接的jmp分3種 short jump 短跳轉 機器碼 eb rel8 只能跳轉到256位元組的範圍內 near jump 近跳轉 機器碼 e9 rel16 32 可跳至同乙個段的範圍內的位址 far jump 遠跳轉 機器碼ea ptr 16 16 32 可跳至任意位址,使用48位 32...