Pre*_*rko 2 x86 assembly x86-64
在Barry B. Brey的"THE INTEL MICROPROCESSORS"一书中写道
MOV AH, 1
Run Code Online (Sandbox Code Playgroud)
在64位模式下不允许,但在32位或16位模式下允许.如果MOV AL, 1可以在64位模式下允许,有什么问题MOV AH, 1?
没有问题mov ah,1.它在X64模式下运行良好.
它的操作码是b4 01.
唯一mov ah不允许的时间是mov有REX前缀的时候.
来自:http://www.felixcloutier.com/x86/MOV.html
***在64位模式中,r/M8不能被编码访问随后的字节的寄存器,如果使用REX前缀:
AH,BH,CH,DH.
在这种情况下,高字节寄存器(AH,BH,CH,和DH)被重新定义为
DIL,SIL,BPL和SPL.但这只有在存在REX前缀的情况下才会出现.
带有REX前缀的说明如下:
anything with the R8..R15 regs and parts thereof
anything that accesses the new 8 bit regs: DIL, SIL, BPL, SPL
anything that accesses 64 bit registers.
Run Code Online (Sandbox Code Playgroud)