File: index.src

package info (click to toggle)
nasm 3.01-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 23,660 kB
  • sloc: ansic: 129,101; asm: 40,471; perl: 8,238; sh: 4,146; makefile: 1,281; xml: 726; python: 582; lisp: 578; sed: 11
file content (315 lines) | stat: -rw-r--r-- 11,723 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
\IR{-D} \c{-D} option
\IR{-E} \c{-E} option
\IR{-F} \c{-F} option
\IR{-I} \c{-I} option
\IR{-L} \c{-L} option
\IR{-M} \c{-M} option
\IR{-MD} \c{-MD} option
\IR{-MF} \c{-MF} option
\IR{-MG} \c{-MG} option
\IR{-MP} \c{-MP} option
\IR{-MQ} \c{-MQ} option
\IR{-MT} \c{-MT} option
\IR{-MW} \c{-MW} option
\IR{-O} \c{-O} option
\IR{-P} \c{-P} option
\IR{-U} \c{-U} option
\IR{-X} \c{-X} option
\IR{-a} \c{-a} option
\IR{-d} \c{-d} option
\IR{-e} \c{-e} option
\IR{-f} \c{-f} option
\IR{-g} \c{-g} option
\IR{-i} \c{-i} option
\IR{-l} \c{-l} option
\IR{-o} \c{-o} option
\IR{-p} \c{-p} option
\IR{-s} \c{-s} option
\IR{-u} \c{-u} option
\IR{-W} \c{-W} option
\IR{-t} \c{-t} option
\IR{-soname} \c{-soname}, linker option
\IR{-Werror} \c{-Werror} option
\IR{-Wno-error} \c{-Wno-error} option
\IR{-w} \c{-w} option
\IR{-Z} \c{-Z} option
\IR{!=} \c{!=} operator
\IR{$, here} \c{$}, current address
\IR{$, prefix} \c{$}, prefix
\IR{$$} \c{$$}
\IR{%} \c{%}, operator
\IR{%db} \c{%}, prefix to \c{DB} lists
\IR{%%} \c{%%} operator
\IR{%+1} \c{%+1} and \c{%-1} syntax
\IA{%-1}{%+1}
\IR{%*?} \c{%*?} and \c{%*??}
\IR{%?} \c{%?} and \c{%??}
\IC{%*?}{_sname} macro name, single line
\IC{%?}{_mname} macro name, multi-line
\IR{%0} \c{%0}
\IR{&} \c{&} operator
\IR{&&} \c{&&} operator
\IR{*} \c{*} operator
\IR{..@} \c{..@} symbol prefix
\IR{/} \c{/} operator
\IR{//} \c{//} operator
\IR{<} \c{<} operator
\IR{<<} \c{<<} operator
\IR{<<<} \c{<<<} operator
\IR{<=>} \c{<=>} operator
\IR{<=} \c{<=} operator
\IR{<>} \c{<>} operator
\IR{<=>} \c{<=>} operator
\IR{=} \c{=} operator
\IR{==} \c{==} operator
\IR{>} \c{>} operator
\IR{>=} \c{>=} operator
\IR{>>} \c{>>} operator
\IR{>>>} \c{>>>} operator
\IR{?db} \c{?}, data syntax
\IR{?op} \c{?}, operator
\IR{^} \c{^} operator
\IR{^^} \c{^^} operator
\IR{|} \c{|} operator
\IR{||} \c{||} operator
\IR{%$} \c{%$} and \c{%$$} prefixes
\IA{%$$}{%$}
\IR{%[} \c{%[}...\c{]}
\IR{+ opaddition} \c{+}, binary operator
\IR{+ opunary} \c{+}, unary operator
\IR{+ modifier} \c{+}, modifier
\IR{- opsubtraction} \c{-}, binary operator
\IR{- opunary} \c{-}, unary operator
\IR{! opunary} \c{!} operator
\IA{~}{~ opunary}
\IR{~ opunary} \c{~} operator
\IA{A16}{a16}
\IA{A32}{a32}
\IA{A64}{a64}
\IA{O16}{o16}
\IA{O32}{o32}
\IA{O64}{o64}
\IR{alignment, in bin sections} alignment, in \c{bin} sections
\IR{alignment, in elf sections} alignment, in ELF sections
\IR{alignment, in win32 sections} alignment, in \c{win32} sections
\IR{alignment, of elf common variables} alignment, of ELF common variables
\IR{alignment, in obj sections} alignment, in \c{obj} sections
\IR{a.out, bsd version} \c{a.out}, BSD version
\IR{a.out, linux version} \c{a.out}, Linux version
\IR{bin} \c{bin} output format
\IR{bitwise and} bitwise AND
\IR{bitwise or} bitwise OR
\IR{bitwise xor} bitwise XOR
\IR{block ifs} block IFs
\IR{borland pascal} Borland, Pascal
\IR{borland's win32 compilers} Borland, Win32 compilers
\IR{braces, after % sign} braces, after \c{%} sign
\IR{bsd} BSD
\IR{c calling convention} C calling convention
\IR{c symbol names} C symbol names
\IA{critical expressions}{critical expression}
\IA{command-line}{command line}
\IA{comments}{comment}
\IR{ccomment} comment, ending in \c{\\}
\IA{case sensitivity}{case sensitive}
\IA{case-sensitive}{case sensitive}
\IA{case-insensitive}{case sensitive}
\IA{character constants}{character constant}
\IR{codeview debugging format} CodeView debugging format
\IR{continuation} continuation line
\IR{common object file format} Common Object File Format
\IR{common variables, alignment in elf} common variables, alignment in ELF
\IR{common, elf extensions to} \c{COMMON}, ELF extensions to
\IR{common, obj extensions to} \c{COMMON}, \c{obj} extensions to
\IR{declaring structure} declaring structures
\IR{default-wrt mechanism} default-\c{WRT} mechanism
\IR{devpac} DevPac
\IR{dfv} DFV
\IR{djgpp} DJGPP
\IR{dll symbols, exporting} DLL symbols, exporting
\IR{dll symbols, importing} DLL symbols, importing
\IA{effective addresses}{effective address}
\IA{effective-address}{effective address}
\IR{elf} ELF
\IR{elf, 16-bit code} ELF, 16-bit code
\IR{elf, debug formats} ELF, debug formats
\IR{elf shared library} ELF, shared libraries
\IR{elf32} ELF, \c{elf32}
\IR{elf64} ELF, \c{elf64}
\IR{elfx32} ELF, \c{elfx32}
\IC{elf}{executable and linkable format} Executable and Linkable Format (ELF)
\IR{extern, elf extensions to} \c{EXTERN}, ELF extensions to
\IR{extern, obj extensions to} \c{EXTERN}, \c{obj} extensions to
\IR{floating-point} floating-point
\IR{floating-point, constants} floating-point, constants
\IA{floating-point constant}{floating-point, constants}
\IA{floating-point constants}{floating-point, constants}
\IR{floating-point, packed bcd constants} floating-point, packed BCD constants
\IR{freebsd} FreeBSD
\IR{freelink} FreeLink
\IR{functions, c calling convention} functions, C calling convention
\IR{functions, pascal calling convention} functions, \c{PASCAL} calling convention
\IR{global, aoutb extensions to} \c{GLOBAL}, \c{aoutb} extensions to
\IR{global, elf extensions to} \c{GLOBAL}, ELF extensions to
\IR{got} GOT
\IR{global offset table} GOT, global offset table
\IR{got relocations} GOT, \c{GOT} relocations
\IR{gotoff relocation} GOT, \c{GOTOFF} relocations
\IR{gotpc relocation} GOT, \c{GOTPC} relocations
\IR{intel number formats} Intel number formats
\IR{linux, elf} Linux, ELF
\IR{linux, a.out} Linux, \c{a.out}
\IR{linux, as86} Linux, \c{as86}
\IR{mach-o} Mach-O, object file format
\IA{mach object file format}{mach-o}
\IA{macho}{mach-o}
\IR{macho32} Mach-O, \c{macho32}
\IR{macho64} Mach-O, \c{macho64}
\IR{macos x} MacOS X
\IR{masm} MASM
\IR{masmdb} MASM, \c{DB} syntax
\IR{masm compatibility} MASM, compatibility
\IA{memory reference}{memory references}
\IR{minix} Minix
\IA{misc directory}{misc subdirectory}
\IR{misc subdirectory} \c{misc} subdirectory
\IR{microsoft omf} Microsoft OMF
\IR{mixed-size addressing} mixed-size, addressing
\IR{mixed-size instruction} mixed-size, instruction
\IR{ms-dos} MS-DOS
\IR{ms-dos device drivers} MS-DOS, device drivers
\IA{dos}{ms-dos}
\IA{multi-line macro}{multi-line macros}
\IR{multi-line macro expansion} multi-line macro, expansion
\IR{multipush} \c{multipush} macro
\IR{nan} NaN
\IR{nasm version} NASM version
\IR{nasm version history} NASM version, history
\IR{nasm version macros} NASM version, macros
\IR{nasm version id} NASM version, ID macro
\IR{nasm version string} NASM version, string macro
\IR{arithmetic negation} negation, arithmetic
\IR{bitwise negation} negation, bitwise
\IR{boolean negation} negation, boolean
\IR{boolean and} boolean, AND
\IR{boolean or} boolean, OR
\IR{boolean xor} boolean, XOR
\IR{netbsd} NetBSD
\IR{nsis} NSIS
\IR{nullsoft scriptable installer} Nullsoft Scriptable Installer
\IA{.OBJ}{.obj}
\IR{omf} OMF
\IR{openbsd} OpenBSD
\IR{operating system} operating system
\IR{os/2} OS/2
\IR{pascal calling convention} Pascal calling convention
\IR{pic} PIC
\IR{pharlap} PharLap
\IR{plt} PLT, procedure linkage table
\IR{plt relocations} PLT, relocations
\IC{plt}{procedure linkage table} procedure linkage table
\IA{pre-defining macros}{pre-define}
\IR{preprocessor conditionals} preprocessor, conditionals
\IR{preprocessor directives} preprocessor, directives
\IR{preprocessor expansions} preprocessor, expansions
\IR{preprocessor expressions} preprocessor, expressions
\IR{preprocessor functions} preprocessor, functions
\IR{preprocessor loops} preprocessor, loops
\IR{preprocessor variables} preprocessor, variables
\IC{preprocessor variables}{vpp} variables, preprocessor
\IR{other preprocessor directives} preprocessor, other directives
\IR{stack relative preprocessor directives} preprocessor, stack relative directives
\IA{comments}{comment}
\IR{relocations, pic-specific} relocations, PIC-specific
\IA{repeating}{repeating code}
\IR{section alignment, in elf} section alignment, in ELF
\IR{section alignment, in bin} section alignment, in \c{bin}
\IR{section alignment, in obj} section alignment, in \c{obj}
\IR{section alignment, in win32} section alignment, in \c{win32}
\IR{section, bin extensions to} \c{SECTION}, \c{bin} extensions to
\IR{section, elf extensions to} \c{SECTION}, ELF extensions to
\IR{section, macho extensions to} \c{SECTION}, Mach-O extensions to
\IR{section, windows extensions to} \c{SECTION}, Windows extensions to
\IR{segment alignment, in bin} segment alignment, in \c{bin}
\IR{segment alignment, in obj} segment alignment, in \c{obj}
\IR{segment, obj extensions to} \c{SEGMENT}, \c{obj} extensions to
\IR{segment names, borland pascal} segment names, Borland Pascal
\IR{shift command} \c{shift} command
\IA{string constant}{string constants}
\IR{string constants} string, constants
\IR{string length} string, length
\IR{string manipulation in macros} string, manipulation in macros
\IR{align, smart} \c{ALIGN}, smart
\IA{sectalign}{sectalign}
\IR{solaris x86} Solaris x86
\IC{solaris x86}{unix, solaris} Unix, Solaris
\IA{standard section names}{standardized section names}
\IR{symbols, exporting from dlls} symbols, exporting from DLLs
\IR{symbols, importing from dlls} symbols, importing from DLLs
\IR{tasm} TASM
\IR{test subdirectory} \c{test} subdirectory
\IR{thread local storage in elf} thread local storage, in ELF
\IR{thread local storage in mach-o} thread local storage, in Mach-O
\IR{macho} Mach-O
\IR{tlink} \c{TLINK}
\IR{tls} \c{TLS}
\IA{tls}{thread local storage}
\IR{unconditionally importing symbols} importing symbols, unconditionally
\IR{underscore, in c symbols} underscore, in C symbols
\IR{uninitialized} uninitialized storage
\IC{uninitialized storage}{storage, uninitialized}
\IC{RESB}{uninitialized, resb} uninitialized storage, \c{RES}\e{x}
\IC{?db}{uninitialized, db} uninitialized storage, \c{D}\e{x}\e{ ?}
\IR{unicode} Unicode
\IR{unix} Unix
\IR{utf-8} Unicode, UTF-8
\IR{utf-16} Unicode, UTF-16
\IR{utf-32} Unicode, UTF-32
\IA{sco unix}{unix, sco}
\IR{unix, sco} Unix, SCO
\IA{unix system v}{unix, system v}
\IR{unix, system v} Unix, System V
\# Having just "UnixWare" is rather silly as it follows immediately
\IR{unixware} Unix, UnixWare
\IC{linux}{unix, linux} Unix, Linux
\IC{bsd}{unix, bsd} Unix, BSD
\IR{x32} x32 ABI (ELF)
\IR{val} VAL
\IA{version number of nasm}{nasm, version}
\IR{visual c++} Visual C++
\IR{win32} Win32
\IR{win64} Win64
\IR{windows} Windows
\IR{windows debugging formats} Windows, debugging formats
\IR{__?USE_*?__} \c{__?USE_}\e{package}\c{?__}
\IR{default, elf} \c{default}, ELF visibility
\IR{hidden, elf} \c{hidden}, ELF visibility
\IR{protected, elf} \c{protected}, ELF visibility
\IR{internal, elf} \c{internal}, ELF visibility
\IR{elf visibility} ELF visibility
\IC{elf visibility}{visibility, elf} visibility, ELF
\IR{unknown %if} \c{%if}, backwards compatibility
\IC{unknown %if}{unknown %elif} \c{%elif}, backwards compatibility
\IC{unknown %if}{unknown %ifn} \c{%ifn}, backwards compatibility
\IC{unknown %if}{unknown %elifn} \c{%elifn}, backwards compatibility
\IR{apx} APX
\IR{advanced programming extensions} Advanced Programming Extensions
\IA{egprs}{egpr}
\IR{egpr} EGPR
\IC{egpr}{extended general purpose register}
\IA{extended general purpose registers}{egpr}
\IR{apx syntax} APX, syntax
\IC{apx syntax}{syntax, apx} syntax, APX
\IR{scc} S\e{cc}
\IR{apx optimizer} APX, optimizer
\# \IC{program entry point}{entry point, program}
\# \IC{program entry point}{start point, program}
\# \IC{MS-DOS device drivers}{device drivers, MS-DOS}
\# \IC{16-bit mode, versus 32-bit mode}{32-bit mode, versus 16-bit mode}
\# \IC{c symbol names}{symbol names, in C}
\IR{WRT ..got} \c{WRT}, \c{..got}
\IR{WRT ..gotoff} \c{WRT}, \c{..gotoff}
\IR{WRT ..gotpc} \c{WRT}, \c{..gotpc}
\IR{WRT ..plt} \c{WRT}, \c{..plt}
\IR{WRT ..sym} \c{WRT}, \c{..sym}
\IR{rex2} REX2 prefix