diff --git a/.gitignore b/.gitignore index a1f5be0..20cffe7 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,5 @@ nasm-2.08.01-xdoc.tar.bz2 /nasm-2.10.03-xdoc.tar.bz2 /nasm-2.10.07.tar.bz2 /nasm-2.10.07-xdoc.tar.bz2 +/nasm-2.10.09.tar.bz2 +/nasm-2.10.09-xdoc.tar.bz2 diff --git a/nasm-manpages.patch b/nasm-manpages.patch deleted file mode 100644 index 13ff442..0000000 --- a/nasm-manpages.patch +++ /dev/null @@ -1,1167 +0,0 @@ -From 01fea662b22875b8f94aa2ab5f836acf7b0378f1 Mon Sep 17 00:00:00 2001 -From: Cyrill Gorcunov -Date: Sun, 17 Feb 2013 22:50:19 +0400 -Subject: [PATCH] Generate manpages from asciidoc format - ---- - Makefile.in | 14 +- - configure.in | 4 +- - nasm.1 | 535 ----------------------------------------------------------- - nasm.txt | 303 +++++++++++++++++++++++++++++++++ - ndisasm.1 | 129 -------------- - ndisasm.txt | 94 +++++++++++ - 6 files changed, 410 insertions(+), 669 deletions(-) - delete mode 100644 nasm.1 - create mode 100644 nasm.txt - delete mode 100644 ndisasm.1 - create mode 100644 ndisasm.txt - -diff --git a/Makefile.in b/Makefile.in -index d7b4e22..46b7c00 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -31,6 +31,8 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_DATA = @INSTALL_DATA@ - - NROFF = @NROFF@ -+ASCIIDOC = @ASCIIDOC@ -+XMLTO = @XMLTO@ - - MKDIR = mkdir - RM = rm -@@ -47,7 +49,7 @@ ifeq ($(TRACE),1) - CFLAGS += -DNASM_TRACE - endif - --.SUFFIXES: .c .i .s .$(O) .1 .man -+.SUFFIXES: .c .i .s .$(O) .1 .txt .xml - - .PHONY: all doc rdf install clean distclean cleaner spotless install_rdf test - .PHONY: install_doc everything install_everything strip perlreq dist tags TAGS -@@ -61,8 +63,12 @@ endif - .c.i: - $(CC) -E $(ALL_CFLAGS) -o $@ $< - --.1.man: -- $(NROFF) -man $< > $@ -+.txt.xml: -+ $(ASCIIDOC) -b docbook -d manpage -o $@ $< -+ -+.xml.1: -+ $(XMLTO) man --skip-validation $< 2>/dev/null -+ - - #-- Begin File Lists --# - NASM = nasm.$(O) nasmlib.$(O) ver.$(O) \ -@@ -88,7 +94,7 @@ NDISASM = ndisasm.$(O) disasm.$(O) sync.$(O) nasmlib.$(O) ver.$(O) \ - insnsd.$(O) insnsb.$(O) insnsn.$(O) regs.$(O) regdis.$(O) - #-- End File Lists --# - --all: nasm$(X) ndisasm$(X) nasm.man ndisasm.man rdf -+all: nasm$(X) ndisasm$(X) nasm.1 ndisasm.1 rdf - - nasm$(X): $(NASM) $(XOBJS) - $(CC) $(LDFLAGS) -o nasm$(X) $(NASM) $(XOBJS) $(LIBS) -diff --git a/configure.in b/configure.in -index 8c6a429..da2154d 100644 ---- a/configure.in -+++ b/configure.in -@@ -67,7 +67,9 @@ PA_ADD_CFLAGS([-std=c99]) - PA_ADD_CFLAGS([-pedantic]) - - dnl Look for programs... --AC_CHECK_PROGS(NROFF, nroff, echo) -+AC_CHECK_PROGS(NROFF, nroff, false) -+AC_CHECK_PROGS(ASCIIDOC, asciidoc, false) -+AC_CHECK_PROGS(XMLTO, xmlto, false) - AC_CHECK_PROGS(ACRODIST, acrodist, false) - AC_CHECK_PROGS(PS2PDF, ps2pdf, false) - AC_CHECK_PROGS(PSTOPDF, pstopdf, false) -diff --git a/nasm.1 b/nasm.1 -deleted file mode 100644 -index bca0cd5..0000000 ---- a/nasm.1 -+++ /dev/null -@@ -1,535 +0,0 @@ --.TH NASM 1 "The Netwide Assembler Project" --.SH NAME --nasm \- the Netwide Assembler, a portable 80x86 assembler --.SH SYNOPSIS --.B nasm --[ --.B \-@ --response file --] [ --.B \-f --format --] [ --.B \-o --outfile --] [ --.B \-l --listfile --] [ --.IR options ... --] filename --.br --.B nasm \-h --.br --.B nasm \-v --.SH DESCRIPTION --The --.B nasm --command assembles the file --.I filename --and directs output to the file --.I outfile --if specified. If --.I outfile --is not specified, --.B nasm --will derive a default output file name from the name of its input --file, usually by appending `.o' or `.obj', or by removing all --extensions for a raw binary file. Failing that, the output file name --will be `nasm.out'. --.SS OPTIONS --.TP --.BI \-@ " filename" --Causes --.B nasm --to process options from --.I filename --as if they were included on the command line. --.TP --.B \-a --Causes --.B nasm --to assemble the given input file without first applying the macro --preprocessor. --.TP --.BI \-D " macro[=value]" --Pre-defines a single-line macro. --.TP --.BI \-d " macro[=value]" --Same as the --.B \-D --option. --.TP --.B \-e --Causes --.B nasm --to preprocess the given input file, and write the output to --.I stdout --(or the specified output file name), and not actually assemble --anything. --.TP --.BI \-f " format" --Specifies the output file format. To see a list of valid output --formats, use the --.B -hf --option. --.TP --.B \-g --Causes --.B nasm --to generate debug information in selected format --.TP --.B \-h --Causes --.B nasm --to exit immediately, after giving a summary of its invocation --options. --.TP --.B \-hf --Same as --.B -h --, but also lists all valid output formats. --.TP --.BI \-I " directory" --Adds a directory to the search path for include files. The directory --specification must include the trailing slash, as it will be --directly prepended to the name of the include file. --.TP --.BI \-i " directory" --Same as the --.B \-I --option. --.TP --.BI \-l " listfile" --Causes an assembly listing to be directed to the given file, in --which the original source is displayed on the right hand side (plus --the source for included files and the expansions of multi-line --macros) and the generated code is shown in hex on the left. --.TP --.B \-M --Causes --.B nasm --to output Makefile-style dependencies to stdout; normal output is --suppressed. --.TP --.BI \-MG " file" --Same as --.B \-M --but assumes that missing Makefile dependecies are generated and added --to dependency list without a prefix. --.TP --.BI \-MF " file" --Output Makefile-style dependencies to the specified file. --.TP --.BI \-MD " file" --Same as a combination of --.B \-M --and --.B \-MF --options. --.TP --.BI \-MT " file" --Override the default name of the dependency target --dependency target name. This is normally the same --as the output filename, specified by the --.B \-o --option. --.TP --.BI \-MQ " file" --The same as --.B \-MT --except it tries to quote characters that have special --meaning in Makefile syntax. This is not foolproof, --as not all characters with special meaning are quotable --in Make. --.TP --.BI \-MP --Emit phony target --.TP --.BI \-O " number" --Optimize branch offsets. --.ti --.B \-O0 --:No optimization --.ti --.B \-O1 --:Minimal optimization --.ti --.B \-Ox --:Multipass optimization (default) --.TP --.BI \-o " outfile" --Specifies a precise name for the output file, overriding --.BR nasm 's --default means of determining it. --.TP --.BI \-P " file" --Specifies a file to be pre-included, before the main source file --starts to be processed. --.TP --.BI \-p " file" --Same as the --.B \-P --option. --.TP --.BI \-r --Causes --.B nasm --to exit immediately, after displaying its version number. --.I (obsolete) --.TP --.B \-s --Causes --.B nasm --to send its error messages and/or help text to --.I stdout --instead of --.IR stderr . --.TP --.B \-t --Causes --.B nasm --to assemble in SciTech TASM compatible mode --.TP --.BI \-U " macro" --Undefines a single-line macro. --.TP --.BI \-u " macro" --Same as the --.B \-U --option. --.TP --.BI \-v --Causes --.B nasm --to exit immediately, after displaying its version number. --.TP --.BI \-w [+-]foo --Causes --.B nasm --to enable or disable certain classes of warning messages, for --example --.B \-w+orphan-labels --or --.B \-w-macro-params --.TP --.BI \-X " format" --specifies error reporting format (gnu or vc). --.TP --.BI \-Z " filename" --Causes --.B nasm --to redirect error messages to --.IR filename . --This option exists to support operating systems on which stderr is not --easily redirected. --.TP --.BI \-\-prefix --.TP --.BI \-\-postfix --Prepend or append (respectively) the given argument to all --global or extern variables. --.PP --.RE --.SS SYNTAX --This man page does not fully describe the syntax of --.BR nasm 's --assembly language, but does give a summary of the differences from --other assemblers. --.PP --.I Registers --have no leading `%' sign, unlike --.BR gas , --and floating-point stack registers are referred to as --.IR st0 , --.IR st1 , --and so on. --.PP --.I Floating-point instructions --may use either the single-operand form or the double. A --.I TO --keyword is provided; thus, one could either write --.PP --.ti +15n --fadd st0,st1 --.br --.ti +15n --fadd st1,st0 --.PP --or one could use the alternative single-operand forms --.PP --.ti +15n --fadd st1 --.br --.ti +15n --fadd to st1 --.PP --.I Uninitialised storage --is reserved using the --.IR RESB , --.IR RESW , --.IR RESD , --.IR RESQ , --.I REST --and --.I RESO --pseudo-opcodes, each taking one parameter which gives the number of --bytes, words, doublewords, quadwords or ten-byte words to reserve. --.PP --.I Repetition --of data items is not done by the --.I DUP --keyword as seen in DOS assemblers, but by the use of the --.I TIMES --prefix, like this: --.PP --.ti +6n --.ta 9n --message: times 3 db 'abc' --.br --.ti +15n --times 64-$+message db 0 --.PP --which defines the string `abcabcabc', followed by the right number --of zero bytes to make the total length up to 64 bytes. --.PP --.I Symbol references --are always understood to be immediate (i.e. the address of the --symbol), unless square brackets are used, in which case the contents --of the memory location are used. Thus: --.PP --.ti +15n --mov ax,wordvar --.PP --loads AX with the address of the variable `wordvar', whereas --.PP --.ti +15n --mov ax,[wordvar] --.br --.ti +15n --mov ax,[wordvar+1] --.br --.ti +15n --mov ax,[es:wordvar+bx] --.PP --all refer to the --.I contents --of memory locations. The syntaxes --.PP --.ti +15n --mov ax,es:wordvar[bx] --.br --.ti +15n --es mov ax,wordvar[1] --.PP --are not legal at all, although the use of a segment register name as --an instruction prefix is valid, and can be used with instructions --such as --.I LODSB --which can't be overridden any other way. --.PP --.I Constants --may be expressed numerically in most formats: a trailing H, Q or B --denotes hex, octal or binary respectively, and a leading `0x' or `$' --denotes hex as well. Leading zeros are not treated specially at all. --Character constants may be enclosed in single or double quotes; --there is no escape character. The ordering is little-endian --(reversed), so that the character constant --.I 'abcd' --denotes 0x64636261 and not 0x61626364. --.PP --.I Local labels --begin with a period, and their `locality' is granted by the --assembler prepending the name of the previous non-local symbol. Thus --declaring a label `.loop' after a label `label' has actually defined --a symbol called `label.loop'. --.SS DIRECTIVES --.I SECTION name --or --.I SEGMENT name --causes --.B nasm --to direct all following code to the named section. Section names --vary with output file format, although most formats support the --names --.IR .text , --.I .data --and --.IR .bss . --(The exception is the --.I obj --format, in which all segments are user-definable.) --.PP --.I ABSOLUTE address --causes --.B nasm --to position its notional assembly point at an absolute address: so --no code or data may be generated, but you can use --.IR RESB , --.I RESW --and --.I RESD --to move the assembly point further on, and you can define labels. So --this directive may be used to define data structures. When you have --finished doing absolute assembly, you must issue another --.I SECTION --directive to return to normal assembly. --.PP --.I BITS 16, --.I BITS 32 --or --.I BITS 64 --switches the default processor mode for which --.B nasm --is generating code: it is equivalent to --.I USE16 --or --.I USE32 --in DOS assemblers. --.PP --.I EXTERN symbol --and --.I GLOBAL symbol --import and export symbol definitions, respectively, from and to --other modules. Note that the --.I GLOBAL --directive must appear before the definition of the symbol it refers --to. --.PP --.I STRUC strucname --and --.IR ENDSTRUC , --when used to bracket a number of --.IR RESB , --.I RESW --or similar instructions, define a data structure. In addition to --defining the offsets of the structure members, the construct also --defines a symbol for the size of the structure, which is simply the --structure name with --.I _size --tacked on to the end. --.SS FORMAT-SPECIFIC DIRECTIVES --.I ORG address --is used by the --.I bin --flat-form binary output format, and specifies the address at which --the output code will eventually be loaded. --.PP --.I GROUP grpname seg1 seg2... --is used by the --.I obj --(Microsoft 16-bit) output format, and defines segment groups. This --format also uses --.IR UPPERCASE , --which directs that all segment, group and symbol names output to the --object file should be in uppercase. Note that the actual assembly is --still case sensitive. --.PP --.I LIBRARY libname --is used by the --.I rdf --output format, and causes a dependency record to be written to the --output file which indicates that the program requires a certain --library in order to run. --.SS MACRO PREPROCESSOR --Single-line macros are defined using the --.I %define --or --.I %idefine --commands, in a similar fashion to the C preprocessor. They can be --overloaded with respect to number of parameters, although defining a --macro with no parameters prevents the definition of any macro with --the same name taking parameters, and vice versa. --.I %define --defines macros whose names match case-sensitively, whereas --.I %idefine --defines case-insensitive macros. --.PP --Multi-line macros are defined using --.I %macro --and --.I %imacro --(the distinction is the same as that between --.I %define --and --.IR %idefine ), --whose syntax is as follows: --.PP --.ti +6n --%macro --.I name --.IR minprm [- maxprm "][+][.nolist] [" defaults ] --.br --.ti +15n -- --.br --.ti +6n --%endmacro --.PP --Again, these macros may be overloaded. The trailing plus sign --indicates that any parameters after the last one get subsumed, with --their separating commas, into the last parameter. The --.I defaults --part can be used to specify defaults for unspecified macro --parameters after --.IR minparam . --.I %endm --is a valid synonym for --.IR %endmacro . --.PP --To refer to the macro parameters within a macro expansion, you use --.IR %1 , --.I %2 --and so on. You can also enforce that a macro parameter should --contain a condition code by using --.IR %+1 , --and you can invert the condition code by using --.IR %-1 . --You can also define a label specific to a macro invocation by --prefixing it with a double % sign. --.PP --Files can be included using the --.I %include --directive, which works like C. --.PP --The preprocessor has a `context stack', which may be used by one --macro to store information that a later one will retrieve. You can --push a context on the stack using --.IR %push , --remove one using --.IR %pop , --and change the name of the top context (without disturbing any --associated definitions) using --.IR %repl . --Labels and --.I %define --macros specific to the top context may be defined by prefixing their --names with %$, and things specific to the next context down with --%$$, and so on. --.PP --Conditional assembly is done by means of --.IR %ifdef , --.IR %ifndef , --.I %else --and --.I %endif --as in C. (Except that --.I %ifdef --can accept several putative macro names, and will evaluate TRUE if --any of them is defined.) In addition, the directives --.I %ifctx --and --.I %ifnctx --can be used to condition on the name of the top context on the --context stack. The obvious set of `else-if' directives, --.IR %elifdef , --.IR %elifndef , --.IR %elifctx --and --.IR %elifnctx --are also supported. --.SH BUGS --Please report bugs through the bug tracker function at http://nasm.sourceforge.org. --.SH SEE ALSO --.BR as "(" 1 ")," --.BR ld "(" 1 ")." -diff --git a/nasm.txt b/nasm.txt -new file mode 100644 -index 0000000..55f9a05 ---- /dev/null -+++ b/nasm.txt -@@ -0,0 +1,303 @@ -+nasm(1) -+======= -+:doctype: manpage -+:man source: NASM -+:man manual: The Netwide Assembler Project -+ -+NAME -+---- -+nasm - the Netwide Assembler, a portable 80x86 assembler -+ -+SYNOPSIS -+-------- -+*nasm* [*-@* response file] [*-f* format] [*-o* outfile] [*-l* listfile] ['options'...] filename -+ -+DESCRIPTION -+----------- -+The *nasm* command assembles the file 'filename' and directs output to the file -+'outfile' if specified. If 'outfile' is not specified, *nasm* will derive a default -+output file name from the name of its input file, usually by appending `.o' or -+`.obj', or by removing all extensions for a raw binary file. Failing that, the -+output file name will be `nasm.out'. -+ -+OPTIONS -+------- -+*-@* 'filename':: -+ Causes *nasm* to process options from filename as if they were included on -+ the command line. -+ -+*-a*:: -+ Causes *nasm* to assemble the given input file without first applying the -+ macro preprocessor. -+ -+*-D*|*-d* 'macro[=value]':: -+ Pre-defines a single-line macro. -+ -+*-E*|*-e*:: -+ Causes *nasm* to preprocess the given input file, and write the output to -+ 'stdout' (or the specified output file name), and not actually assemble -+ anything. -+ -+*-f* 'format':: -+ Specifies the output file format. To see a list of valid output formats, -+ use the *-hf* option. -+ -+*-F* 'format':: -+ Specifies the debug information format. To see a list of valid output -+ formats, use the *-y* option (for example *-felf -y*). -+ -+*-g*:: -+ Causes *nasm* to generate debug information in selected format. -+ -+*-h*:: -+ Causes *nasm* to exit immediately, after giving a summary of its -+ invocation options. -+ -+*-hf*:: -+ Same as *-h* , but also lists all valid output formats. -+ -+*-I*|*-i* 'directory':: -+ Adds a directory to the search path for include files. The directory -+ specification must include the trailing slash, as it will be directly -+ prepended to the name of the include file. -+ -+*-l* 'listfile':: -+ Causes an assembly listing to be directed to the given file, in which -+ the original source is displayed on the right hand side (plus the source -+ for included files and the expansions of multi-line macros) and the -+ generated code is shown in hex on the left. -+ -+*-M*:: -+ Causes *nasm* to output Makefile-style dependencies to stdout; normal -+ output is suppressed. -+ -+*-MG* 'file':: -+ Same as *-M* but assumes that missing Makefile dependecies are generated -+ and added to dependency list without a prefix. -+ -+*-MF* 'file':: -+ Output Makefile-style dependencies to the specified file. -+ -+*-MD* 'file':: -+ Same as a combination of *-M* and *-MF* options. -+ -+*-MT* 'file':: -+ Override the default name of the dependency target dependency target name. -+ This is normally the same as the output filename, specified by -+ the *-o* option. -+ -+*-MQ* 'file':: -+ The same as *-MT* except it tries to quote characters that have special -+ meaning in Makefile syntax. This is not foolproof, as not all characters -+ with special meaning are quotable in Make. -+ -+*-MP*:: -+ Emit phony target. -+ -+*-O* 'number':: -+ Optimize branch offsets. -+ * *-O0*: No optimization -+ * *-O1*: Minimal optimization -+ * *-Ox*: Multipass optimization (default) -+ -+*-o* 'outfile':: -+ Specifies a precise name for the output file, overriding *nasm*'s default -+ means of determining it. -+ -+*-P*|*-p* 'file':: -+ Specifies a file to be pre-included, before the main source file -+ starts to be processed. -+ -+*-s*:: -+ Causes *nasm* to send its error messages and/or help text to stdout -+ instead of stderr. -+ -+*-t*:: -+ Causes *nasm* to assemble in SciTech TASM compatible mode. -+ -+*-U*|*-u* 'macro':: -+ Undefines a single-line macro. -+ -+*-v*:: -+ Causes *nasm* to exit immediately, after displaying its version number. -+ -+*-W[no-]foo':: -+ Causes *nasm* to enable or disable certain classes of warning messages, -+ in gcc-like style, for example *-Worphan-labels* or *-Wno-orphan-labels*. -+ -+*-w*'[+-]foo':: -+ Causes *nasm* to enable or disable certain classes of warning messages, -+ for example *-w+orphan-labels* or *-w-macro-params*. -+ -+*-X* 'format':: -+ Specifies error reporting format (gnu or vc). -+ -+*-y*:: -+ Causes *nasm* to list supported debug formats. -+ -+*-Z* 'filename':: -+ Causes *nasm* to redirect error messages to 'filename'. This option exists -+ to support operating systems on which stderr is not easily redirected. -+ -+--prefix:: -+--postfix:: -+ Prepend or append (respectively) the given argument to all global or -+ extern variables. -+ -+SYNTAX -+------ -+This man page does not fully describe the syntax of *nasm*'s assembly language, -+but does give a summary of the differences from other assemblers. -+ -+'Registers' have no leading `%' sign, unlike *gas*, and floating-point stack -+registers are referred to as 'st0', 'st1', and so on. -+ -+'Floating-point instructions' may use either the single-operand form or the -+double. A 'TO' keyword is provided; thus, one could either write -+ -+ fadd st0,st1 -+ fadd st1,st0 -+ -+or one could use the alternative single-operand forms -+ -+ fadd st1 -+ fadd to st1 -+ -+'Uninitialised storage' is reserved using the 'RESB', 'RESW', 'RESD', 'RESQ', -+'REST' and 'RESO' pseudo-opcodes, each taking one parameter which gives the -+number of bytes, words, doublewords, quadwords or ten-byte words to reserve. -+ -+'Repetition' of data items is not done by the 'DUP' keyword as seen in DOS -+assemblers, but by the use of the 'TIMES' prefix, like this: -+ -+ message: times 3 db 'abc' -+ times 64-$+message db 0 -+ -+which defines the string `abcabcabc`, followed by the right number of zero -+bytes to make the total length up to 64 bytes. -+ -+'Symbol references' are always understood to be immediate (i.e. the address -+of the symbol), unless square brackets are used, in which case the contents -+of the memory location are used. Thus: -+ -+ mov ax,wordvar -+ -+loads AX with the address of the variable `wordvar`, whereas -+ -+ mov ax,[wordvar] -+ mov ax,[wordvar+1] -+ mov ax,[es:wordvar+bx] -+ -+all refer to the 'contents' of memory locations. The syntaxes -+ -+ mov ax,es:wordvar[bx] -+ es mov ax,wordvar[1] -+ -+are not legal at all, although the use of a segment register name as an instruction -+prefix is valid, and can be used with instructions such as 'LODSB' which can't -+be overridden any other way. -+ -+'Constants' may be expressed numerically in most formats: a trailing H, Q or -+B denotes hex, octal or binary respectively, and a leading `0x' or `$' denotes -+hex as well. Leading zeros are not treated specially at all. Character constants -+may be enclosed in single or double quotes; there is no escape character. The -+ordering is little-endian (reversed), so that the character constant ''abcd'' -+denotes 0x64636261 and not 0x61626364. -+ -+Local labels begin with a period, and their `locality' is granted by the assembler -+prepending the name of the previous non-local symbol. Thus declaring a label -+`.loop' after a label `label' has actually defined a symbol called `label.loop'. -+ -+DIRECTIVES -+---------- -+'SECTION' 'name' or 'SEGMENT' 'name' causes *nasm* to direct all following code -+to the named section. Section names vary with output file format, although most -+formats support the names '.text', '.data' and '.bss'. (The exception is the -+'obj' format, in which all segments are user-definable.) -+ -+'ABSOLUTE' 'address' causes *nasm* to position its notional assembly point at -+an absolute address: so no code or data may be generated, but you can use 'RESB', -+'RESW' and 'RESD' to move the assembly point further on, and you can define labels. -+So this directive may be used to define data structures. When you have finished -+doing absolute assembly, you must issue another 'SECTION' directive to return to -+normal assembly. -+ -+'BITS' '16', 'BITS' '32' or 'BITS' '64' switches the default processor mode for -+which *nasm* is generating code: it is equivalent to 'USE16' or 'USE32' in DOS -+assemblers. -+ -+'EXTERN' 'symbol' and 'GLOBAL' 'symbol' import and export symbol definitions, -+respectively, from and to other modules. Note that the 'GLOBAL' directive must -+appear before the definition of the symbol it refers to. -+ -+'STRUC' 'strucname' and 'ENDSTRUC', when used to bracket a number of 'RESB', -+'RESW' or similar instructions, define a data structure. In addition to -+defining the offsets of the structure members, the construct also defines a symbol -+for the size of the structure, which is simply the structure name with 'size' -+tacked on to the end. -+ -+FORMAT-SPECIFIC DIRECTIVES -+-------------------------- -+'ORG' 'address' is used by the 'bin' flat-form binary output format, and -+specifies the address at which the output code will eventually be loaded. -+ -+'GROUP' 'grpname' 'seg1' 'seg2'... is used by the obj (Microsoft 16-bit) -+output format, and defines segment groups. This format also uses 'UPPERCASE', -+which directs that all segment, group and symbol names output to the object -+file should be in uppercase. Note that the actual assembly is still case -+sensitive. -+ -+'LIBRARY' 'libname' is used by the 'rdf' output format, and causes a -+dependency record to be written to the output file which indicates that -+the program requires a certain library in order to run. -+ -+MACRO PREPROCESSOR -+------------------ -+Single-line macros are defined using the '%define' or '%idefine' commands, in -+a similar fashion to the C preprocessor. They can be overloaded with respect -+to number of parameters, although defining a macro with no parameters prevents -+the definition of any macro with the same name taking parameters, and vice versa. -+'%define' defines macros whose names match case-sensitively, whereas '%idefine' -+defines case-insensitive macros. -+ -+Multi-line macros are defined using '%macro' and '%imacro' (the distinction is the -+same as that between '%define' and '%idefine'), whose syntax is as follows -+ -+ %macro name minprm[-maxprm][+][.nolist] [defaults] -+ -+ %endmacro -+ -+Again, these macros may be overloaded. The trailing plus sign indicates that -+any parameters after the last one get subsumed, with their separating commas, -+into the last parameter. The 'defaults' part can be used to specify defaults for -+unspecified macro parameters after 'minparam'. '%endm' is a valid synonym for -+'%endmacro'. -+ -+To refer to the macro parameters within a macro expansion, you use '%1', '%2' and -+so on. You can also enforce that a macro parameter should contain a condition -+code by using '%+1', and you can invert the condition code by using '%-1'. You can also -+define a label specific to a macro invocation by prefixing it with a double `%' sign. -+ -+Files can be included using the '%include' directive, which works like C. -+ -+The preprocessor has a `context stack', which may be used by one macro to store -+information that a later one will retrieve. You can push a context on the stack -+using '%push', remove one using '%pop', and change the name of the top context (without -+disturbing any associated definitions) using '%repl'. Labels and '%define' macros -+specific to the top context may be defined by prefixing their names with %$, -+and things specific to the next context down with %$$, and so on. -+ -+Conditional assembly is done by means of '%ifdef', '%ifndef', '%else' and '%endif' -+as in C. (Except that '%ifdef' can accept several putative macro names, and -+will evaluate TRUE if any of them is defined.) In addition, the directives -+'%ifctx' and '%ifnctx' can be used to condition on the name of the top context -+on the context stack. The obvious set of `else-if' directives, '%elifdef', -+'%elifndef', '%elifctx' and '%elifnctx' are also supported. -+ -+BUGS -+---- -+Please report bugs through the bug tracker function at http://nasm.us. -+ -+SEE ALSO -+-------- -+*as*(1), *ld*(1). -diff --git a/ndisasm.1 b/ndisasm.1 -deleted file mode 100644 -index 622500f..0000000 ---- a/ndisasm.1 -+++ /dev/null -@@ -1,129 +0,0 @@ --.\" --.\" This file is part of NASM and is released under the NASM License. --.\" --.TH NDISASM 1 "The Netwide Assembler Project" --.SH NAME --ndisasm \- the Netwide Disassembler, an 80x86 binary file disassembler --.SH SYNOPSIS --.B ndisasm --[ --.B \-o --origin --] [ --.B \-s --sync-point [...]] --[ --.B \-a --| --.B \-i --] [ --.B \-b --bits --] [ --.B -u --] [ --.B \-e --hdrlen --] [ --.B \-k --offset,length [...]] --infile --.br --.B ndisasm \-h --.br --.B ndisasm \-r --.SH DESCRIPTION --The --.B ndisasm --command generates a disassembly listing of the binary file --.I infile --and directs it to stdout. --.SS OPTIONS --.TP --.B \-h --Causes --.B ndisasm --to exit immediately, after giving a summary of its invocation --options. --.TP --.BI \-r --Causes --.B ndisasm --to exit immediately, after displaying its version number. --.TP --.BI \-o " origin" --Specifies the notional load address for the file. This option causes --.B ndisasm --to get the addresses it lists down the left hand margin, and the --target addresses of PC-relative jumps and calls, right. --.TP --.BI \-s " sync-point" --Manually specifies a synchronisation address, such that --.B ndisasm --will not output any machine instruction which encompasses bytes on --both sides of the address. Hence the instruction which --.I starts --at that address will be correctly disassembled. --.TP --.BI \-e " hdrlen" --Specifies a number of bytes to discard from the beginning of the --file before starting disassembly. This does not count towards the --calculation of the disassembly offset: the first --.I disassembled --instruction will be shown starting at the given load address. --.TP --.BI \-k " offset,length" --Specifies that --.I length --bytes, starting from disassembly offset --.IR offset , --should be skipped over without generating any output. The skipped --bytes still count towards the calculation of the disassembly offset. --.TP --.BR \-a " or " \-i --Enables automatic (or intelligent) sync mode, in which --.B ndisasm --will attempt to guess where synchronisation should be performed, by --means of examining the target addresses of the relative jumps and --calls it disassembles. --.TP --.BI \-b " bits" --Specifies 16-, 32- or 64-bit mode. The default is 16-bit mode. --.TP --.B \-u --Specifies 32-bit mode, more compactly than using `-b 32'. --.TP --.BI \-p " vendor" --Prefers instructions as defined by --.I vendor --in case of a conflict. Known --.I vendor --names include --.BR intel , --.BR amd , --.BR cyrix , --and --.BR idt . --The default is --.BR intel . --.PP --.RE --.SH RESTRICTIONS --.B ndisasm --only disassembles binary files: it has no understanding of the --header information present in object or executable files. If you --want to disassemble an object file, you should probably be using --.BR objdump "(" 1 ")." --.PP --Auto-sync mode won't necessarily cure all your synchronisation --problems: a sync marker can only be placed automatically if a jump --or call instruction is found to refer to it --.I before --.B ndisasm --actually disassembles that part of the code. Also, if spurious jumps --or calls result from disassembling non-machine-code data, sync --markers may get placed in strange places. Feel free to turn --auto-sync off and go back to doing it manually if necessary. --.PP --.SH SEE ALSO --.BR objdump "(" 1 ")." -diff --git a/ndisasm.txt b/ndisasm.txt -new file mode 100644 -index 0000000..eaccfe4 ---- /dev/null -+++ b/ndisasm.txt -@@ -0,0 +1,94 @@ -+ndisasm(1) -+========== -+:doctype: manpage -+:man source: NASM -+:man manual: The Netwide Assembler Project -+ -+NAME -+---- -+ndisasm - the Netwide Disassembler, an 80x86 binary file disassembler -+ -+SYNOPSIS -+-------- -+*ndisasm* [ *-o* origin ] [ *-s* sync-point [...]] [ *-a* | *-i* ] -+ [ *-b* bits ] [ *-u* ] [ *-e* hdrlen ] [ *-p* vendor ] -+ [ *-k* offset,length [...]] infile -+ -+DESCRIPTION -+----------- -+The *ndisasm* command generates a disassembly listing of the binary file -+infile and directs it to stdout. -+ -+OPTIONS -+------- -+*-h*:: -+ Causes *ndisasm* to exit immediately, after giving a summary -+ of its invocation options. -+ -+*-r*|*-v*:: -+ Causes *ndisasm* to exit immediately, after displaying its -+ version number. -+ -+*-o* 'origin':: -+ Specifies the notional load address for the file. This -+ option causes *ndisasm* to get the addresses it lists -+ down the left hand margin, and the target addresses -+ of PC-relative jumps and calls, right. -+ -+*-s* 'sync-point':: -+ Manually specifies a synchronisation address, such that -+ *ndisasm* will not output any machine instruction which -+ encompasses bytes on both sides of the address. Hence -+ the instruction which starts at that address will be -+ correctly disassembled. -+ -+*-e* 'hdrlen':: -+ Specifies a number of bytes to discard from the beginning -+ of the file before starting disassembly. This does not -+ count towards the calculation of the disassembly offset: -+ the first 'disassembled' instruction will be shown starting -+ at the given load address. -+ -+*-k* 'offset,length':: -+ Specifies that 'length' bytes, starting from disassembly -+ offset 'offset', should be skipped over without generating -+ any output. The skipped bytes still count towards the -+ calculation of the disassembly offset. -+ -+*-a*|*-i*:: -+ Enables automatic (or intelligent) sync mode, in which -+ *ndisasm* will attempt to guess where synchronisation should -+ be performed, by means of examining the target addresses -+ of the relative jumps and calls it disassembles. -+ -+*-b* 'bits':: -+ Specifies 16-, 32- or 64-bit mode. The default is 16-bit -+ mode. -+ -+*-u*:: -+ Specifies 32-bit mode, more compactly than using `-b 32'. -+ -+*-p* 'vendor':: -+ Prefers instructions as defined by 'vendor' in case of -+ a conflict. Known 'vendor' names include *intel*, *amd*, -+ *cyrix*, and *idt*. The default is *intel*. -+ -+RESTRICTIONS -+------------ -+*ndisasm* only disassembles binary files: it has no understanding of -+the header information present in object or executable files. -+If you want to disassemble an object file, you should probably -+be using *objdump*(1). -+ -+Auto-sync mode won't necessarily cure all your synchronisation -+problems: a sync marker can only be placed automatically if a -+jump or call instruction is found to refer to it 'before' -+*ndisasm* actually disassembles that part of the code. Also, -+if spurious jumps or calls result from disassembling -+non-machine-code data, sync markers may get placed in strange -+places. Feel free to turn auto-sync off and go back to doing -+it manually if necessary. -+ -+SEE ALSO -+-------- -+*objdump*(1) --- -1.8.1.4 - diff --git a/nasm.spec b/nasm.spec index a00020d..076fa49 100644 --- a/nasm.spec +++ b/nasm.spec @@ -1,12 +1,11 @@ Summary: A portable x86 assembler which uses Intel-like syntax Name: nasm -Version: 2.10.07 -Release: 6%{?dist} +Version: 2.10.09 +Release: 1%{?dist} License: BSD URL: http://www.nasm.us Source0: http://www.nasm.us/pub/nasm/releasebuilds/%{version}/%{name}-%{version}.tar.bz2 Source1: http://www.nasm.us/pub/nasm/releasebuilds/%{version}/%{name}-%{version}-xdoc.tar.bz2 -Patch1: %{name}-manpages.patch BuildRequires: perl(Env) BuildRequires: autoconf BuildRequires: asciidoc @@ -41,7 +40,6 @@ include linker, library manager, loader, and information dump. %prep %setup -q tar xjf %{SOURCE1} --strip-components 1 -%patch1 -p1 %build autoreconf @@ -91,6 +89,9 @@ fi %{_mandir}/man1/ld* %changelog +* Thu Sep 12 2013 Mikolaj Izdebski - 2.10.09-1 +- Update to upstream version 2.10.09 + * Sat Aug 03 2013 Fedora Release Engineering - 2.10.07-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild diff --git a/sources b/sources index 39d5baf..62fc316 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -af1cd6669f5e98148cd5ec42dee90f19 nasm-2.10.07.tar.bz2 -721b5b6ec08f510dd3bd15ed18ce89d4 nasm-2.10.07-xdoc.tar.bz2 +0e45ca0d3d7ff36d503777eaa673e2ae nasm-2.10.09.tar.bz2 +b42d2c6661437fa112542d74c2e57d42 nasm-2.10.09-xdoc.tar.bz2