## -------------------------------------------------------------------------- ## ## Copyright 1996-2016 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. ## ## -------------------------------------------------------------------------- # The token parameters are in the other: # TOKEN_TYPE, t_inttwo, t_flags, t_integer # # * is replaced with the token name converted to upper case. # {xxx*yyy} is replaced with the token name stripped from the prefix # xxx and suffix yyy before converting to upper case. # # Tokens other than instructions and registers # % TOKEN_QMARK, 0, 0, 0 ? % TOKEN_PREFIX, 0, 0, P_* a16 a32 a64 asp lock o16 o32 o64 osp rep repe repne repnz repz times wait xacquire xrelease bnd nobnd % TOKEN_SIZE, SIZE_*, 0, S_* byte word dword qword tword oword yword zword % TOKEN_SPECIAL, 0, 0, S_* abs far long near nosplit rel short strict to % TOKEN_ID, 0, TFLAG_WARN, 0 ptr % TOKEN_FLOAT, 0, 0, 0 __infinity__ __nan__ __qnan__ __snan__ % TOKEN_FLOATIZE, 0, 0, FLOAT_{__float*__} __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ % TOKEN_STRFUNC, 0, 0, STRFUNC_{__*__} __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ % TOKEN_IFUNC, 0, 0, IFUNC_{__*__} __ilog2e__ __ilog2w__ __ilog2f__ __ilog2c__ % TOKEN_*, 0, 0, 0 seg wrt % TOKEN_DECORATOR, 0, TFLAG_BRC | TFLAG_BRDCAST , BRC_1TO{1to*} 1to2 1to4 1to8 1to16 % TOKEN_DECORATOR, 0, TFLAG_BRC, BRC_{*-sae} rn-sae rd-sae ru-sae rz-sae % TOKEN_DECORATOR, 0, TFLAG_BRC, BRC_* sae z % TOKEN_PREFIX, 0, TFLAG_BRC, P_* evex vex3 vex2