The first four 16-bit registers could have their upper- and lower-half bytes accessed directly as their own registers:
AH
and AL
are the High and Low halves of the AX
register.BH
and BL
are the High and Low halves of the BX
register.CH
and CL
are the High and Low halves of the CX
register.DH
and DL
are the High and Low halves of the DX
register.Note that this means that altering AH
or AL
will immediately alter AX
as well! Also note that any operation on an 8-bit register couldn't affect its "partner" - incrementing AL
such that it overflowed from 0xFF
to 0x00
wouldn't alter AH
.
64-bit registers also have 8-bit versions representing their lower bytes:
SIL
for RSI
DIL
for RDI
BPL
for RBP
SPL
for RSP
The same applies to registers R8
through R15
: their respective lower byte parts are named R8B
– R15B
.