travis: weirdpaste.i now has better line directives
[nasm.git] / asm / tokens.dat
blobab37dcc1933c72eeee5be99152f1508484f9fd13
1 ## --------------------------------------------------------------------------
2 ##
3 ## Copyright 1996-2016 The NASM Authors - All Rights Reserved
4 ## See the file AUTHORS included with the NASM distribution for
5 ## the specific copyright holders.
6 ##
7 ## Redistribution and use in source and binary forms, with or without
8 ## modification, are permitted provided that the following
9 ## conditions are met:
11 ## * Redistributions of source code must retain the above copyright
12 ## notice, this list of conditions and the following disclaimer.
13 ## * Redistributions in binary form must reproduce the above
14 ## copyright notice, this list of conditions and the following
15 ## disclaimer in the documentation and/or other materials provided
16 ## with the distribution.
18 ## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
19 ## CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
20 ## INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 ## DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25 ## NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26 ## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 ## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 ## CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 ## OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 ## EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 ## --------------------------------------------------------------------------
34 # The token parameters are in the other:
35 # TOKEN_TYPE, t_inttwo, t_flags, t_integer
37 # * is replaced with the token name converted to upper case.
38 # {xxx*yyy} is replaced with the token name stripped from the prefix
39 # xxx and suffix yyy before converting to upper case.
42 # Tokens other than instructions and registers
45 # The ? operator is a keyword, because ? is a legitimate symbol character
46 % TOKEN_QMARK, 0, 0, 0
49 % TOKEN_PREFIX, 0, 0, P_*
50 a16
51 a32
52 a64
53 asp
54 lock
55 o16
56 o32
57 o64
58 osp
59 rep
60 repe
61 repne
62 repnz
63 repz
64 times
65 wait
66 xacquire
67 xrelease
68 bnd
69 nobnd
71 % TOKEN_SIZE, SIZE_*, 0, S_*
72 byte
73 word
74 dword
75 qword
76 tword
77 oword
78 yword
79 zword
81 % TOKEN_SPECIAL, 0, 0, S_*
82 abs
83 far
84 long
85 near
86 nosplit
87 rel
88 short
89 strict
92 # PTR is a legitimate symbol, but has an optional warning
93 % TOKEN_ID, 0, TFLAG_WARN, 0
94 ptr
96 # DUP is a legitimate symbol, but also has context-specific use in extops
97 % TOKEN_ID, 0, TFLAG_DUP, 0
98 dup
100 % TOKEN_FLOAT, 0, 0, 0
101 __?infinity?__
102 __?nan?__
103 __?qnan?__
104 __?snan?__
106 % TOKEN_FLOATIZE, 0, 0, FLOAT_{__?float*?__}
107 __?float8?__
108 __?float16?__
109 __?float32?__
110 __?float64?__
111 __?float80m?__
112 __?float80e?__
113 __?float128l?__
114 __?float128h?__
116 % TOKEN_STRFUNC, 0, 0, STRFUNC_{__?*?__}
117 __?utf16?__
118 __?utf16le?__
119 __?utf16be?__
120 __?utf32?__
121 __?utf32le?__
122 __?utf32be?__
124 % TOKEN_IFUNC, 0, 0, IFUNC_{__?*?__}
125 __?ilog2e?__
126 __?ilog2w?__
127 __?ilog2f?__
128 __?ilog2c?__
130 % TOKEN_*, 0, 0, 0
134 % TOKEN_{__?*?__}, 0, 0, 0
135 __?masm_ptr?__
136 __?masm_flat?__
138 % TOKEN_DECORATOR, 0, TFLAG_BRC | TFLAG_BRDCAST , BRC_1TO{1to*}
139 1to2
140 1to4
141 1to8
142 1to16
144 % TOKEN_DECORATOR, 0, TFLAG_BRC, BRC_{*-sae}
145 rn-sae
146 rd-sae
147 ru-sae
148 rz-sae
150 % TOKEN_DECORATOR, 0, TFLAG_BRC, BRC_*
154 % TOKEN_PREFIX, 0, TFLAG_BRC, P_*
155 evex
156 vex3
157 vex2
159 # Multi-character operators. Used in ppscan().
160 % TOKEN_SHR, 0, 0, 0
163 % TOKEN_SAR, 0, 0, 0
166 % TOKEN_SHL, 0, 0, 0
170 % TOKEN_SDIV, 0, 0, 0
173 % TOKEN_SMOD, 0, 0, 0
176 % TOKEN_EQ, 0, 0, 0
179 % TOKEN_NE, 0, 0, 0
183 % TOKEN_LE, 0, 0, 0
186 % TOKEN_GE, 0, 0, 0
189 % TOKEN_LEG, 0, 0, 0
192 % TOKEN_DBL_AND, 0, 0, 0
195 % TOKEN_DBL_OR, 0, 0, 0
198 % TOKEN_DBL_XOR, 0, 0, 0