mirror of
https://github.com/netwide-assembler/nasm.git
synced 2024-11-21 03:14:19 +08:00
Merge remote-tracking branch 'ElyesH/typos'
This commit is contained in:
commit
b18e870d90
@ -87,7 +87,7 @@ Sat Nov 10 21:55:19 2007 -0800 Charles Crayne
|
||||
Sat Nov 10 17:52:23 2007 -0800 Charles Crayne
|
||||
* Clean up a few more 32-bit bottlenecks
|
||||
Fri Nov 9 16:37:41 2007 -0800 Charles Crayne
|
||||
* Update documantation for stack relative directives
|
||||
* Update documentation for stack relative directives
|
||||
Fri Nov 9 16:33:54 2007 -0800 Charles Crayne
|
||||
* Merge branch 'master' of /home/chuck/development/gitnasm/
|
||||
Fri Nov 9 16:25:43 2007 -0800 Charles Crayne
|
||||
@ -1030,7 +1030,7 @@ Sat Nov 10 21:55:19 2007 -0800 Charles Crayne
|
||||
Sat Nov 10 17:52:23 2007 -0800 Charles Crayne
|
||||
* Clean up a few more 32-bit bottlenecks
|
||||
Fri Nov 9 16:37:41 2007 -0800 Charles Crayne
|
||||
* Update documantation for stack relative directives
|
||||
* Update documentation for stack relative directives
|
||||
Fri Nov 9 16:33:54 2007 -0800 Charles Crayne
|
||||
* Merge branch 'master' of /home/chuck/development/gitnasm/
|
||||
Fri Nov 9 16:25:43 2007 -0800 Charles Crayne
|
||||
@ -1903,7 +1903,7 @@ Sat Nov 10 21:55:19 2007 -0800 Charles Crayne
|
||||
Sat Nov 10 17:52:23 2007 -0800 Charles Crayne
|
||||
* Clean up a few more 32-bit bottlenecks
|
||||
Fri Nov 9 16:37:41 2007 -0800 Charles Crayne
|
||||
* Update documantation for stack relative directives
|
||||
* Update documentation for stack relative directives
|
||||
Fri Nov 9 16:33:54 2007 -0800 Charles Crayne
|
||||
* Merge branch 'master' of /home/chuck/development/gitnasm/
|
||||
Fri Nov 9 16:25:43 2007 -0800 Charles Crayne
|
||||
@ -2851,7 +2851,7 @@ Thu Apr 12 16:12:09 2007 +0000 H. Peter Anvin
|
||||
* (*.c): added c99 data-type compliance and <inttypes.h> inclusion.
|
||||
* (*.pl): added c99 data-type compliance and <inttypes.h> inclusion.
|
||||
* (*.h): added c99 data-type compliance.
|
||||
* (assemble.h): fixed procedure defintions to sync with respective
|
||||
* (assemble.h): fixed procedure definitions to sync with respective
|
||||
procedure declarations.
|
||||
|
||||
2002-05-16 Ed Beroset <beroset@mindspring.com>
|
||||
|
2
INSTALL
2
INSTALL
@ -67,7 +67,7 @@ $ make install_everything
|
||||
to install everything =)
|
||||
|
||||
|
||||
Thats it, enjoy!
|
||||
That's it, enjoy!
|
||||
|
||||
|
||||
2. Installing NASM from source (Windows - MS Visual C++)
|
||||
|
@ -3247,7 +3247,7 @@ static int process_ea(operand *input, ea *output, int bits,
|
||||
/*
|
||||
* The type parsed might not match one supplied by
|
||||
* a caller. In this case exit with error and let
|
||||
* the caller to deside how critical it is.
|
||||
* the caller to decide how critical it is.
|
||||
*/
|
||||
if (output->type != expected)
|
||||
goto err_set_msg;
|
||||
|
@ -169,7 +169,7 @@ void reset_warnings(void)
|
||||
*
|
||||
* Special pseudo-warnings:
|
||||
*
|
||||
*!other [on] any warning not specifially mentioned above
|
||||
*!other [on] any warning not specifically mentioned above
|
||||
*! specifies any warning not included in any specific warning class.
|
||||
*
|
||||
*!all [all] all possible warnings
|
||||
|
@ -2233,7 +2233,7 @@ static void help(FILE *out)
|
||||
" -o outfile write output to outfile\n"
|
||||
" --keep-all output files will not be removed even if an error happens\n"
|
||||
"\n"
|
||||
" -Xformat specifiy error reporting format (gnu or vc)\n"
|
||||
" -Xformat specify error reporting format (gnu or vc)\n"
|
||||
" -s redirect error messages to stdout\n"
|
||||
" -Zfile redirect error messages to file\n"
|
||||
"\n"
|
||||
@ -2263,7 +2263,7 @@ static void help(FILE *out)
|
||||
" -Ld show byte and repeat counts in decimal, not hex\n"
|
||||
" -Le show the preprocessed output\n"
|
||||
" -Lf ignore .nolist (force output)\n"
|
||||
" -Lm show multi-line macro calls with expanded parmeters\n"
|
||||
" -Lm show multi-line macro calls with expanded parameters\n"
|
||||
" -Lp output a list file every pass, in case of errors\n"
|
||||
" -Ls show all single-line macro definitions\n"
|
||||
" -Lw flush the output after every line (very slow!)\n"
|
||||
|
@ -268,7 +268,7 @@ if ($what eq 'c') {
|
||||
|
||||
my %tasmtokens = ();
|
||||
foreach $pt (@tasm) {
|
||||
# TASM compatiblity token
|
||||
# TASM compatibility token
|
||||
$nasmt = '%'.$pt;
|
||||
if (!defined($tokens{$nasmt})) {
|
||||
die "$in: TASM compat token $pt does not have a ".
|
||||
|
@ -1118,7 +1118,7 @@ hash_findix(struct hash_table *hash, const char *str)
|
||||
}
|
||||
|
||||
/*
|
||||
* read line from standart macros set,
|
||||
* read line from standard macros set,
|
||||
* if there no more left -- return NULL
|
||||
*/
|
||||
static char *line_from_stdmac(void)
|
||||
@ -2781,7 +2781,7 @@ smacro_expand_default(const SMacro *s, Token **params, int nparams)
|
||||
}
|
||||
|
||||
/*
|
||||
* Emit a macro defintion or undef to the listing file or debug format
|
||||
* Emit a macro definition or undef to the listing file or debug format
|
||||
* if desired. This is similar to detoken(), but it handles the
|
||||
* reverse expansion list, does not expand %! or local variable
|
||||
* tokens, and does some special handling for macro parameters.
|
||||
@ -3272,7 +3272,7 @@ static bool parse_mmacro_spec(Token *tline, MMacro *def, const char *directive)
|
||||
*comma = NULL;
|
||||
def->ndefs--;
|
||||
nasm_warn(WARN_MACRO_PARAMS_LEGACY,
|
||||
"dropping trailing empty default parameter in defintion of multi-line macro `%s'",
|
||||
"dropping trailing empty default parameter in definition of multi-line macro `%s'",
|
||||
def->name);
|
||||
}
|
||||
} else {
|
||||
@ -3486,7 +3486,7 @@ static int line_directive(Token *origline, Token *tline)
|
||||
const char *fname;
|
||||
/*
|
||||
* If this is a quoted string, ignore anything after
|
||||
* it; this allows for compatiblity with gcc's
|
||||
* it; this allows for compatibility with gcc's
|
||||
* additional flags options.
|
||||
*/
|
||||
|
||||
@ -3608,7 +3608,7 @@ static int do_directive(Token *tline, Token **output)
|
||||
*output = NULL; /* No output generated */
|
||||
origline = tline;
|
||||
|
||||
/* cpp-like line directive, must not be preceeded by whitespace */
|
||||
/* cpp-like line directive, must not be preceded by whitespace */
|
||||
if (tok_is(tline, '#'))
|
||||
return line_directive(origline, tline);
|
||||
|
||||
@ -3761,7 +3761,7 @@ static int do_directive(Token *tline, Token **output)
|
||||
const char *arg;
|
||||
|
||||
/* Directive to tell NASM what the default stack size is. The
|
||||
* default is for a 16-bit stack, and this can be overriden with
|
||||
* default is for a 16-bit stack, and this can be overridden with
|
||||
* %stacksize large.
|
||||
*/
|
||||
tline = skip_white(tline->next);
|
||||
@ -4947,7 +4947,7 @@ static inline bool pp_concat_match(const Token *t, enum concat_flags mask)
|
||||
}
|
||||
|
||||
/*
|
||||
* This routines walks over tokens strem and handles tokens
|
||||
* This routines walks over tokens stream and handles tokens
|
||||
* pasting, if @handle_explicit passed then explicit pasting
|
||||
* term is handled, otherwise -- implicit pastings only.
|
||||
* The @m array can contain a series of token types which are
|
||||
@ -6370,7 +6370,7 @@ static void list_mmacro_call(const MMacro *m)
|
||||
*p++ = ',';
|
||||
}
|
||||
|
||||
*--p = '\0'; /* Replace last delimeter with null */
|
||||
*--p = '\0'; /* Replace last delimiter with null */
|
||||
lfmt->line(LIST_MACRO, -1, buf);
|
||||
nasm_free(buf);
|
||||
}
|
||||
@ -6971,7 +6971,7 @@ static void pp_reset_stdmac(enum preproc_mode mode)
|
||||
* 0 = dependencies only
|
||||
* 1 = preparatory passes
|
||||
* 2 = final pass
|
||||
* 3 = preproces only
|
||||
* 3 = preprocess only
|
||||
*/
|
||||
switch (mode) {
|
||||
case PP_NORMAL:
|
||||
|
@ -481,7 +481,7 @@ size_t nasm_unquote(char *str, char **ep)
|
||||
}
|
||||
|
||||
/*
|
||||
* Unquote a string indended to be used as a C string; most control
|
||||
* Unquote a string intended to be used as a C string; most control
|
||||
* characters are rejected, including whitespace characters that
|
||||
* would imply line endings and so on.
|
||||
*/
|
||||
|
@ -85,7 +85,7 @@ sub find_warnings {
|
||||
doc => [], file => $infile, line => $nline};
|
||||
|
||||
if (defined(my $that = $aliases{$name})) {
|
||||
# Duplicate defintion?!
|
||||
# Duplicate definition?!
|
||||
printf STDERR "%s:%s: warning %s previously defined at %s:%s\n",
|
||||
$infile, $nline, $name, $that->{file}, $that->{line};
|
||||
} else {
|
||||
|
@ -1,7 +1,7 @@
|
||||
dnl --------------------------------------------------------------------------
|
||||
dnl PA_C_TYPEOF
|
||||
dnl
|
||||
dnl Find if typeof() exists, or an equvalent (__typeof__, decltype,
|
||||
dnl Find if typeof() exists, or an equivalent (__typeof__, decltype,
|
||||
dnl __decltype__)
|
||||
dnl --------------------------------------------------------------------------
|
||||
AC_DEFUN([PA_C_TYPEOF],
|
||||
|
@ -85,7 +85,7 @@ in \c{%+} tokens at the beginning or end, or multiple ones in a row.
|
||||
|
||||
\b Fix macro label capture (\c{%00}, \k{percent00}).
|
||||
|
||||
\b Much better documentation for the MASM compatiblity package,
|
||||
\b Much better documentation for the MASM compatibility package,
|
||||
\c{%use masm} (see \k{pkg_masm}).
|
||||
|
||||
\b Fix \c{LEA} without square brackets, for MASM compatibility.
|
||||
@ -233,7 +233,7 @@ generation pass if a list file is specified.
|
||||
|
||||
\S{cl-2.14.01} Version 2.14.01
|
||||
|
||||
\b Create all system-defined macros defore processing command-line
|
||||
\b Create all system-defined macros before processing command-line
|
||||
given preprocessing directives (\c{-p}, \c{-d}, \c{-u}, \c{--pragma},
|
||||
\c{--before}).
|
||||
|
||||
@ -595,7 +595,7 @@ files. See \k{opt-keep-all}.
|
||||
\b Fix \c{-MD} option handling, which was rather broken in previous
|
||||
release changing command line api.
|
||||
|
||||
\b Fix access to unitialized space when handling strings with
|
||||
\b Fix access to uninitialized space when handling strings with
|
||||
a single grave.
|
||||
|
||||
\b Fix nil dereference in handling memory reference parsing.
|
||||
@ -870,7 +870,7 @@ only integer logarithms. See \k{pkg_ifunc}.
|
||||
|
||||
\S{cl-2.09.04} Version 2.09.04
|
||||
|
||||
\b Fix incorrect labels offset for VEX intructions.
|
||||
\b Fix incorrect labels offset for VEX instructions.
|
||||
|
||||
\b Eliminate bogus warning on implicit operand size override.
|
||||
|
||||
@ -888,7 +888,7 @@ only integer logarithms. See \k{pkg_ifunc}.
|
||||
too early and sometime simply wrong. Move behaviour back to
|
||||
the origins (down to NASM 2.05.01).
|
||||
|
||||
\b Fix unitialized data dereference on OMF output format.
|
||||
\b Fix uninitialized data dereference on OMF output format.
|
||||
|
||||
\b Issue warning on unterminated \c{%{} construct.
|
||||
|
||||
@ -941,7 +941,7 @@ only integer logarithms. See \k{pkg_ifunc}.
|
||||
|
||||
\b Macros parameters range expansion introduced. See \k{mlmacrange}.
|
||||
|
||||
\b Backward compatibility on expanging of local sigle macros restored.
|
||||
\b Backward compatibility on expanging of local single macros restored.
|
||||
|
||||
\b 8 bit relocations for \c{elf} and \c{bin} output formats are introduced.
|
||||
|
||||
@ -1636,7 +1636,7 @@ it 0.98.28 to not confuse poor little apt-get.
|
||||
|
||||
\b Line continuation character \c{\\}.
|
||||
|
||||
\b Docs inadvertantly reverted - "dos packaging".
|
||||
\b Docs inadvertently reverted - "dos packaging".
|
||||
|
||||
|
||||
\S{cl-0.98.24p1} Version 0.98.24p1
|
||||
@ -2098,7 +2098,7 @@ in macros etc. For example:
|
||||
|
||||
\> In this example the "if" mmacro enters into the "if" context, so %$arg1
|
||||
is not valid anymore inside "if". Of course it could be worked around
|
||||
by using explicitely %$$arg1 but this is ugly IMHO.
|
||||
by using explicitly %$$arg1 but this is ugly IMHO.
|
||||
|
||||
\b Fixed memory leak in \c{%undef}. The origline wasn't freed before
|
||||
exiting on success.
|
||||
|
12
doc/genps.pl
12
doc/genps.pl
@ -358,7 +358,7 @@ sub string2array($)
|
||||
}
|
||||
|
||||
#
|
||||
# Take a crossreference name and generate the PostScript name for it.
|
||||
# Take a cross-reference name and generate the PostScript name for it.
|
||||
#
|
||||
# This hack produces a somewhat smaller PDF...
|
||||
#%ps_xref_list = ();
|
||||
@ -417,7 +417,7 @@ sub ps_flow_lines($$$@) {
|
||||
$pastmarker = 1;
|
||||
}
|
||||
if ( $$e[0] == -1 || $$e[0] == -6 ) {
|
||||
# -1 (end anchor) or -6 (marker) goes with the preceeding
|
||||
# -1 (end anchor) or -6 (marker) goes with the preceding
|
||||
# text, otherwise with the subsequent text
|
||||
push(@l, $e);
|
||||
} else {
|
||||
@ -743,7 +743,7 @@ $npara = scalar(@paras);
|
||||
@pslines = ();
|
||||
|
||||
#
|
||||
# Line Auxilliary Information Types
|
||||
# Line Auxiliary Information Types
|
||||
#
|
||||
$AuxStr = 1; # String
|
||||
$AuxPage = 2; # Page number (from xref)
|
||||
@ -790,7 +790,7 @@ sub ps_break_lines($$) {
|
||||
my $sech = $2;
|
||||
my $font = ($ptype eq 'head') ? \%HeadFont : \%SubhFont;
|
||||
@ls = ps_flow_lines($linewidth, $font, $ptype, @data);
|
||||
# We need the heading number as auxillary data
|
||||
# We need the heading number as auxilary data
|
||||
$ls[0]->[0]->[2] = [[$AuxStr,$secn]];
|
||||
} elsif ( $ptype eq 'norm' ) {
|
||||
@ls = ps_flow_lines($linewidth, \%BodyFont, $ptype, @data);
|
||||
@ -813,7 +813,7 @@ sub ps_break_lines($$) {
|
||||
$psconf{tocpnz}-$refwidth,
|
||||
\%BodyFont, $ptype, @data);
|
||||
|
||||
# Auxilliary data: for the first line, the cross reference symbol
|
||||
# Auxiliary data: for the first line, the cross reference symbol
|
||||
# and the reference name; for all lines but the first, the
|
||||
# reference width; and for the last line, the page number
|
||||
# as a string.
|
||||
@ -1318,7 +1318,7 @@ foreach $line ( @pslines ) {
|
||||
} elsif ( $$x[0] == $AuxNum ) {
|
||||
print $$x[1],' ';
|
||||
} else {
|
||||
die "Unknown auxilliary data type";
|
||||
die "Unknown auxiliary data type";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -40,7 +40,7 @@
|
||||
\M{author}{The NASM Development Team}
|
||||
\M{copyright_tail}{-- All Rights Reserved}
|
||||
\M{license}{This document is redistributable under the license given in the section "License".}
|
||||
\M{summary}{This file documents NASM, the Netwide Assembler: an assembler targetting the Intel x86 series of processors, with portable source.}
|
||||
\M{summary}{This file documents NASM, the Netwide Assembler: an assembler targeting the Intel x86 series of processors, with portable source.}
|
||||
\M{infoname}{NASM}
|
||||
\M{infofile}{nasm}
|
||||
\M{infotitle}{The Netwide Assembler for x86}
|
||||
@ -775,7 +775,7 @@ which depend on the values of symbols: so code such as
|
||||
|
||||
will cause an error in \i{preprocess-only mode}.
|
||||
|
||||
For compatiblity with older version of NASM, this option can also be
|
||||
For compatibility with older version of NASM, this option can also be
|
||||
written \c{-e}. \c{-E} in older versions of NASM was the equivalent
|
||||
of the current \c{-Z} option, \k{opt-Z}.
|
||||
|
||||
@ -1314,7 +1314,7 @@ keywords:
|
||||
|
||||
\> Note that a \e{list} needs to be prefixed with a \I{%db}\c{%} sign unless
|
||||
prefixed by either \c{DUP} or a \e{type} in order to avoid confusing it with
|
||||
a parentesis starting an expression. The following expressions are all
|
||||
a parenthesis starting an expression. The following expressions are all
|
||||
valid:
|
||||
|
||||
\c db 33
|
||||
@ -1528,7 +1528,7 @@ In 64-bit mode, NASM will by default generate absolute addresses. The
|
||||
this is frequently the normally desired behaviour, see the \c{DEFAULT}
|
||||
directive (\k{default}). The keyword \i\c{ABS} overrides \i\c{REL}.
|
||||
|
||||
A new form of split effective addres syntax is also supported. This is
|
||||
A new form of split effective address syntax is also supported. This is
|
||||
mainly intended for mib operands as used by MPX instructions, but can
|
||||
be used for any memory reference. The basic concept of this form is
|
||||
splitting base and index.
|
||||
@ -1888,7 +1888,7 @@ NASM supports the following comparison operators:
|
||||
|
||||
\b \i\c{>} compares signed greater than.
|
||||
|
||||
\b \i\c{>=} compares signed greather than or equal.
|
||||
\b \i\c{>=} compares signed greater than or equal.
|
||||
|
||||
These operators evaluate to 0 for false or 1 for true.
|
||||
|
||||
@ -2685,7 +2685,7 @@ than the description:
|
||||
As with \c{%strlen} (see \k{strlen}), the first parameter is the
|
||||
single-line macro to be created and the second is the string. The
|
||||
third parameter specifies the first character to be selected, and the
|
||||
optional fourth parameter preceeded by comma) is the length. Note
|
||||
optional fourth parameter preceded by comma) is the length. Note
|
||||
that the first index is 1, not 0 and the last index is equal to the
|
||||
value that \c{%strlen} would assign given the same string. Index
|
||||
values out of range result in an empty string. A negative length
|
||||
@ -3001,9 +3001,9 @@ number of parameters. It can be used as an argument to \c{%rep}
|
||||
Examples are given in \k{rotate}.
|
||||
|
||||
|
||||
\S{percent00} \i\c{%00}: \I{label preceeding macro}Label Preceeding Macro
|
||||
\S{percent00} \i\c{%00}: \I{label preceding macro}Label Preceding Macro
|
||||
|
||||
\c{%00} will return the label preceeding the macro invocation, if any. The
|
||||
\c{%00} will return the label preceding the macro invocation, if any. The
|
||||
label must be on the same line as the macro invocation, may be a local label
|
||||
(see \k{locallab}), and need not end in a colon.
|
||||
|
||||
@ -3383,7 +3383,7 @@ identifier. \c{$} and \c{$$} are \e{not} considered identifiers by
|
||||
\c{%ifid}.
|
||||
|
||||
\c{%ifnum} works similarly, but tests for the token being an integer
|
||||
numeric constant (not an expression!) possibly preceeded by \c{+} or
|
||||
numeric constant (not an expression!) possibly preceded by \c{+} or
|
||||
\c{-}; \c{%ifstr} tests for it being a quoted string.
|
||||
|
||||
For example, the \c{writefile} macro defined in \k{mlmacgre} can be
|
||||
@ -4077,7 +4077,7 @@ are defined.
|
||||
\b \c{debug}: debug format options.
|
||||
|
||||
In addition, the name of any output or debug format, and sometimes
|
||||
groups thereof, also constitue \c{%pragma} namespaces. The namespaces
|
||||
groups thereof, also constitute \c{%pragma} namespaces. The namespaces
|
||||
\c{output} and \c{debug} simply refer to \e{any} output or debug
|
||||
format, respectively.
|
||||
|
||||
@ -4214,7 +4214,7 @@ Most \i{user-level directives} (see \k{directive}) are implemented as
|
||||
macros which invoke primitive directives; these are described in
|
||||
\k{directive}. The rest of the standard macro set is described here.
|
||||
|
||||
For compability with NASM versions before NASM 2.15, most standard
|
||||
For compatibility with NASM versions before NASM 2.15, most standard
|
||||
macros of the form \c{__?foo?__} have aliases of form \c{__foo__} (see
|
||||
\k{defalias}). These can be removed with the directive \c{%clear
|
||||
defalias}.
|
||||
@ -4894,7 +4894,7 @@ The \c{BITS} directive has an exactly equivalent primitive form,
|
||||
\c{[BITS 16]}, \c{[BITS 32]} and \c{[BITS 64]}. The user-level form is
|
||||
a macro which has no function other than to call the primitive form.
|
||||
|
||||
Note that the space is neccessary, e.g. \c{BITS32} will \e{not} work!
|
||||
Note that the space is necessary, e.g. \c{BITS32} will \e{not} work!
|
||||
|
||||
\S{USE16 & USE32} \i\c{USE16} & \i\c{USE32}: Aliases for BITS
|
||||
|
||||
@ -6377,7 +6377,7 @@ right-hand side of the \c{WRT} operator:
|
||||
\b \c{..gotpcrel} is used to specify references to the Global Offset
|
||||
Table. The GOT is supported in the \c{macho64} format only.
|
||||
|
||||
\S{macho-ssvs} \c{macho} specfic directive \i\c{subsections_via_symbols}
|
||||
\S{macho-ssvs} \c{macho} specific directive \i\c{subsections_via_symbols}
|
||||
|
||||
The directive \c{subsections_via_symbols} sets the
|
||||
\c{MH_SUBSECTIONS_VIA_SYMBOLS} flag in the Mach-O header, that effectively
|
||||
@ -6392,7 +6392,7 @@ non-Mach-O builds of the same source code:
|
||||
|
||||
\c %pragma macho subsections_via_symbols
|
||||
|
||||
\S{macho-ssvs} \c{macho} specfic directive \i\c{no_dead_strip}
|
||||
\S{macho-ssvs} \c{macho} specific directive \i\c{no_dead_strip}
|
||||
|
||||
The directive \c{no_dead_strip} sets the Mach-O \c{SH_NO_DEAD_STRIP}
|
||||
section flag on the section containing a a specific symbol. This
|
||||
|
@ -14,7 +14,7 @@ GLOBAL variables:
|
||||
references generate long offsets; always
|
||||
assembles
|
||||
no optimization passes
|
||||
2 or more specifies optmization passes. 5 is
|
||||
2 or more specifies optimization passes. 5 is
|
||||
the actual recommended minimum setting
|
||||
optimization passes (2 or more, plus
|
||||
passes 1 and 2 will be required)
|
||||
|
@ -96,7 +96,7 @@ exit 0 if ( !$r && -f $out );
|
||||
# 2. ps2pdf (from Ghostscript)
|
||||
#
|
||||
# GhostScript uses # rather than = to separate options and values on Windows,
|
||||
# it seems. Similary it uses ; in path lists rather than :.
|
||||
# it seems. Similarly it uses ; in path lists rather than :.
|
||||
# Call gs directly rather than ps2pdf, because -dSAFER
|
||||
# breaks font discovery on some systems, apparently.
|
||||
win32_gs_help();
|
||||
|
@ -758,7 +758,7 @@ sub write_html {
|
||||
select TEXT;
|
||||
&html_preamble(0);
|
||||
print "<p>This manual documents NASM, the Netwide Assembler: an assembler\n";
|
||||
print "targetting the Intel x86 series of processors, with portable source.\n</p>";
|
||||
print "targeting the Intel x86 series of processors, with portable source.\n</p>";
|
||||
print "<div class=\"toc\">\n";
|
||||
$level = 0;
|
||||
for ($node = $tstruct_next{'Top'}; $node; $node = $tstruct_next{$node}) {
|
||||
|
@ -797,7 +797,7 @@ typedef uint64_t iflags_t;
|
||||
*
|
||||
* DIRR_BADPARAM causes a generic error message to be printed. Note
|
||||
* that it is an error, not a warning, even in the case of pragmas;
|
||||
* don't use it where forward compatiblity would be compromised
|
||||
* don't use it where forward compatibility would be compromised
|
||||
* (instead consider adding a DIRR_WARNPARAM.)
|
||||
*/
|
||||
enum directive_result {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* ----------------------------------------------------------------------- *
|
||||
*
|
||||
*
|
||||
* Copyright 1996-2018 The NASM Authors - All Rights Reserved
|
||||
* See the file AUTHORS included with the NASM distribution for
|
||||
* the specific copyright holders.
|
||||
@ -14,7 +14,7 @@
|
||||
* 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
|
||||
@ -99,7 +99,7 @@
|
||||
#define GEN_SUBCLASS(bit) OP_GENBIT(bit, SUBCLASS_SHIFT)
|
||||
|
||||
/*
|
||||
* Special flags. Context dependant.
|
||||
* Special flags. Context dependent.
|
||||
*
|
||||
* Bits: 26 - 32
|
||||
*/
|
||||
|
@ -34,7 +34,7 @@
|
||||
;;
|
||||
;; masm.mac
|
||||
;;
|
||||
;; Very limited MASM compatiblity package; intended to be used
|
||||
;; Very limited MASM compatibility package; intended to be used
|
||||
;; primarily with machine-generated code. It does not include any
|
||||
;; "programmer friendly" shortcuts, nor does it in any way support
|
||||
;; ASSUME, symbol typing, or MASM-style structures.
|
||||
|
@ -276,7 +276,7 @@ STD: nasm
|
||||
%defalias __PTR__ __?PTR?__
|
||||
%defalias __PASS__ __?PASS?__
|
||||
|
||||
; Backwards compatiblity aliases for tokens. The extra level of indirection here
|
||||
; Backwards compatibility aliases for tokens. The extra level of indirection here
|
||||
; means %aliases on|off will do the right thing for these as well.
|
||||
%idefine __?infinity?__ %?
|
||||
%idefine __?nan?__ %?
|
||||
|
@ -139,7 +139,7 @@ STRIP_CODE_COMMENTS = YES
|
||||
# file names in lower case letters. If set to YES upper case letters are also
|
||||
# allowed. This is useful if you have classes or files whose names only differ
|
||||
# in case and if your file system supports case sensitive file names. Windows
|
||||
# users are adviced to set this option to NO.
|
||||
# users are advised to set this option to NO.
|
||||
|
||||
CASE_SENSE_NAMES = YES
|
||||
|
||||
@ -165,7 +165,7 @@ SHOW_INCLUDE_FILES = YES
|
||||
# will interpret the first line (until the first dot) of a JavaDoc-style
|
||||
# comment as the brief description. If set to NO, the JavaDoc
|
||||
# comments will behave just like the Qt-style comments (thus requiring an
|
||||
# explict @brief command for a brief description.
|
||||
# explicit @brief command for a brief description.
|
||||
|
||||
JAVADOC_AUTOBRIEF = NO
|
||||
|
||||
@ -532,7 +532,7 @@ COMPACT_RTF = NO
|
||||
RTF_HYPERLINKS = NO
|
||||
|
||||
# Load stylesheet definitions from file. Syntax is similar to doxygen's
|
||||
# config file, i.e. a series of assigments. You only have to provide
|
||||
# config file, i.e. a series of assignments. You only have to provide
|
||||
# replacements, missing definitions are set to their default value.
|
||||
|
||||
RTF_STYLESHEET_FILE =
|
||||
|
@ -1,18 +1,18 @@
|
||||
;--------=========xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=========--------
|
||||
;
|
||||
; Copyright (C) 1999 by Andrew Zabolotny
|
||||
; Miscelaneous NASM macros that makes use of new preprocessor features
|
||||
;
|
||||
; Miscellaneous NASM macros that makes use of new preprocessor features
|
||||
;
|
||||
; This library is free software; you can redistribute it and/or
|
||||
; modify it under the terms of the GNU Library General Public
|
||||
; License as published by the Free Software Foundation; either
|
||||
; version 2 of the License, or (at your option) any later version.
|
||||
;
|
||||
;
|
||||
; This library is distributed in the hope that it will be useful,
|
||||
; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
; Library General Public License for more details.
|
||||
;
|
||||
;
|
||||
; You should have received a copy of the GNU Library General Public
|
||||
; License along with this library; if not, write to the Free
|
||||
; Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
@ -404,7 +404,7 @@ __end_%1:
|
||||
; Summary:
|
||||
; define the "else" branch of a conditional statement
|
||||
; Arguments:
|
||||
; optionaly: "short" if jmp to endif is less than 128 bytes away
|
||||
; optionally: "short" if jmp to endif is less than 128 bytes away
|
||||
; Example:
|
||||
; else
|
||||
;-----======xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx======-----
|
||||
|
@ -22,11 +22,11 @@
|
||||
;* Language: NetWide Assembler (NASM) or Turbo Assembler (TASM)
|
||||
;* Environment: Any Intel Environment
|
||||
;*
|
||||
;* Description: Macros to provide memory model independant assembly language
|
||||
;* Description: Macros to provide memory model independent assembly language
|
||||
;* module for C programming. Supports the large and flat memory
|
||||
;* models.
|
||||
;*
|
||||
;* The defines that you should use when assembling modules that
|
||||
;* The defines that you should use when assembling modules that
|
||||
;* use this macro package are:
|
||||
;*
|
||||
;* __LARGE__ Assemble for 16-bit large model
|
||||
@ -88,18 +88,18 @@ ifdef __NASM_MAJOR__
|
||||
%idefine _bp ebp
|
||||
%idefine _sp esp
|
||||
%idefine _es
|
||||
%idefine UCHAR BYTE ; Size of a character
|
||||
%idefine UCHAR BYTE ; Size of a character
|
||||
%idefine USHORT WORD ; Size of a short
|
||||
%idefine UINT DWORD ; Size of an integer
|
||||
%idefine ULONG DWORD ; Size of a long
|
||||
%idefine BOOL DWORD ; Size of a boolean
|
||||
%idefine DPTR DWORD ; Size of a data pointer
|
||||
%idefine FDPTR FWORD ; Size of a far data pointer
|
||||
%idefine NDPTR DWORD ; Size of a near data pointer
|
||||
%idefine CPTR DWORD ; Size of a code pointer
|
||||
%idefine FCPTR FWORD ; Size of a far code pointer
|
||||
%idefine NCPTR DWORD ; Size of a near code pointer
|
||||
%idefine FPTR NEAR ; Distance for function pointers
|
||||
%idefine UINT DWORD ; Size of an integer
|
||||
%idefine ULONG DWORD ; Size of a long
|
||||
%idefine BOOL DWORD ; Size of a boolean
|
||||
%idefine DPTR DWORD ; Size of a data pointer
|
||||
%idefine FDPTR FWORD ; Size of a far data pointer
|
||||
%idefine NDPTR DWORD ; Size of a near data pointer
|
||||
%idefine CPTR DWORD ; Size of a code pointer
|
||||
%idefine FCPTR FWORD ; Size of a far code pointer
|
||||
%idefine NCPTR DWORD ; Size of a near code pointer
|
||||
%idefine FPTR NEAR ; Distance for function pointers
|
||||
%idefine DUINT dd ; Declare a integer variable
|
||||
%idefine intsize 4
|
||||
%idefine flatmodel 1
|
||||
@ -113,17 +113,17 @@ ifdef __NASM_MAJOR__
|
||||
%idefine _bp bp
|
||||
%idefine _sp sp
|
||||
%idefine _es es:
|
||||
%idefine UCHAR BYTE ; Size of a character
|
||||
%idefine UCHAR BYTE ; Size of a character
|
||||
%idefine USHORT WORD ; Size of a short
|
||||
%idefine UINT WORD ; Size of an integer
|
||||
%idefine ULONG DWORD ; Size of a long
|
||||
%idefine BOOL WORD ; Size of a boolean
|
||||
%idefine DPTR DWORD ; Size of a data pointer
|
||||
%idefine FDPTR DWORD ; Size of a far data pointer
|
||||
%idefine NDPTR WORD ; Size of a near data pointer
|
||||
%idefine CPTR DWORD ; Size of a code pointer
|
||||
%idefine FCPTR DWORD ; Size of a far code pointer
|
||||
%idefine NCPTR WORD ; Size of a near code pointer
|
||||
%idefine UINT WORD ; Size of an integer
|
||||
%idefine ULONG DWORD ; Size of a long
|
||||
%idefine BOOL WORD ; Size of a boolean
|
||||
%idefine DPTR DWORD ; Size of a data pointer
|
||||
%idefine FDPTR DWORD ; Size of a far data pointer
|
||||
%idefine NDPTR WORD ; Size of a near data pointer
|
||||
%idefine CPTR DWORD ; Size of a code pointer
|
||||
%idefine FCPTR DWORD ; Size of a far code pointer
|
||||
%idefine NCPTR WORD ; Size of a near code pointer
|
||||
%idefine FPTR FAR ; Distance for function pointers
|
||||
%idefine DUINT dw ; Declare a integer variable
|
||||
%idefine intsize 2
|
||||
@ -629,19 +629,19 @@ endif
|
||||
; environment
|
||||
|
||||
ifdef __WINDOWS16__
|
||||
__WINDOWS__ = 1
|
||||
__WINDOWS__ = 1
|
||||
endif
|
||||
ifdef __WINDOWS32__
|
||||
__WINDOWS__ = 1
|
||||
__WINDOWS32_386__ = 1
|
||||
__WINDOWS__ = 1
|
||||
__WINDOWS32_386__ = 1
|
||||
endif
|
||||
ifdef __WIN386__
|
||||
__WINDOWS__ = 1
|
||||
__WINDOWS32_386__ = 1
|
||||
__WINDOWS__ = 1
|
||||
__WINDOWS32_386__ = 1
|
||||
endif
|
||||
ifdef __VXD__
|
||||
__WINDOWS__ = 1
|
||||
__WINDOWS32_386__ = 1
|
||||
__WINDOWS__ = 1
|
||||
__WINDOWS32_386__ = 1
|
||||
MASM
|
||||
.386
|
||||
NO_SEGMENTS = 1
|
||||
@ -655,7 +655,7 @@ endif
|
||||
ifdef __FLAT__
|
||||
_ax EQU eax ; EAX is used for accumulator
|
||||
_bx EQU ebx ; EBX is used for accumulator
|
||||
_cx EQU ecx ; ECX is used for looping
|
||||
_cx EQU ecx ; ECX is used for looping
|
||||
_dx EQU edx ; EDX is used for data register
|
||||
_si EQU esi ; ESI is the source index register
|
||||
_di EQU edi ; EDI is the destination index register
|
||||
@ -682,7 +682,7 @@ ifdef __FLAT__
|
||||
else
|
||||
_ax EQU ax ; AX is used for accumulator
|
||||
_bx EQU bx ; BX is used for accumulator
|
||||
_cx EQU cx ; CX is used for looping
|
||||
_cx EQU cx ; CX is used for looping
|
||||
_dx EQU dx ; DX is used for data register
|
||||
_si EQU si ; SI is the source index register
|
||||
_di EQU di ; DI is the destination index register
|
||||
@ -903,21 +903,21 @@ ENDM
|
||||
; Macro to start a C callable function. This will be a far function for
|
||||
; 16-bit code, and a near function for 32-bit code.
|
||||
|
||||
MACRO cprocstatic name ; Set up model independant private proc
|
||||
MACRO cprocstatic name ; Set up model independent private proc
|
||||
ifdef flatmodel
|
||||
PROC name NEAR
|
||||
PROC name NEAR
|
||||
else
|
||||
PROC name FAR
|
||||
endif
|
||||
LocalSize = 0
|
||||
ENDM
|
||||
|
||||
MACRO cprocstart name ; Set up model independant proc
|
||||
MACRO cprocstart name ; Set up model independent proc
|
||||
ifdef flatmodel
|
||||
ifdef __NOU__
|
||||
PROC name NEAR
|
||||
PROC name NEAR
|
||||
else
|
||||
PROC _&name& NEAR
|
||||
PROC _&name& NEAR
|
||||
endif
|
||||
else
|
||||
ifdef __NOU__
|
||||
@ -930,7 +930,7 @@ LocalSize = 0
|
||||
cglobalfunc name
|
||||
ENDM
|
||||
|
||||
MACRO cprocnear name ; Set up near proc
|
||||
MACRO cprocnear name ; Set up near proc
|
||||
ifdef __NOU__
|
||||
PROC name NEAR
|
||||
else
|
||||
|
2
nasm.txt
2
nasm.txt
@ -75,7 +75,7 @@ OPTIONS
|
||||
output is suppressed.
|
||||
|
||||
*-MG* 'file'::
|
||||
Same as *-M* but assumes that missing Makefile dependecies are generated
|
||||
Same as *-M* but assumes that missing Makefile dependencies are generated
|
||||
and added to dependency list without a prefix.
|
||||
|
||||
*-MF* 'file'::
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* ----------------------------------------------------------------------- *
|
||||
*
|
||||
*
|
||||
* Copyright 1996-2016 The NASM Authors - All Rights Reserved
|
||||
* See the file AUTHORS included with the NASM distribution for
|
||||
* the specific copyright holders.
|
||||
@ -14,7 +14,7 @@
|
||||
* 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
|
||||
@ -82,7 +82,7 @@ int64_t readnum(const char *str, bool *error)
|
||||
|
||||
/*
|
||||
* If the number came from make_tok_num (as a result of an %assign), it
|
||||
* might have a '-' built into it (rather than in a preceeding token).
|
||||
* might have a '-' built into it (rather than in a preceding token).
|
||||
*/
|
||||
if (*r == '-') {
|
||||
r++;
|
||||
|
@ -72,7 +72,7 @@ char *nasm_realpath(const char *rel_path)
|
||||
|
||||
rp = realpath(rel_path, NULL);
|
||||
|
||||
/* Not all implemetations of realpath() support a NULL second argument */
|
||||
/* Not all implementations of realpath() support a NULL second argument */
|
||||
if (!rp && errno == EINVAL) {
|
||||
long path_max = -1;
|
||||
char *rp;
|
||||
|
@ -192,11 +192,11 @@ Installer/uninstaller initialization
|
||||
!macro MULTIUSER_INIT_TEXTS
|
||||
|
||||
!ifndef MULTIUSER_INIT_TEXT_ADMINREQUIRED
|
||||
!define MULTIUSER_INIT_TEXT_ADMINREQUIRED "$(^Caption) requires Administrator priviledges."
|
||||
!define MULTIUSER_INIT_TEXT_ADMINREQUIRED "$(^Caption) requires Administrator privileges."
|
||||
!endif
|
||||
|
||||
!ifndef MULTIUSER_INIT_TEXT_POWERREQUIRED
|
||||
!define MULTIUSER_INIT_TEXT_POWERREQUIRED "$(^Caption) requires at least Power User priviledges."
|
||||
!define MULTIUSER_INIT_TEXT_POWERREQUIRED "$(^Caption) requires at least Power User privileges."
|
||||
!endif
|
||||
|
||||
!ifndef MULTIUSER_INIT_TEXT_ALLUSERSNOTPOSSIBLE
|
||||
|
@ -751,7 +751,7 @@ static void write_symbolinfo_table(struct coff_Section *const sect)
|
||||
section_write32(sect, 0x000000F1);
|
||||
section_write32(sect, field_length);
|
||||
|
||||
/* for sub fields, length preceeds type */
|
||||
/* for sub fields, length proceeds type */
|
||||
|
||||
out_len = write_symbolinfo_obj(sect);
|
||||
nasm_assert(out_len == obj_length);
|
||||
|
@ -35,7 +35,7 @@
|
||||
#define OUTPUT_DWARF_H
|
||||
|
||||
/*
|
||||
* based on DWARF 3 standart
|
||||
* based on DWARF 3 standard
|
||||
*/
|
||||
|
||||
enum dwarf_tag {
|
||||
|
@ -88,9 +88,9 @@
|
||||
#define EM_X86_64 62
|
||||
#define EM_CRIS 76
|
||||
#define EM_V850 87
|
||||
#define EM_ALPHA 0x9026 /* Interrim Alpha that stuck around */
|
||||
#define EM_ALPHA 0x9026 /* Interim Alpha that stuck around */
|
||||
#define EM_CYGNUS_V850 0x9080 /* Old v850 ID used by Cygnus */
|
||||
#define EM_S390_OLD 0xA390 /* Obsolete interrim value for S/390 */
|
||||
#define EM_S390_OLD 0xA390 /* Obsolete interim value for S/390 */
|
||||
|
||||
/* Dynamic type values */
|
||||
#define DT_NULL 0
|
||||
@ -120,7 +120,7 @@
|
||||
#define DT_LOPROC 0x70000000
|
||||
#define DT_HIPROC 0x7fffffff
|
||||
|
||||
/* Auxilliary table entries */
|
||||
/* Auxiliary table entries */
|
||||
#define AT_NULL 0 /* end of vector */
|
||||
#define AT_IGNORE 1 /* entry should be ignored */
|
||||
#define AT_EXECFD 2 /* file descriptor of program */
|
||||
@ -205,7 +205,7 @@
|
||||
/* Section align flag */
|
||||
#define SHA_ANY 1 /* No alignment constraint */
|
||||
|
||||
/* Lenght of magic at the start of a file */
|
||||
/* Length of magic at the start of a file */
|
||||
#define EI_NIDENT 16
|
||||
|
||||
/* Magic number constants... */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* ----------------------------------------------------------------------- *
|
||||
*
|
||||
*
|
||||
* Copyright 1996-2017 The NASM Authors - All Rights Reserved
|
||||
* See the file AUTHORS included with the NASM distribution for
|
||||
* the specific copyright holders.
|
||||
@ -14,7 +14,7 @@
|
||||
* 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
|
||||
@ -31,7 +31,7 @@
|
||||
*
|
||||
* ----------------------------------------------------------------------- */
|
||||
|
||||
/*
|
||||
/*
|
||||
* outbin.c output routines for the Netwide Assembler to produce
|
||||
* flat-form binary files
|
||||
*/
|
||||
@ -48,7 +48,7 @@
|
||||
*
|
||||
* - Sections can be either progbits or nobits type.
|
||||
*
|
||||
* - You can specify that they be aligned at a certian boundary
|
||||
* - You can specify that they be aligned at a certain boundary
|
||||
* following the previous section ("align="), or positioned at an
|
||||
* arbitrary byte-granular location ("start=").
|
||||
*
|
||||
@ -1300,7 +1300,7 @@ bin_directive(enum directive directive, char *args)
|
||||
/* The 'map' directive allows the user to generate section
|
||||
* and symbol information to stdout, stderr, or to a file. */
|
||||
char *p;
|
||||
|
||||
|
||||
if (!pass_first())
|
||||
return DIRR_OK;
|
||||
args += strspn(args, " \t");
|
||||
@ -1363,8 +1363,8 @@ static void ith_init(void)
|
||||
{
|
||||
do_output = do_output_ith;
|
||||
binfmt_init();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void srec_init(void)
|
||||
{
|
||||
do_output = do_output_srec;
|
||||
@ -1410,7 +1410,7 @@ static void do_output_bin(void)
|
||||
|
||||
/* Write the section to the output file. */
|
||||
saa_fpwrite(s->contents, ofile);
|
||||
|
||||
|
||||
/* Keep track of the current file position */
|
||||
addr = s->start + s->length;
|
||||
}
|
||||
|
@ -506,7 +506,7 @@ static int32_t coff_section_names(char *name, int *bits)
|
||||
if (comdat_selection == IMAGE_COMDAT_SELECT_ASSOCIATIVE) {
|
||||
/*
|
||||
* Find an existing section with given comdat name
|
||||
*/
|
||||
*/
|
||||
for (j = 0; j < coff_nsects; j++)
|
||||
if (coff_sects[j]->comdat_name &&
|
||||
!strcmp(coff_sects[j]->comdat_name, comdat_name))
|
||||
@ -518,7 +518,7 @@ static int32_t coff_section_names(char *name, int *bits)
|
||||
* Even though the specs don't enforce a particular order,
|
||||
* VS (2019) linker doesn't accept .obj files where the
|
||||
* target section is a later one (than the one with sel==5)
|
||||
*
|
||||
*
|
||||
* So let's insert another section now (a placeholder),
|
||||
* hoping it will be turned into the target section later.
|
||||
*/
|
||||
@ -980,7 +980,7 @@ coff_directives(enum directive directive, char *value)
|
||||
|
||||
if (equals) {
|
||||
/*
|
||||
* this value arithmetics effectively reflects
|
||||
* this value arithmetic effectively reflects
|
||||
* initsym in coff_write(): 2 for file, 1 for
|
||||
* .absolute and two per each section
|
||||
*/
|
||||
|
@ -2095,7 +2095,7 @@ static void elf_sym(const struct elf_symbol *sym)
|
||||
|
||||
/*
|
||||
* Careful here. This relies on sym->section being signed; for
|
||||
* special section indicies this value needs to be cast to
|
||||
* special section indices this value needs to be cast to
|
||||
* (int16_t) so that it sign-extends, however, here SHN_LORESERVE
|
||||
* is used as an unsigned constant.
|
||||
*/
|
||||
@ -3485,7 +3485,7 @@ static void dwarf_generate(void)
|
||||
saa_rnbytes(plines, pbuf, saalen); /* read a given no. of bytes */
|
||||
pbuf += linepoff;
|
||||
saa_free(plines);
|
||||
/* concatonate line program ranges */
|
||||
/* concatenate line program ranges */
|
||||
linepoff += 13;
|
||||
plinesrel = saa_init(1L);
|
||||
psect = dwarf_fsect;
|
||||
|
@ -50,7 +50,7 @@
|
||||
#define TY_DEBUGSYMLIN 0x40 /* internal call to debug_out */
|
||||
|
||||
/*
|
||||
* Debugging ELF sections (section indicies starting with sec_debug)
|
||||
* Debugging ELF sections (section indices starting with sec_debug)
|
||||
*/
|
||||
|
||||
/* stabs */
|
||||
|
@ -406,7 +406,7 @@ static void ieee_out(int32_t segto, const void *data,
|
||||
}
|
||||
|
||||
/*
|
||||
* Find the segment we are targetting.
|
||||
* Find the segment we are targeting.
|
||||
*/
|
||||
for (seg = seghead; seg; seg = seg->next)
|
||||
if (seg->index == segto)
|
||||
@ -1210,7 +1210,7 @@ static int32_t ieee_putlr(struct ieeeFixupp *p)
|
||||
* defines two types of segments: absolute and virtual. Note that
|
||||
* 'absolute' in this context is a different thing from the IEEE
|
||||
* definition of an absolute segment type, which is also supported. If a
|
||||
* sement is linked in virtual mode the low limit (L-var) is
|
||||
* segment is linked in virtual mode the low limit (L-var) is
|
||||
* subtracted from each R,X, and P variable which appears in an
|
||||
* expression, so that we can have relative offsets. Meanwhile
|
||||
* in the ABSOLUTE mode this subtraction is not done and
|
||||
@ -1321,7 +1321,7 @@ static void dbgls_cleanup(void)
|
||||
* because this routine is not bracketed in
|
||||
* the main program, this routine will be called even if there
|
||||
* is no request for debug info
|
||||
* so, we have to make sure the ??LINE segment is avaialbe
|
||||
* so, we have to make sure the ??LINE segment is available
|
||||
* as the first segment when this debug format is selected
|
||||
*/
|
||||
static void dbgls_linnum(const char *lnfname, int32_t lineno, int32_t segto)
|
||||
@ -1343,7 +1343,7 @@ static void dbgls_linnum(const char *lnfname, int32_t lineno, int32_t segto)
|
||||
}
|
||||
|
||||
/*
|
||||
* Find the segment we are targetting.
|
||||
* Find the segment we are targeting.
|
||||
*/
|
||||
for (seg = seghead; seg; seg = seg->next)
|
||||
if (seg->index == segto)
|
||||
|
@ -1604,7 +1604,7 @@ static void macho_write (void)
|
||||
** uint32_t in-file offset
|
||||
** uint32_t alignment
|
||||
** (irrelevant in MH_OBJECT)
|
||||
** uint32_t in-file offset of relocation entires
|
||||
** uint32_t in-file offset of relocation entries
|
||||
** uint32_t number of relocations
|
||||
** uint32_t flags
|
||||
** uint32_t reserved
|
||||
|
@ -64,7 +64,7 @@
|
||||
*/
|
||||
|
||||
/*
|
||||
* These routines are built around the ObjRecord data struture. An ObjRecord
|
||||
* These routines are built around the ObjRecord data structure. An ObjRecord
|
||||
* holds an object file record that may be under construction or complete.
|
||||
*
|
||||
* A major function of these routines is to support continuation of an obj
|
||||
@ -199,7 +199,7 @@ static ObjRecord *obj_clear(ObjRecord * orp)
|
||||
|
||||
/*
|
||||
* Emit an ObjRecord structure. (Never reallocates).
|
||||
* The record is written out preceeded (recursively) by its previous part (if
|
||||
* The record is written out proceeded (recursively) by its previous part (if
|
||||
* any) and followed (recursively) by its child (if any).
|
||||
* The previous part and the child are freed. The main ObjRecord is cleared,
|
||||
* not freed.
|
||||
@ -246,7 +246,7 @@ static ObjRecord *obj_new(void)
|
||||
/*
|
||||
* Advance to the next record because the existing one is full or its x_size
|
||||
* is incompatible.
|
||||
* Any uncommited data is moved into the next record.
|
||||
* Any uncommitted data is moved into the next record.
|
||||
*/
|
||||
static ObjRecord *obj_bump(ObjRecord * orp)
|
||||
{
|
||||
@ -294,7 +294,7 @@ static ObjRecord *obj_check(ObjRecord * orp, int size)
|
||||
}
|
||||
|
||||
/*
|
||||
* All data written so far is commited to the current record (won't be moved to
|
||||
* All data written so far is committed to the current record (won't be moved to
|
||||
* the next record in case of continuation).
|
||||
*/
|
||||
static ObjRecord *obj_commit(ObjRecord * orp)
|
||||
@ -1037,7 +1037,7 @@ static void obj_out(int32_t segto, const void *data,
|
||||
}
|
||||
|
||||
/*
|
||||
* Find the segment we are targetting.
|
||||
* Find the segment we are targeting.
|
||||
*/
|
||||
for (seg = seghead; seg; seg = seg->next)
|
||||
if (seg->index == segto)
|
||||
@ -2510,7 +2510,7 @@ static void dbgbi_linnum(const char *lnfname, int32_t lineno, int32_t segto)
|
||||
}
|
||||
|
||||
/*
|
||||
* Find the segment we are targetting.
|
||||
* Find the segment we are targeting.
|
||||
*/
|
||||
for (seg = seghead; seg; seg = seg->next)
|
||||
if (seg->index == segto)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* ----------------------------------------------------------------------- *
|
||||
*
|
||||
*
|
||||
* Copyright 1996-2016 The NASM Authors - All Rights Reserved
|
||||
* See the file AUTHORS included with the NASM distribution for
|
||||
* the specific copyright holders.
|
||||
@ -14,7 +14,7 @@
|
||||
* 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
|
||||
@ -85,7 +85,7 @@ static int segmenttypenumbers[COUNT_SEGTYPES] = {
|
||||
* on 80x86 machines for efficiency */
|
||||
|
||||
/***********************************************************************
|
||||
* Actual code to deal with RDOFF2 ouput format begins here...
|
||||
* Actual code to deal with RDOFF2 output format begins here...
|
||||
*/
|
||||
|
||||
/* global variables set during the initialisation phase */
|
||||
@ -556,7 +556,7 @@ static void rdf2_out(int32_t segto, const void *data,
|
||||
}
|
||||
|
||||
if (type == OUT_RESERVE) {
|
||||
if (segto == 2) /* BSS segment space reserverd */
|
||||
if (segto == 2) /* BSS segment space reserved */
|
||||
bsslength += size;
|
||||
else
|
||||
while (size--)
|
||||
@ -718,7 +718,7 @@ rdf2_directive(enum directive directive, char *value)
|
||||
write_dll_rec(&r);
|
||||
}
|
||||
return DIRR_OK;
|
||||
|
||||
|
||||
case D_MODULE:
|
||||
if ((n = strlen(value)) >= MODLIB_NAME_MAX) {
|
||||
nasm_error(ERR_NONFATAL, "name size exceeds %d bytes", MODLIB_NAME_MAX);
|
||||
|
@ -102,7 +102,7 @@ sub gen_hash_n($$$$) {
|
||||
# Now we need to assign values to each vertex, so that for each
|
||||
# edge, the sum of the values for the two vertices give the value
|
||||
# for the edge (which is our hash index.) If we find an impossible
|
||||
# sitation, the graph was cyclic.
|
||||
# situation, the graph was cyclic.
|
||||
@nodeval = (undef) x $gsize;
|
||||
|
||||
for ($i = 0; $i < $gsize; $i++) {
|
||||
|
@ -137,7 +137,7 @@ but accept them gracefully, and read them byte for byte into
|
||||
a 'generic record' (see the definition of GenericRec in 'rdoff.h').
|
||||
|
||||
If you are using these functions to write RDF modules (rather than
|
||||
just reading them), then please note the existance of a new function
|
||||
just reading them), then please note the existence of a new function
|
||||
'rdfaddsegment(rdf_headerbuf,long)'. This must be called once for
|
||||
each segment in your object, to tell the header writing functions
|
||||
how long the segment is.
|
||||
@ -172,7 +172,7 @@ There are still various things unimplemented that we would like to add.
|
||||
If you want to find out what these are, search near the top of each *.c
|
||||
file for a comment containing the word 'TODO'. A brief list is given here:
|
||||
|
||||
- Improve the performace of ldrdf (there are several enhancements I can think
|
||||
- Improve the performance of ldrdf (there are several enhancements I can think
|
||||
of that wouldn't be too hard to add)
|
||||
- Stop assuming that we're on a little endian machine
|
||||
- Check for more bugs
|
||||
|
@ -50,7 +50,7 @@ RDOFF module consists of three parts:
|
||||
|
||||
@itemize
|
||||
@item Master header
|
||||
@item Header (may be omited)
|
||||
@item Header (may be omitted)
|
||||
@item Sections
|
||||
@end itemize
|
||||
|
||||
|
@ -32,7 +32,7 @@ struct segconfig sconft[SEGCONFIGMAX] = {
|
||||
{0x0006, 0x0007, "debug information", 2, 0},
|
||||
{0x0008, 0x001F, "reserved(general extensions)", 1, 0},
|
||||
{0x0020, 0x0FFF, "reserved(MOSCOW)", 1, 0},
|
||||
{0x1000, 0x7FFF, "reserved(system dependant)", 1, 0},
|
||||
{0x1000, 0x7FFF, "reserved(system dependent)", 1, 0},
|
||||
{0x8000, 0xFFFE, "reserved(other)", 1, 0},
|
||||
{0xFFFF, 0xFFFF, "invalid segment", 0, 0}
|
||||
};
|
||||
|
@ -197,7 +197,7 @@ char *translatesegmenttype(uint16_t type)
|
||||
if (type < 0x1000)
|
||||
return "reserved - Moscow";
|
||||
if (type < 0x8000)
|
||||
return "reserved - system dependant";
|
||||
return "reserved - system dependent";
|
||||
if (type < 0xFFFF)
|
||||
return "reserved - other";
|
||||
if (type == 0xFFFF)
|
||||
|
@ -10,7 +10,7 @@ _strcmp:
|
||||
push ebp
|
||||
mov ebp,esp
|
||||
|
||||
;; ebp+8 = first paramater, ebp+12 = second
|
||||
;; ebp+8 = first parameter, ebp+12 = second
|
||||
|
||||
mov esi,[ebp+8]
|
||||
mov edi,[ebp+12]
|
||||
@ -27,11 +27,11 @@ _strcmp:
|
||||
inc edi
|
||||
jmp .loop
|
||||
|
||||
.below:
|
||||
.below:
|
||||
mov eax,-1
|
||||
pop ebp
|
||||
ret
|
||||
|
||||
|
||||
.above:
|
||||
mov eax,1
|
||||
pop ebp
|
||||
@ -45,4 +45,4 @@ _strcmp:
|
||||
[SECTION .data]
|
||||
[GLOBAL _message]
|
||||
|
||||
_message: db 'hello',0
|
||||
_message: db 'hello',0
|
||||
|
@ -195,7 +195,7 @@ push %1 ;
|
||||
; To support other types of macros that extend the definition of instructions,
|
||||
; I disabled the warning on a multi-line macro called with the wrong number of
|
||||
; parameters. PUSH and POP can be extended equally well by either method, but
|
||||
; other intruction extensions may need one method or the other, so I made both
|
||||
; other instruction extensions may need one method or the other, so I made both
|
||||
; work.
|
||||
;
|
||||
; Note that neither of these warnings was really needed, because a later stage
|
||||
@ -306,17 +306,17 @@ arg_example2 arg2
|
||||
;
|
||||
sqrtps xmm0,[ebx+10] ; SSE opcode
|
||||
paddsiw mm0,[ebx+10] ; Cyrix opcode with the same byte seq.
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------------
|
||||
; Enhancement by hpa in preproc.c
|
||||
;
|
||||
; Support %undef to remoce a single-line macro
|
||||
; Support %undef to remove a single-line macro
|
||||
;
|
||||
%define TEST_ME 42
|
||||
%ifndef TEST_ME
|
||||
%error "TEST_ME not defined after %define"
|
||||
%endif
|
||||
|
||||
|
||||
%undef TEST_ME
|
||||
%ifdef TEST_ME
|
||||
%error "TEST_ME defined after %undef"
|
||||
@ -331,7 +331,7 @@ arg_example2 arg2
|
||||
pshufw mm2, mm1, 3
|
||||
pshufw mm3,[ebx],2
|
||||
pshufw mm7,[0+edi*8],1
|
||||
|
||||
|
||||
pshufw mm2, mm1, byte 3
|
||||
pshufw mm3,[ebx],byte 2
|
||||
pshufw mm7,[0+edi*8],byte 1
|
||||
@ -349,9 +349,9 @@ arg_example2 arg2
|
||||
pinsrw mm1, [esi], byte 1
|
||||
pinsrw mm1, word [esi], byte 1
|
||||
|
||||
|
||||
|
||||
%endif ; oldmsg
|
||||
|
||||
|
||||
%ifdef oldcrash ;*************************************************************
|
||||
|
||||
This_label_is_256_characters_long__There_used_to_be_a_bug_in_stdscan_which_made_it_crash_when_it_did_a_keyword_search_on_any_label_longer_than_255_characters__Now_anything_longer_than_MAX_KEYWORD_is_always_a_symbol__It_will_not_even_try_a_keyword_search___
|
||||
|
@ -1,4 +1,4 @@
|
||||
;Testname=test; Arguments=-fbin -onull.bin; Files=stdout stderr null.bin
|
||||
;
|
||||
; A file that produces no output has been known to occationally crash NASM.
|
||||
; A file that produces no output has been known to occasionally crash NASM.
|
||||
;
|
||||
|
@ -180,7 +180,7 @@ with "golden" output files.
|
||||
testname should ideally describe the arguments, eg. unoptimized for -O0.
|
||||
arguments can be an optimization level (-O), an output format (-f),
|
||||
an output file specifier (-o) etc.
|
||||
The output files should be a space seperated list of files that will
|
||||
The output files should be a space separated list of files that will
|
||||
be checked for regressions. This should often be the output file
|
||||
and the special files stdout and stderr.
|
||||
|
||||
|
@ -283,7 +283,7 @@ while ( defined(my $arg = shift(@ARGV)) ) {
|
||||
} elsif ( $arg eq '-d' ) {
|
||||
$debug++;
|
||||
} elsif ( $arg eq '-M' ) {
|
||||
$mkmode = 1; # Futher filenames are output Makefile names
|
||||
$mkmode = 1; # Further filenames are output Makefile names
|
||||
} elsif ( $arg eq '--' && $mkmode ) {
|
||||
$mkmode = 0;
|
||||
} elsif ( $arg =~ /^-/ ) {
|
||||
|
@ -50,7 +50,7 @@ sub do_transform($$) {
|
||||
$l =~ s/\x03/$$h{'continuation'}/g;
|
||||
|
||||
if ($ps eq '') {
|
||||
# Remove the path separator and the preceeding directory
|
||||
# Remove the path separator and the preceding directory
|
||||
$l =~ s/[^\s\=]*\x02//g;
|
||||
} else {
|
||||
# Convert the path separator
|
||||
|
@ -1,6 +1,6 @@
|
||||
[
|
||||
{
|
||||
"description": "Test mov imm intruction (-Ox)",
|
||||
"description": "Test mov imm instruction (-Ox)",
|
||||
"id": "movimm",
|
||||
"format": "bin",
|
||||
"source": "movimm.asm",
|
||||
@ -11,7 +11,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "Test mov imm intruction (-O0)",
|
||||
"description": "Test mov imm instruction (-O0)",
|
||||
"ref": "movimm",
|
||||
"option": "-O0",
|
||||
"target": [
|
||||
|
@ -1,3 +1,3 @@
|
||||
;
|
||||
; A file that produces no output has been known to occationally crash NASM.
|
||||
; A file that produces no output has been known to occasionally crash NASM.
|
||||
;
|
||||
|
@ -1,3 +1,3 @@
|
||||
;
|
||||
; A file that produces no output has been known to occationally crash NASM.
|
||||
; A file that produces no output has been known to occasionally crash NASM.
|
||||
;
|
||||
|
@ -134,6 +134,6 @@ if_("IA64", "IA64 (in x86 mode)");
|
||||
# Must be the last CPU definition
|
||||
if_("ANY", "Any x86 CPU");
|
||||
|
||||
# These must come after the CPU defitions proper
|
||||
# These must come after the CPU definitions proper
|
||||
if_("CYRIX", "Cyrix-specific");
|
||||
if_("AMD", "AMD-specific");
|
||||
|
@ -108,7 +108,7 @@ sub if_end() {
|
||||
$iflag_words = $n_iflags >> 5;
|
||||
}
|
||||
|
||||
# The actual flags defintions
|
||||
# The actual flags definitions
|
||||
require 'x86/iflags.ph';
|
||||
if_end();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user