mirror of
https://github.com/netwide-assembler/nasm
synced 2026-08-26 16:23:04 -04:00
All directives which create single-line macros now have %i... variants to define case-insensitive versions. Case insensitive rather sucks, but at least this way it is consistent. Single-line macro parameters can now be evaluated as a number, as done by %assign. To do so, declare a parameter starting with =, for example: %define foo(x,=y) mov [x],macro_array_y ... would evaluate y as a number but leave x as a string. NOTE: it would arguably be better to have this as a per-instance basis, but it is easily handled by having a secondary macro called with the same argument twice. Finally, add a more consistent method for defining "magic" macros, which need to be evaluated at runtime. For now, it is only used by the special macros __FILE__, __LINE__, __BITS__, __PTR__, and __PASS__. __PTR__ is a new macro which evaluates to word, dword or qword matching the value of __BITS__. The magic macro framework, however, provides a natural hook for a future plug-in infrastructure to hook into a scripting language. Signed-off-by: H. Peter Anvin <hpa@zytor.com> |
||
|---|---|---|
| .. | ||
| assemble.c | ||
| assemble.h | ||
| directiv.c | ||
| directiv.dat | ||
| error.c | ||
| eval.c | ||
| eval.h | ||
| exprdump.c | ||
| exprlib.c | ||
| float.c | ||
| float.h | ||
| labels.c | ||
| listing.c | ||
| listing.h | ||
| nasm.c | ||
| parser.c | ||
| parser.h | ||
| phash.pl | ||
| pptok.dat | ||
| pptok.pl | ||
| pragma.c | ||
| preproc-nop.c | ||
| preproc.c | ||
| preproc.h | ||
| quote.c | ||
| quote.h | ||
| rdstrnum.c | ||
| segalloc.c | ||
| stdscan.c | ||
| stdscan.h | ||
| strfunc.c | ||
| tokens.dat | ||
| tokhash.pl | ||