| # SPDX-License-Identifier: BSD-2-Clause |
| # Copyright 1996-2025 The NASM Authors - All Rights Reserved |
| |
| # The token parameters are in the order: |
| # 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 |
| # |
| |
| # The ? operator is a keyword, because ? is a legitimate symbol character |
| % TOKEN_QMARK, 0, 0, 0 |
| ? |
| |
| % TOKEN_PREFIX, PPS_ASIZE, 0, P_* |
| a16 |
| a32 |
| a64 |
| asp |
| |
| % TOKEN_PREFIX, PPS_LOCK, 0, P_* |
| lock |
| |
| % TOKEN_PREFIX, PPS_OSIZE, 0, P_* |
| o16 |
| o32 |
| o64 |
| osp |
| |
| % TOKEN_PREFIX, PPS_REP, 0, P_* |
| rep |
| repe |
| repne |
| repnz |
| repz |
| xacquire |
| xrelease |
| bnd |
| nobnd |
| |
| % TOKEN_PREFIX, PPS_WAIT, 0, P_* |
| wait |
| |
| % TOKEN_PREFIX, PPS_REX, TFLAG_BRC, P_* |
| rex |
| rex2 |
| evex |
| vex |
| vex3 |
| vex2 |
| |
| % TOKEN_PREFIX, PPS_NF, TFLAG_BRC, P_* |
| nf |
| |
| % TOKEN_PREFIX, PPS_ZU, TFLAG_BRC, P_* |
| zu |
| |
| % TOKEN_PREFIX, PPS_SEG, TFLAG_BRC, P_* |
| pt |
| pn |
| |
| % TOKEN_SIZE, SIZE_*, 0, S_* |
| byte |
| word |
| dword |
| long |
| qword |
| tword |
| oword |
| yword |
| zword |
| |
| % TOKEN_SPECIAL, 0, 0, S_* |
| abs |
| far |
| near |
| nosplit |
| rel |
| short |
| strict |
| to |
| |
| # PTR is a legitimate symbol, but has an optional warning |
| % TOKEN_ID, 0, TFLAG_WARN, 0 |
| ptr |
| |
| # DUP is a legitimate symbol, but also has context-specific use in extops |
| % TOKEN_ID, 0, TFLAG_DUP, 0 |
| dup |
| |
| % TOKEN_FLOAT, 0, 0, 0 |
| __?infinity?__ |
| __?nan?__ |
| __?qnan?__ |
| __?snan?__ |
| |
| % TOKEN_FLOATIZE, 0, 0, FLOAT_{__?float*?__} |
| __?float8?__ |
| __?float16?__ |
| __?float32?__ |
| __?float64?__ |
| __?float80m?__ |
| __?float80e?__ |
| __?float128l?__ |
| __?float128h?__ |
| |
| % TOKEN_FLOATIZE, 0, 0, FLOAT_B{__?bfloat*?__} |
| __?bfloat16?__ |
| |
| % 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 |
| times |
| |
| % TOKEN_{__?*?__}, 0, 0, 0 |
| __?masm_ptr?__ |
| __?masm_flat?__ |
| |
| % TOKEN_DECORATOR, 0, TFLAG_BRC | TFLAG_BRDCAST , BRC_1TO{1to*} |
| 1to2 |
| 1to4 |
| 1to8 |
| 1to16 |
| 1to32 |
| |
| % TOKEN_DECORATOR, 0, TFLAG_BRC, BRC_{*-sae} |
| rn-sae |
| rd-sae |
| ru-sae |
| rz-sae |
| |
| % TOKEN_DECORATOR, 0, TFLAG_BRC, BRC_* |
| sae |
| z |
| |
| % TOKEN_BRCCONST, IF_DFV, TFLAG_BRC, 0 |
| dfv= |
| |
| % TOKEN_BRCCONST, IF_DFV, TFLAG_BRC | TFLAG_ORBIT, DFV_{dfv=*} |
| dfv=cf |
| dfv=zf |
| dfv=sf |
| dfv=of |
| |
| # cf == pf |
| % TOKEN_BRCCONST, IF_DFV, TFLAG_BRC | TFLAG_ORBIT, DFV_CF |
| dfv=pf |
| |
| # Multi-character operators. Used in ppscan(). |
| % TOKEN_SHR, 0, 0, 0 |
| >> |
| |
| % TOKEN_SAR, 0, 0, 0 |
| >>> |
| |
| % TOKEN_SHL, 0, 0, 0 |
| << |
| <<< |
| |
| % TOKEN_SDIV, 0, 0, 0 |
| // |
| |
| % TOKEN_SMOD, 0, 0, 0 |
| %% |
| |
| % TOKEN_EQ, 0, 0, 0 |
| == |
| |
| % TOKEN_NE, 0, 0, 0 |
| != |
| <> |
| |
| % TOKEN_LE, 0, 0, 0 |
| <= |
| |
| % TOKEN_GE, 0, 0, 0 |
| >= |
| |
| % TOKEN_LEG, 0, 0, 0 |
| <=> |
| |
| % TOKEN_DBL_AND, 0, 0, 0 |
| && |
| |
| % TOKEN_DBL_OR, 0, 0, 0 |
| || |
| |
| % TOKEN_DBL_XOR, 0, 0, 0 |
| ^^ |