nasm/regs.dat
H. Peter Anvin 99c4ecd18f Implement REL/ABS modifiers
Implement "REL" and "ABS" modifiers for offsets in 64-bit mode.  This
replaces "rip+XXX" type addressing.  The infrastructure to set the default
mode is there, but there is nothing to throw the switch just yet.
2007-08-28 23:06:00 +00:00

83 lines
1.6 KiB
Plaintext

# $Id$
#
# List of registers and their classes; classes are defined in nasm.h
#
# The columns are:
#
# register name, assembler class, disassembler class(es), x86 register number
#
# If the register name ends in two numbers separated by a dash, then it is
# repeated as many times as indicated, and the register number is
# updated with it.
#
# General-purpose registers
al REG_AL reg8,reg8_rex 0
ah REG_HIGH reg8 4
ax REG_AX reg16 0
eax REG_EAX reg32 0
rax REG_RAX reg64 0
bl REG8 reg8,reg8_rex 3
bh REG_HIGH reg8 7
bx REG16 reg16 3
ebx REG32 reg32 3
rbx REG64 reg64 3
cl REG_CL reg8,reg8_rex 1
ch REG_HIGH reg8 5
cx REG_CX reg16 1
ecx REG_ECX reg32 1
rcx REG_RCX reg64 1
dl REG_DL reg8,reg8_rex 2
dh REG_HIGH reg8 6
dx REG_DX reg16 2
edx REG_EDX reg32 2
rdx REG_RDX reg64 2
spl REG8 reg8_rex 4
sp REG16 reg16 4
esp REG32 reg32 4
rsp REG64 reg64 4
bpl REG8 reg8_rex 5
bp REG16 reg16 5
ebp REG32 reg32 5
rbp REG64 reg64 5
sil REG8 reg8_rex 6
si REG16 reg16 6
esi REG32 reg32 6
rsi REG64 reg64 6
dil REG8 reg8_rex 7
di REG16 reg16 7
edi REG32 reg32 7
rdi REG64 reg64 7
r8-15b REG8 reg8_rex 8
r8-15w REG16 reg16 8
r8-15d REG32 reg32 8
r8-15 REG64 reg64 8
# Segment registers
cs REG_CS sreg 1
ds REG_DESS sreg 3
es REG_DESS sreg 0
ss REG_DESS sreg 2
fs REG_FSGS sreg 4
gs REG_FSGS sreg 5
segr6-7 REG_SEG67 sreg 6
# Control registers
cr0-15 REG_CREG creg 0
# Debug registers
dr0-15 REG_DREG dreg 0
# Test registers
tr0-7 REG_TREG treg 0
# Floating-point registers
st0 FPU0 fpureg 0
st1-7 FPUREG fpureg 1
# MMX registers
mm0-7 MMXREG mmxreg 0
# SSE registers
xmm0-15 XMMREG xmmreg 0