1
我使用nasm來學習程序集。下面是源代碼:mov eax,0和mov ax之間的機器碼差異,0
[BITS 32]
mov ebx, 0
mov bx, 0
mov bl, 0
然後我用 'ndisasm -b 32 TEST.bin,燒寫' 得到輸出如下:
00000000 BB00000000 mov ebx,0x0
00000005 66BB0000 mov bx,0x0
00000009 B300 mov bl,0x0
我的問題是BB00000000和差異66BB0000,我知道MOV的操作碼是B,但是B之前的66是什麼?
噢,謝謝,你能給我一些線程來獲取有關操作數大小的更多信息嗎? – Bobo
@bobo此圖表可能有所幫助:http://wiki.osdev.org/X86-64_Instruction_Encoding#Operand-size_and_address-size_override_prefix –
@MichaelPetch好的,謝謝。 – Bobo