| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- ## --------------------------------------------------------------------------
- ##
- ## Copyright 1996-2009 The NASM Authors - All Rights Reserved
- ## See the file AUTHORS included with the NASM distribution for
- ## the specific copyright holders.
- ##
- ## Redistribution and use in source and binary forms, with or without
- ## modification, are permitted provided that the following
- ## conditions are met:
- ##
- ## * Redistributions of source code must retain the above copyright
- ## notice, this list of conditions and the following disclaimer.
- ## * Redistributions in binary form must reproduce the above
- ## copyright notice, this list of conditions and the following
- ## disclaimer in the documentation and/or other materials provided
- ## with the distribution.
- ##
- ## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
- ## CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
- ## INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- ## DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- ## NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- ## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- ## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- ## CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- ## OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- ## EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- ##
- ## --------------------------------------------------------------------------
- #
- # 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[, token flag]
- #
- # 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.
- #
- # If 'token flag' is present, this value will be assigned to tokflag field in
- # 'struct tokendata tokendata[]' table. Token flag can be used for specifying
- # special usage of corresponding register. E.g. opmask registers can be either
- # enclosed by curly braces or standalone operand depending on the usage.
- #
- # 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 REG8NA reg8,reg8_rex 3
- bh REG_HIGH reg8 7
- bx REG16NA reg16 3
- ebx REG32NA reg32 3
- rbx REG64NA 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 REG8NA reg8_rex 4
- sp REG16NA reg16 4
- esp REG32NA reg32 4
- rsp REG64NA reg64 4
- bpl REG8NA reg8_rex 5
- bp REG16NA reg16 5
- ebp REG32NA reg32 5
- rbp REG64NA reg64 5
- sil REG8NA reg8_rex 6
- si REG16NA reg16 6
- esi REG32NA reg32 6
- rsi REG64NA reg64 6
- dil REG8NA reg8_rex 7
- di REG16NA reg16 7
- edi REG32NA reg32 7
- rdi REG64NA reg64 7
- r8-15b REG8NA reg8_rex 8
- r8-15w REG16NA reg16 8
- r8-15d REG32NA reg32 8
- r8-15 REG64NA reg64 8
- # Segment registers
- es REG_ES sreg 0
- cs REG_CS sreg 1
- ss REG_SS sreg 2
- ds REG_DS sreg 3
- fs REG_FS sreg 4
- gs REG_GS 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 XMM0 xmmreg 0
- xmm1-15 XMM_L16 xmmreg 1
- xmm16-31 XMMREG xmmreg 16
- # AVX registers
- ymm0 YMM0 ymmreg 0
- ymm1-15 YMM_L16 ymmreg 1
- ymm16-31 YMMREG ymmreg 16
- # AVX512 registers
- zmm0 ZMM0 zmmreg 0
- zmm1-15 ZMM_L16 zmmreg 1
- zmm16-31 ZMMREG zmmreg 16
- # Opmask registers
- k0 OPMASK0 opmaskreg 0
- k1-7 OPMASKREG opmaskreg 1 TFLAG_BRC_OPT
- # Bounds registers
- bnd0-3 BNDREG bndreg 0
|