Why is MOV AH, 1 not supported in 64-bit Intel microprocessor mode?

In the book "INTEL-MICROPROCESSORS" Barry B. Bray recorded that

MOV AH, 1

not allowed in 64-bit mode, but allowed in 32-bit or 16-bit mode. If MOV AL, 1you can resolve in 64 bit mode, what is the problem with MOV AH, 1?

+2
source share
2 answers

No problem with mov ah,1. It works fine in X64 mode.

The operation code for it b4 01.

The only time when it is mov ahnot allowed is when it movhas a prefix REX.

from: 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.
+9

, Intel 8- , - . Knights Landing, , 8- 16- , . Intel :

, 8- 16- , . , , 32- 64- , 8- 16- .

, Knights Landing , , , , , , Icelake, Intel 10nm node, , , Cannonlake 2019 - 8- 16- , , ( : - ).

, ah - , , movzx r8, ah 64- , ah , . mov ah, 1 - AMD 64- , , 32- .

0

Source: https://habr.com/ru/post/1533242/


All Articles