summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MODIFIED11
-rw-r--r--Mkfiles/Makefile.bc248
-rw-r--r--Mkfiles/Makefile.bor44
-rw-r--r--Mkfiles/Makefile.dj48
-rw-r--r--Mkfiles/Makefile.djo187
-rw-r--r--Mkfiles/Makefile.dos44
-rw-r--r--Mkfiles/Makefile.lcc48
-rw-r--r--Mkfiles/Makefile.sc44
-rw-r--r--Mkfiles/Makefile.scw44
-rw-r--r--Mkfiles/Makefile.unx48
-rw-r--r--Mkfiles/Makefile.vc44
-rw-r--r--Mkfiles/Makefile.wc40
-rw-r--r--Mkfiles/Makefile.wcw40
-rw-r--r--changes.asm32
-rw-r--r--insns.pl7
-rw-r--r--nasm.h2
-rw-r--r--rdoff/Makefile.sc111
17 files changed, 518 insertions, 324 deletions
diff --git a/MODIFIED b/MODIFIED
index 4e7b5ab..60a49e0 100644
--- a/MODIFIED
+++ b/MODIFIED
@@ -2,11 +2,20 @@ This is a modified version of NASM, modified and released by H. Peter
Anvin <hpa@zytor.com>; it is not the original form released by the
NASM authors.
+For release 0.98p3.4:
+
+* Made at least an attempt to modify all the additional Makefiles (in
+ the Mkfiles directory). I can't test it, but this was the best I
+ could do.
+* DOS DJGPP+"Opus Make" Makefile from John S. Fine.
+* changes.asm changes from John S. Fine.
+
+
For release 0.98p3.3:
* Patch from Conan Brink to allow nesting of %rep directives.
* If we're going to allow INT01 as an alias for INT1/ICEBP (one of
- John's J4 changes), then we should allow INT03 as an alias for INT3
+ Jules 0.98p3 changes), then we should allow INT03 as an alias for INT3
as well.
* Updated changes.asm to include the latest changes.
* Tried to clean up the <CR>s that had snuck in from a DOS/Windows
diff --git a/Mkfiles/Makefile.bc2 b/Mkfiles/Makefile.bc2
index 92ec9d2..0e8961a 100644
--- a/Mkfiles/Makefile.bc2
+++ b/Mkfiles/Makefile.bc2
@@ -13,7 +13,7 @@
# over.
#
# It does show a few of my preferances, like putting the OBJ files
-# in a seperat directory, but if you just set OBJD to '.', it will
+# in a seperate directory, but if you just set OBJD to '.', it will
# drop them all in the current directory (though you still need to
# make the directory it's self).
#
@@ -138,50 +138,50 @@ ndisasm$(EXE): $(NDISASMOBJS)
################################################################
# Dependencies for all of NASM's obj files
-$(OBJD)assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
+$(OBJD)assemble.$(OBJ): assemble.c nasm.h insnsi.h assemble.h insns.h
$(NASM_ASM)
-$(OBJD)float.$(OBJ): float.c nasm.h
+$(OBJD)float.$(OBJ): float.c nasm.h insnsi.h
$(NASM_ASM)
-$(OBJD)labels.$(OBJ): labels.c nasm.h nasmlib.h
+$(OBJD)labels.$(OBJ): labels.c nasm.h insnsi.h nasmlib.h
$(NASM_ASM)
-$(OBJD)listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
+$(OBJD)listing.$(OBJ): listing.c nasm.h insnsi.h nasmlib.h listing.h
$(NASM_ASM)
-$(OBJD)eval.$(OBJ): eval.c nasm.h nasmlib.h eval.h
+$(OBJD)eval.$(OBJ): eval.c nasm.h insnsi.h nasmlib.h eval.h
$(NASM_ASM)
-$(OBJD)nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+$(OBJD)nasm.$(OBJ): nasm.c nasm.h insnsi.h nasmlib.h parser.h assemble.h labels.h \
listing.h outform.h
$(NASM_ASM)
-$(OBJD)nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
+$(OBJD)nasmlib.$(OBJ): nasmlib.c nasm.h insnsi.h nasmlib.h
$(NASM_ASM)
-$(OBJD)parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
+$(OBJD)parser.$(OBJ): parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
$(NASM_ASM)
-$(OBJD)preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+$(OBJD)preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h insnsi.h nasmlib.h
$(NASM_ASM)
-$(OBJD)insnsa.$(OBJ): insnsa.c nasm.h insns.h
+$(OBJD)insnsa.$(OBJ): insnsa.c nasm.h insnsi.h insns.h
$(NASM_ASM)
################################################################
# Dependencies for all of NDISASM's obj files
-$(OBJD)disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
+$(OBJD)disasm.$(OBJ): disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
$(DASM_ASM)
-$(OBJD)ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
+$(OBJD)ndisasm.$(OBJ): ndisasm.c nasm.h insnsi.h sync.h disasm.h
$(DASM_ASM)
$(OBJD)sync.$(OBJ): sync.c sync.h
$(DASM_ASM)
-$(OBJD)insnsd.$(OBJ): insnsd.c nasm.h insns.h
+$(OBJD)insnsd.$(OBJ): insnsd.c nasm.h insnsi.h insns.h
$(DASM_ASM)
# This is a kludge from the word go, as we can't use the nasmlib.obj compiled
@@ -194,37 +194,37 @@ $(OBJD)insnsd.$(OBJ): insnsd.c nasm.h insns.h
# the -o... switch tells it the name to compile the obj file to, right here
# $(OBJD)nasmlibd.obj
-$(OBJD)nasmlibd.$(OBJ): nasmlib.c nasm.h nasmlib.h
+$(OBJD)nasmlibd.$(OBJ): nasmlib.c nasm.h insnsi.h nasmlib.h
$(CC) $(DCCFLAGS) -o$(OBJD)nasmlibd.obj nasmlib.c
################################################################
# Dependencies for all of the output format's OBJ files
-$(OBJD)outas86.$(OBJ): outas86.c nasm.h nasmlib.h
+$(OBJD)outas86.$(OBJ): outas86.c nasm.h insnsi.h nasmlib.h
$(NASM_ASM)
-$(OBJD)outaout.$(OBJ): outaout.c nasm.h nasmlib.h
+$(OBJD)outaout.$(OBJ): outaout.c nasm.h insnsi.h nasmlib.h
$(NASM_ASM)
-$(OBJD)outbin.$(OBJ): outbin.c nasm.h nasmlib.h
+$(OBJD)outbin.$(OBJ): outbin.c nasm.h insnsi.h nasmlib.h
$(NASM_ASM)
-$(OBJD)outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
+$(OBJD)outcoff.$(OBJ): outcoff.c nasm.h insnsi.h nasmlib.h
$(NASM_ASM)
-$(OBJD)outdbg.$(OBJ): outdbg.c nasm.h nasmlib.h
+$(OBJD)outdbg.$(OBJ): outdbg.c nasm.h insnsi.h nasmlib.h
$(NASM_ASM)
-$(OBJD)outelf.$(OBJ): outelf.c nasm.h nasmlib.h
+$(OBJD)outelf.$(OBJ): outelf.c nasm.h insnsi.h nasmlib.h
$(NASM_ASM)
-$(OBJD)outobj.$(OBJ): outobj.c nasm.h nasmlib.h
+$(OBJD)outobj.$(OBJ): outobj.c nasm.h insnsi.h nasmlib.h
$(NASM_ASM)
-$(OBJD)outrdf.$(OBJ): outrdf.c nasm.h nasmlib.h
+$(OBJD)outrdf.$(OBJ): outrdf.c nasm.h insnsi.h nasmlib.h
$(NASM_ASM)
-$(OBJD)outform.$(OBJ): outform.c outform.h nasm.h
+$(OBJD)outform.$(OBJ): outform.c outform.h nasm.h insnsi.h
$(NASM_ASM)
################################################################
diff --git a/Mkfiles/Makefile.bor b/Mkfiles/Makefile.bor
index 90e96fb..4cdb423 100644
--- a/Mkfiles/Makefile.bor
+++ b/Mkfiles/Makefile.bor
@@ -51,29 +51,29 @@ ndisasm$(EXE): $(NDISASMOBJS)
# $(LINK) /Fendisasm.exe $(NDISASMOBJS)
$(LINK) /Tde $(NDISASMOBJS),ndisasm.exe,,cl.lib,
-assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
-disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
-eval.$(OBJ): eval.c nasm.h nasmlib.h eval.h
-float.$(OBJ): float.c nasm.h
-insnsa.$(OBJ): insnsa.c nasm.h insns.h
-insnsd.$(OBJ): insnsd.c nasm.h insns.h
-labels.$(OBJ): labels.c nasm.h nasmlib.h
-listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
-nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+assemble.$(OBJ): assemble.c nasm.h insnsi.h assemble.h insns.h
+disasm.$(OBJ): disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
+eval.$(OBJ): eval.c nasm.h insnsi.h nasmlib.h eval.h
+float.$(OBJ): float.c nasm.h insnsi.h
+insnsa.$(OBJ): insnsa.c nasm.h insnsi.h insns.h
+insnsd.$(OBJ): insnsd.c nasm.h insnsi.h insns.h
+labels.$(OBJ): labels.c nasm.h insnsi.h nasmlib.h
+listing.$(OBJ): listing.c nasm.h insnsi.h nasmlib.h listing.h
+nasm.$(OBJ): nasm.c nasm.h insnsi.h nasmlib.h parser.h assemble.h labels.h \
listing.h outform.h
-nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
-ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
-outas86.$(OBJ): outas86.c nasm.h nasmlib.h
-outaout.$(OBJ): outaout.c nasm.h nasmlib.h
-outbin.$(OBJ): outbin.c nasm.h nasmlib.h
-outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
-outdbg.$(OBJ): outdbg.c nasm.h nasmlib.h
-outelf.$(OBJ): outelf.c nasm.h nasmlib.h
-outobj.$(OBJ): outobj.c nasm.h nasmlib.h
-outrdf.$(OBJ): outrdf.c nasm.h nasmlib.h
-outform.$(OBJ): outform.c outform.h nasm.h
-parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
-preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+nasmlib.$(OBJ): nasmlib.c nasm.h insnsi.h nasmlib.h
+ndisasm.$(OBJ): ndisasm.c nasm.h insnsi.h sync.h disasm.h
+outas86.$(OBJ): outas86.c nasm.h insnsi.h nasmlib.h
+outaout.$(OBJ): outaout.c nasm.h insnsi.h nasmlib.h
+outbin.$(OBJ): outbin.c nasm.h insnsi.h nasmlib.h
+outcoff.$(OBJ): outcoff.c nasm.h insnsi.h nasmlib.h
+outdbg.$(OBJ): outdbg.c nasm.h insnsi.h nasmlib.h
+outelf.$(OBJ): outelf.c nasm.h insnsi.h nasmlib.h
+outobj.$(OBJ): outobj.c nasm.h insnsi.h nasmlib.h
+outrdf.$(OBJ): outrdf.c nasm.h insnsi.h nasmlib.h
+outform.$(OBJ): outform.c outform.h nasm.h insnsi.h
+parser.$(OBJ): parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
+preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h insnsi.h nasmlib.h
sync.$(OBJ): sync.c sync.h
clean :
diff --git a/Mkfiles/Makefile.dj b/Mkfiles/Makefile.dj
index 6d932f3..0d79a48 100644
--- a/Mkfiles/Makefile.dj
+++ b/Mkfiles/Makefile.dj
@@ -36,37 +36,37 @@ nasm.exe: $(NASM)
ndisasm.exe: $(NDISASM)
$(CC) -o $@ $(NDISASM)
-assemble.o: assemble.c nasm.h nasmlib.h assemble.h insns.h
-disasm.o: disasm.c nasm.h disasm.h sync.h insns.h names.c
-eval.o: eval.c eval.h nasm.h nasmlib.h
-float.o: float.c nasm.h
-insnsa.o: insnsa.c nasm.h insns.h
-insnsd.o: insnsd.c nasm.h insns.h
-labels.o: labels.c nasm.h nasmlib.h
-listing.o: listing.c nasm.h nasmlib.h listing.h
-nasm.o: nasm.c nasm.h nasmlib.h preproc.h parser.h assemble.h labels.h \
+assemble.o: assemble.c nasm.h insnsi.h nasmlib.h assemble.h insns.h
+disasm.o: disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
+eval.o: eval.c eval.h nasm.h insnsi.h nasmlib.h
+float.o: float.c nasm.h insnsi.h
+insnsa.o: insnsa.c nasm.h insnsi.h insns.h
+insnsd.o: insnsd.c nasm.h insnsi.h insns.h
+labels.o: labels.c nasm.h insnsi.h nasmlib.h
+listing.o: listing.c nasm.h insnsi.h nasmlib.h listing.h
+nasm.o: nasm.c nasm.h insnsi.h nasmlib.h preproc.h parser.h assemble.h labels.h \
outform.h listing.h
-nasmlib.o: nasmlib.c nasm.h nasmlib.h
-ndisasm.o: ndisasm.c nasm.h nasmlib.h sync.h disasm.h
-outaout.o: outaout.c nasm.h nasmlib.h outform.h
-outas86.o: outas86.c nasm.h nasmlib.h outform.h
-outbin.o: outbin.c nasm.h nasmlib.h outform.h
-outcoff.o: outcoff.c nasm.h nasmlib.h outform.h
-outdbg.o: outdbg.c nasm.h nasmlib.h outform.h
-outelf.o: outelf.c nasm.h nasmlib.h outform.h
-outform.o: outform.c outform.h nasm.h
-outobj.o: outobj.c nasm.h nasmlib.h outform.h
-outrdf.o: outrdf.c nasm.h nasmlib.h outform.h
-parser.o: parser.c nasm.h nasmlib.h parser.h float.h names.c
-preproc.o: preproc.c nasm.h nasmlib.h macros.c
+nasmlib.o: nasmlib.c nasm.h insnsi.h nasmlib.h
+ndisasm.o: ndisasm.c nasm.h insnsi.h nasmlib.h sync.h disasm.h
+outaout.o: outaout.c nasm.h insnsi.h nasmlib.h outform.h
+outas86.o: outas86.c nasm.h insnsi.h nasmlib.h outform.h
+outbin.o: outbin.c nasm.h insnsi.h nasmlib.h outform.h
+outcoff.o: outcoff.c nasm.h insnsi.h nasmlib.h outform.h
+outdbg.o: outdbg.c nasm.h insnsi.h nasmlib.h outform.h
+outelf.o: outelf.c nasm.h insnsi.h nasmlib.h outform.h
+outform.o: outform.c outform.h nasm.h insnsi.h
+outobj.o: outobj.c nasm.h insnsi.h nasmlib.h outform.h
+outrdf.o: outrdf.c nasm.h insnsi.h nasmlib.h outform.h
+parser.o: parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
+preproc.o: preproc.c nasm.h insnsi.h nasmlib.h macros.c
sync.o: sync.c sync.h
-# These two source files are automagically generated from a single
+# These source files are automagically generated from a single
# instruction-table file by a Perl script. They're distributed,
# though, so it isn't necessary to have Perl just to recompile NASM
# from the distribution.
-insnsa.c insnsd.c: insns.dat insns.pl
+insnsa.c insnsd.c insnsi.h insnsn.c: insns.dat insns.pl
perl insns.pl insns.dat
# This source file is generated from the standard macros file
diff --git a/Mkfiles/Makefile.djo b/Mkfiles/Makefile.djo
new file mode 100644
index 0000000..575abdc
--- /dev/null
+++ b/Mkfiles/Makefile.djo
@@ -0,0 +1,187 @@
+# host: dos
+# target: dos 16bit and 32bit
+# Makefile for the Netwide Assembler
+#
+# This is a modification (by John Fine) of makefile.dj
+#
+# It uses the syntax of "Opus Make", which is the make program I prefer.
+#
+# It builds five targets:
+#
+# nasm16.exe 16-bit built with Turbo-C
+# nasm.exe 32-bit built with DJGPP
+# nasmd.exe nasm.exe with debug information (for use with gdb etc.)
+# nasml.exe nasm.exe with logging version of malloc (to find memory leaks)
+# ndisasm.exe NASM disassembler (DJGPP version)
+
+.SUFFIXES:
+.SUFFIXES: .exe .ol .o .obj .c .dat .pl
+
+# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+# Julian Hall. All rights reserved. The software is
+# redistributable under the licence given in the file "Licence"
+# distributed in the NASM archive.
+
+# makefile designed for djgpp 2.xx
+# djgpp is GNU C compiler ported by mighty DJ Delorie
+# www.delorie.com and any simtel mirror
+
+CC = gcc
+CFLAGS = -O3
+
+.c.o:
+# redir -eo $(CC) -g -c -O2 -finline-functions -Wall -ansi -pedantic $*.c >$*.err
+ $(CC) -g -c -O2 -finline-functions -Wall -ansi -pedantic $*.c
+
+.c.ol:
+ $(CC) -DLOGALLOC -g -c -o $*.ol $(CFLAGS) $*.c
+
+.c.obj:
+ tcc -O -Z -c -ml -d -DOF_ONLY -DOF_BIN -DOF_OBJ -If:\public\turboc -I. $*.c >$*.err
+
+NASM = nasm.o nasmlib.o float.o insnsa.o assemble.o labels.o \
+ parser.o outform.o outbin.o outaout.o outcoff.o outelf.o \
+ outobj.o outas86.o outrdf.o outrdf2.o zoutieee.o outdbg.o preproc.o listing.o \
+ eval.o
+
+NASML = nasm.ol nasmlib.ol float.ol insnsa.ol assemble.ol labels.ol \
+ parser.ol outform.ol outbin.ol outaout.ol outcoff.ol outelf.ol \
+ outobj.ol outas86.ol outrdf.ol outrdf2.ol zoutieee.ol outdbg.ol preproc.ol listing.ol \
+ eval.ol
+
+NASM16 = nasm.obj nasmlib.obj float.obj insnsa.obj assemble.obj labels.obj \
+ parser.obj outform.obj outbin.obj \
+ outobj.obj preproc.obj listing.obj \
+ eval.obj
+
+NDISASM = ndisasm.o disasm.o sync.o nasmlib.o insnsd.o
+
+nasm.exe: $(NASM)
+ $(CC) @<<
+-s -o $@ $(NASM)
+<<
+ djp nasm.exe
+
+ndisasm.exe: $(NDISASM)
+ $(CC) @<<
+-s -o $@ $(NDISASM)
+<<
+ djp ndisasm.exe
+
+nasml.exe: $(NASML)
+ $(CC) @<<
+-s -o $@ $(NASML)
+<<
+
+nasm16.exe: $(NASM16)
+ tlink @<<
+f:\public\turboc\lib\c0l.obj $(NASM16)
+$@
+
+f:\public\turboc\lib\cl.lib
+<< > nasm16.err
+
+
+nasmd.exe: $(NASM)
+ $(CC) @<<
+-g -o $@ $(NASM)
+<<
+
+assemble.o: assemble.c nasm.h insnsi.h nasmlib.h assemble.h insns.h
+disasm.o: disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
+eval.o: eval.c eval.h nasm.h insnsi.h nasmlib.h
+float.o: float.c nasm.h insnsi.h
+insnsa.o: insnsa.c nasm.h insnsi.h insns.h
+insnsd.o: insnsd.c nasm.h insnsi.h insns.h
+labels.o: labels.c nasm.h insnsi.h nasmlib.h
+listing.o: listing.c nasm.h insnsi.h nasmlib.h listing.h
+nasm.o: nasm.c nasm.h insnsi.h nasmlib.h preproc.h parser.h assemble.h labels.h \
+ outform.h listing.h
+nasmlib.o: nasmlib.c nasm.h insnsi.h nasmlib.h
+ndisasm.o: ndisasm.c nasm.h insnsi.h nasmlib.h sync.h disasm.h
+outaout.o: outaout.c nasm.h insnsi.h nasmlib.h outform.h
+outas86.o: outas86.c nasm.h insnsi.h nasmlib.h outform.h
+outbin.o: outbin.c nasm.h insnsi.h nasmlib.h outform.h
+outcoff.o: outcoff.c nasm.h insnsi.h nasmlib.h outform.h
+outdbg.o: outdbg.c nasm.h insnsi.h nasmlib.h outform.h
+outelf.o: outelf.c nasm.h insnsi.h nasmlib.h outform.h
+outform.o: outform.c outform.h nasm.h insnsi.h
+outobj.o: outobj.c nasm.h insnsi.h nasmlib.h outform.h
+outrdf.o: outrdf.c nasm.h insnsi.h nasmlib.h outform.h
+outrdf2.o: outrdf2.c nasm.h insnsi.h nasmlib.h outform.h
+parser.o: parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
+preproc.o: preproc.c nasm.h insnsi.h nasmlib.h macros.c
+sync.o: sync.c sync.h
+zoutieee.o: zoutieee.c nasm.h insnsi.h nasmlib.h outform.h
+
+assemble.ol: assemble.c nasm.h insnsi.h nasmlib.h assemble.h insns.h
+disasm.ol: disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
+eval.ol: eval.c eval.h nasm.h insnsi.h nasmlib.h
+float.ol: float.c nasm.h insnsi.h
+insnsa.ol: insnsa.c nasm.h insnsi.h insns.h
+insnsd.ol: insnsd.c nasm.h insnsi.h insns.h
+labels.ol: labels.c nasm.h insnsi.h nasmlib.h
+listing.ol: listing.c nasm.h insnsi.h nasmlib.h listing.h
+nasm.ol: nasm.c nasm.h insnsi.h nasmlib.h preproc.h parser.h assemble.h labels.h \
+ outform.h listing.h
+nasmlib.ol: nasmlib.c nasm.h insnsi.h nasmlib.h
+ndisasm.ol: ndisasm.c nasm.h insnsi.h nasmlib.h sync.h disasm.h
+outaout.ol: outaout.c nasm.h insnsi.h nasmlib.h outform.h
+outas86.ol: outas86.c nasm.h insnsi.h nasmlib.h outform.h
+outbin.ol: outbin.c nasm.h insnsi.h nasmlib.h outform.h
+outcoff.ol: outcoff.c nasm.h insnsi.h nasmlib.h outform.h
+outdbg.ol: outdbg.c nasm.h insnsi.h nasmlib.h outform.h
+outelf.ol: outelf.c nasm.h insnsi.h nasmlib.h outform.h
+outform.ol: outform.c outform.h nasm.h insnsi.h
+outobj.ol: outobj.c nasm.h insnsi.h nasmlib.h outform.h
+outrdf.ol: outrdf.c nasm.h insnsi.h nasmlib.h outform.h
+outrdf2.ol: outrdf2.c nasm.h insnsi.h nasmlib.h outform.h
+parser.ol: parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
+preproc.ol: preproc.c nasm.h insnsi.h nasmlib.h macros.c
+sync.ol: sync.c sync.h
+zoutieee.ol: zoutieee.c nasm.h insnsi.h nasmlib.h outform.h
+
+assemble.obj: assemble.c nasm.h insnsi.h nasmlib.h assemble.h insns.h
+disasm.obj: disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
+eval.obj: eval.c eval.h nasm.h insnsi.h nasmlib.h
+float.obj: float.c nasm.h insnsi.h
+insnsa.obj: insnsa.c nasm.h insnsi.h insns.h
+insnsd.obj: insnsd.c nasm.h insnsi.h insns.h
+labels.obj: labels.c nasm.h insnsi.h nasmlib.h
+listing.obj: listing.c nasm.h insnsi.h nasmlib.h listing.h
+nasm.obj: nasm.c nasm.h insnsi.h nasmlib.h preproc.h parser.h assemble.h labels.h \
+ outform.h listing.h
+nasmlib.obj: nasmlib.c nasm.h insnsi.h nasmlib.h
+ndisasm.obj: ndisasm.c nasm.h insnsi.h nasmlib.h sync.h disasm.h
+outaout.obj: outaout.c nasm.h insnsi.h nasmlib.h outform.h
+outas86.obj: outas86.c nasm.h insnsi.h nasmlib.h outform.h
+outbin.obj: outbin.c nasm.h insnsi.h nasmlib.h outform.h
+outcoff.obj: outcoff.c nasm.h insnsi.h nasmlib.h outform.h
+outdbg.obj: outdbg.c nasm.h insnsi.h nasmlib.h outform.h
+outelf.obj: outelf.c nasm.h insnsi.h nasmlib.h outform.h
+outform.obj: outform.c outform.h nasm.h insnsi.h
+outobj.obj: outobj.c nasm.h insnsi.h nasmlib.h outform.h
+outrdf.obj: outrdf.c nasm.h insnsi.h nasmlib.h outform.h
+outrdf2.obj: outrdf2.c nasm.h insnsi.h nasmlib.h outform.h
+parser.obj: parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
+preproc.obj: preproc.c nasm.h insnsi.h nasmlib.h macros.c
+sync.obj: sync.c sync.h
+zoutieee.obj: zoutieee.c nasm.h insnsi.h nasmlib.h outform.h
+
+# These four source files are automagically generated from a single
+# instruction-table file by a Perl script. They're distributed,
+# though, so it isn't necessary to have Perl just to recompile NASM
+# from the distribution.
+
+insnsa.c insnsd.c insnsi.h insnsn.c: insns.dat insns.pl
+ perl insns.pl insns.dat
+
+# This source file is generated from the standard macros file
+# `standard.mac' by another Perl script. Again, it's part of the
+# standard distribution.
+
+macros.c: standard.mac macros.pl
+ perl macros.pl standard.mac
+
+clean:
+ rm -f *.o nasm ndisasm
diff --git a/Mkfiles/Makefile.dos b/Mkfiles/Makefile.dos
index 94403fc..99b20d2 100644
--- a/Mkfiles/Makefile.dos
+++ b/Mkfiles/Makefile.dos
@@ -41,35 +41,35 @@ nasm$(EXE): $(NASMOBJS)
ndisasm$(EXE): $(NDISASMOBJS)
cl /Fendisasm.exe $(NDISASMOBJS)
-assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
-disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
-eval.$(OBJ): eval.c eval.h nasm.h nasmlib.h
-float.$(OBJ): float.c nasm.h
-labels.$(OBJ): labels.c nasm.h nasmlib.h
-listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
-nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+assemble.$(OBJ): assemble.c nasm.h insnsi.h assemble.h insns.h
+disasm.$(OBJ): disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
+eval.$(OBJ): eval.c eval.h nasm.h insnsi.h nasmlib.h
+float.$(OBJ): float.c nasm.h insnsi.h
+labels.$(OBJ): labels.c nasm.h insnsi.h nasmlib.h
+listing.$(OBJ): listing.c nasm.h insnsi.h nasmlib.h listing.h
+nasm.$(OBJ): nasm.c nasm.h insnsi.h nasmlib.h parser.h assemble.h labels.h \
listing.h outform.h
-nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
-ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
-outas86.$(OBJ): outas86.c nasm.h nasmlib.h
-outaout.$(OBJ): outaout.c nasm.h nasmlib.h
-outbin.$(OBJ): outbin.c nasm.h nasmlib.h
-outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
-outdbg.$(OBJ): outdbg.c nasm.h nasmlib.h
-outelf.$(OBJ): outelf.c nasm.h nasmlib.h
-outobj.$(OBJ): outobj.c nasm.h nasmlib.h
-outrdf.$(OBJ): outrdf.c nasm.h nasmlib.h
-outform.$(OBJ): outform.c outform.h nasm.h
-parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
-preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+nasmlib.$(OBJ): nasmlib.c nasm.h insnsi.h nasmlib.h
+ndisasm.$(OBJ): ndisasm.c nasm.h insnsi.h sync.h disasm.h
+outas86.$(OBJ): outas86.c nasm.h insnsi.h nasmlib.h
+outaout.$(OBJ): outaout.c nasm.h insnsi.h nasmlib.h
+outbin.$(OBJ): outbin.c nasm.h insnsi.h nasmlib.h
+outcoff.$(OBJ): outcoff.c nasm.h insnsi.h nasmlib.h
+outdbg.$(OBJ): outdbg.c nasm.h insnsi.h nasmlib.h
+outelf.$(OBJ): outelf.c nasm.h insnsi.h nasmlib.h
+outobj.$(OBJ): outobj.c nasm.h insnsi.h nasmlib.h
+outrdf.$(OBJ): outrdf.c nasm.h insnsi.h nasmlib.h
+outform.$(OBJ): outform.c outform.h nasm.h insnsi.h
+parser.$(OBJ): parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
+preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h insnsi.h nasmlib.h
sync.$(OBJ): sync.c sync.h
# Another grotty hack: QC is less likely to run out of memory than
# CL proper; and we don't need any optimisation in these modules
# since they're just data.
-insnsa.$(OBJ): insnsa.c nasm.h insns.h
+insnsa.$(OBJ): insnsa.c nasm.h insnsi.h insns.h
$(QCL) insnsa.c
-insnsd.$(OBJ): insnsd.c nasm.h insns.h
+insnsd.$(OBJ): insnsd.c nasm.h insnsi.h insns.h
$(QCL) insnsd.c
clean :
diff --git a/Mkfiles/Makefile.lcc b/Mkfiles/Makefile.lcc
index 1f6fdcb..8b58e86 100644
--- a/Mkfiles/Makefile.lcc
+++ b/Mkfiles/Makefile.lcc
@@ -66,37 +66,37 @@ nasm: $(NASM) nasm.lnk
ndisasm: $(NDISASM) ndisasm.lnk
$(LD) -o ndisasm.exe @ndisasm.lnk
-assemble.${OBJ}: assemble.c nasm.h nasmlib.h assemble.h insns.h
-disasm.${OBJ}: disasm.c nasm.h disasm.h sync.h insns.h names.c
-eval.${OBJ}: eval.c eval.h nasm.h nasmlib.h
-float.${OBJ}: float.c nasm.h
-insnsa.${OBJ}: insnsa.c nasm.h insns.h
-insnsd.${OBJ}: insnsd.c nasm.h insns.h
-labels.${OBJ}: labels.c nasm.h nasmlib.h
-listing.${OBJ}: listing.c nasm.h nasmlib.h listing.h
-nasm.${OBJ}: nasm.c nasm.h nasmlib.h preproc.h parser.h assemble.h labels.h \
+assemble.${OBJ}: assemble.c nasm.h insnsi.h nasmlib.h assemble.h insns.h
+disasm.${OBJ}: disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
+eval.${OBJ}: eval.c eval.h nasm.h insnsi.h nasmlib.h
+float.${OBJ}: float.c nasm.h insnsi.h
+insnsa.${OBJ}: insnsa.c nasm.h insnsi.h insns.h
+insnsd.${OBJ}: insnsd.c nasm.h insnsi.h insns.h
+labels.${OBJ}: labels.c nasm.h insnsi.h nasmlib.h
+listing.${OBJ}: listing.c nasm.h insnsi.h nasmlib.h listing.h
+nasm.${OBJ}: nasm.c nasm.h insnsi.h nasmlib.h preproc.h parser.h assemble.h labels.h \
outform.h listing.h
-nasmlib.${OBJ}: nasmlib.c nasm.h nasmlib.h
-ndisasm.${OBJ}: ndisasm.c nasm.h nasmlib.h sync.h disasm.h
-outaout.${OBJ}: outaout.c nasm.h nasmlib.h outform.h
-outas86.${OBJ}: outas86.c nasm.h nasmlib.h outform.h
-outbin.${OBJ}: outbin.c nasm.h nasmlib.h outform.h
-outcoff.${OBJ}: outcoff.c nasm.h nasmlib.h outform.h
-outdbg.${OBJ}: outdbg.c nasm.h nasmlib.h outform.h
-outelf.${OBJ}: outelf.c nasm.h nasmlib.h outform.h
-outform.${OBJ}: outform.c outform.h nasm.h
-outobj.${OBJ}: outobj.c nasm.h nasmlib.h outform.h
-outrdf.${OBJ}: outrdf.c nasm.h nasmlib.h outform.h
-parser.${OBJ}: parser.c nasm.h nasmlib.h parser.h float.h names.c
-preproc.${OBJ}: preproc.c nasm.h nasmlib.h macros.c
+nasmlib.${OBJ}: nasmlib.c nasm.h insnsi.h nasmlib.h
+ndisasm.${OBJ}: ndisasm.c nasm.h insnsi.h nasmlib.h sync.h disasm.h
+outaout.${OBJ}: outaout.c nasm.h insnsi.h nasmlib.h outform.h
+outas86.${OBJ}: outas86.c nasm.h insnsi.h nasmlib.h outform.h
+outbin.${OBJ}: outbin.c nasm.h insnsi.h nasmlib.h outform.h
+outcoff.${OBJ}: outcoff.c nasm.h insnsi.h nasmlib.h outform.h
+outdbg.${OBJ}: outdbg.c nasm.h insnsi.h nasmlib.h outform.h
+outelf.${OBJ}: outelf.c nasm.h insnsi.h nasmlib.h outform.h
+outform.${OBJ}: outform.c outform.h nasm.h insnsi.h
+outobj.${OBJ}: outobj.c nasm.h insnsi.h nasmlib.h outform.h
+outrdf.${OBJ}: outrdf.c nasm.h insnsi.h nasmlib.h outform.h
+parser.${OBJ}: parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
+preproc.${OBJ}: preproc.c nasm.h insnsi.h nasmlib.h macros.c
sync.${OBJ}: sync.c sync.h
-# These two source files are automagically generated from a single
+# These source files are automagically generated from a single
# instruction-table file by a Perl script. They're distributed,
# though, so it isn't necessary to have Perl just to recompile NASM
# from the distribution.
-insnsa.c insnsd.c: insns.dat insns.pl
+insnsa.c insnsd.c insnsi.h insnsn.c: insns.dat insns.pl
perl insns.pl insns.dat
# This source file is generated from the standard macros file
diff --git a/Mkfiles/Makefile.sc b/Mkfiles/Makefile.sc
index b5d0e35..c5b66fa 100644
--- a/Mkfiles/Makefile.sc
+++ b/Mkfiles/Makefile.sc
@@ -81,30 +81,30 @@ ndisasm.exe
# modules for programs
#
-disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
-assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
-eval.$(OBJ): eval.c nasm.h nasmlib.h eval.h
-float.$(OBJ): float.c nasm.h
-labels.$(OBJ): labels.c nasm.h nasmlib.h
-listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
-nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+disasm.$(OBJ): disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
+assemble.$(OBJ): assemble.c nasm.h insnsi.h assemble.h insns.h
+eval.$(OBJ): eval.c nasm.h insnsi.h nasmlib.h eval.h
+float.$(OBJ): float.c nasm.h insnsi.h
+labels.$(OBJ): labels.c nasm.h insnsi.h nasmlib.h
+listing.$(OBJ): listing.c nasm.h insnsi.h nasmlib.h listing.h
+nasm.$(OBJ): nasm.c nasm.h insnsi.h nasmlib.h parser.h assemble.h labels.h \
listing.h outform.h
-nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
-ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
-outas86.$(OBJ): outas86.c nasm.h nasmlib.h
-outaout.$(OBJ): outaout.c nasm.h nasmlib.h
-outbin.$(OBJ): outbin.c nasm.h nasmlib.h
-outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
-outdbg.$(OBJ): outdbg.c nasm.h nasmlib.h
-outelf.$(OBJ): outelf.c nasm.h nasmlib.h
-outobj.$(OBJ): outobj.c nasm.h nasmlib.h
-outrdf.$(OBJ): outrdf.c nasm.h nasmlib.h
-outform.$(OBJ): outform.c outform.h nasm.h
-parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
-preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+nasmlib.$(OBJ): nasmlib.c nasm.h insnsi.h nasmlib.h
+ndisasm.$(OBJ): ndisasm.c nasm.h insnsi.h sync.h disasm.h
+outas86.$(OBJ): outas86.c nasm.h insnsi.h nasmlib.h
+outaout.$(OBJ): outaout.c nasm.h insnsi.h nasmlib.h
+outbin.$(OBJ): outbin.c nasm.h insnsi.h nasmlib.h
+outcoff.$(OBJ): outcoff.c nasm.h insnsi.h nasmlib.h
+outdbg.$(OBJ): outdbg.c nasm.h insnsi.h nasmlib.h
+outelf.$(OBJ): outelf.c nasm.h insnsi.h nasmlib.h
+outobj.$(OBJ): outobj.c nasm.h insnsi.h nasmlib.h
+outrdf.$(OBJ): outrdf.c nasm.h insnsi.h nasmlib.h
+outform.$(OBJ): outform.c outform.h nasm.h insnsi.h
+parser.$(OBJ): parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
+preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h insnsi.h nasmlib.h
sync.$(OBJ): sync.c sync.h
-insnsa.$(OBJ): insnsa.c nasm.h insns.h
-insnsd.$(OBJ): insnsd.c nasm.h insns.h
+insnsa.$(OBJ): insnsa.c nasm.h insnsi.h insns.h
+insnsd.$(OBJ): insnsd.c nasm.h insnsi.h insns.h
diff --git a/Mkfiles/Makefile.scw b/Mkfiles/Makefile.scw
index 6953b46..075d89a 100644
--- a/Mkfiles/Makefile.scw
+++ b/Mkfiles/Makefile.scw
@@ -81,30 +81,30 @@ ndisasmw.exe;
# modules for programs
#
-disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
-assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
-eval.$(OBJ): eval.c nasm.h nasmlib.h eval.h
-float.$(OBJ): float.c nasm.h
-labels.$(OBJ): labels.c nasm.h nasmlib.h
-listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
-nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+disasm.$(OBJ): disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
+assemble.$(OBJ): assemble.c nasm.h insnsi.h assemble.h insns.h
+eval.$(OBJ): eval.c nasm.h insnsi.h nasmlib.h eval.h
+float.$(OBJ): float.c nasm.h insnsi.h
+labels.$(OBJ): labels.c nasm.h insnsi.h nasmlib.h
+listing.$(OBJ): listing.c nasm.h insnsi.h nasmlib.h listing.h
+nasm.$(OBJ): nasm.c nasm.h insnsi.h nasmlib.h parser.h assemble.h labels.h \
listing.h outform.h
-nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
-ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
-outas86.$(OBJ): outas86.c nasm.h nasmlib.h
-outaout.$(OBJ): outaout.c nasm.h nasmlib.h
-outbin.$(OBJ): outbin.c nasm.h nasmlib.h
-outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
-outdbg.$(OBJ): outdbg.c nasm.h nasmlib.h
-outelf.$(OBJ): outelf.c nasm.h nasmlib.h
-outobj.$(OBJ): outobj.c nasm.h nasmlib.h
-outrdf.$(OBJ): outrdf.c nasm.h nasmlib.h
-outform.$(OBJ): outform.c outform.h nasm.h
-parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
-preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+nasmlib.$(OBJ): nasmlib.c nasm.h insnsi.h nasmlib.h
+ndisasm.$(OBJ): ndisasm.c nasm.h insnsi.h sync.h disasm.h
+outas86.$(OBJ): outas86.c nasm.h insnsi.h nasmlib.h
+outaout.$(OBJ): outaout.c nasm.h insnsi.h nasmlib.h
+outbin.$(OBJ): outbin.c nasm.h insnsi.h nasmlib.h
+outcoff.$(OBJ): outcoff.c nasm.h insnsi.h nasmlib.h
+outdbg.$(OBJ): outdbg.c nasm.h insnsi.h nasmlib.h
+outelf.$(OBJ): outelf.c nasm.h insnsi.h nasmlib.h
+outobj.$(OBJ): outobj.c nasm.h insnsi.h nasmlib.h
+outrdf.$(OBJ): outrdf.c nasm.h insnsi.h nasmlib.h
+outform.$(OBJ): outform.c outform.h nasm.h insnsi.h
+parser.$(OBJ): parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
+preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h insnsi.h nasmlib.h
sync.$(OBJ): sync.c sync.h
-insnsa.$(OBJ): insnsa.c nasm.h insns.h
-insnsd.$(OBJ): insnsd.c nasm.h insns.h
+insnsa.$(OBJ): insnsa.c nasm.h insnsi.h insns.h
+insnsd.$(OBJ): insnsd.c nasm.h insnsi.h insns.h
diff --git a/Mkfiles/Makefile.unx b/Mkfiles/Makefile.unx
index f74d544..ec128f6 100644
--- a/Mkfiles/Makefile.unx
+++ b/Mkfiles/Makefile.unx
@@ -40,37 +40,37 @@ nasm: $(NASM)
ndisasm: $(NDISASM)
$(CC) -o ndisasm $(NDISASM)
-assemble.o: assemble.c nasm.h nasmlib.h assemble.h insns.h
-disasm.o: disasm.c nasm.h disasm.h sync.h insns.h names.c
-eval.o: eval.c eval.h nasm.h nasmlib.h
-float.o: float.c nasm.h
-insnsa.o: insnsa.c nasm.h insns.h
-insnsd.o: insnsd.c nasm.h insns.h
-labels.o: labels.c nasm.h nasmlib.h
-listing.o: listing.c nasm.h nasmlib.h listing.h
-nasm.o: nasm.c nasm.h nasmlib.h preproc.h parser.h assemble.h labels.h \
+assemble.o: assemble.c nasm.h insnsi.h nasmlib.h assemble.h insns.h
+disasm.o: disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
+eval.o: eval.c eval.h nasm.h insnsi.h nasmlib.h
+float.o: float.c nasm.h insnsi.h
+insnsa.o: insnsa.c nasm.h insnsi.h insns.h
+insnsd.o: insnsd.c nasm.h insnsi.h insns.h
+labels.o: labels.c nasm.h insnsi.h nasmlib.h
+listing.o: listing.c nasm.h insnsi.h nasmlib.h listing.h
+nasm.o: nasm.c nasm.h insnsi.h nasmlib.h preproc.h parser.h assemble.h labels.h \
outform.h listing.h
-nasmlib.o: nasmlib.c nasm.h nasmlib.h
-ndisasm.o: ndisasm.c nasm.h nasmlib.h sync.h disasm.h
-outaout.o: outaout.c nasm.h nasmlib.h outform.h
-outas86.o: outas86.c nasm.h nasmlib.h outform.h
-outbin.o: outbin.c nasm.h nasmlib.h outform.h
-outcoff.o: outcoff.c nasm.h nasmlib.h outform.h
-outdbg.o: outdbg.c nasm.h nasmlib.h outform.h
-outelf.o: outelf.c nasm.h nasmlib.h outform.h
-outform.o: outform.c outform.h nasm.h
-outobj.o: outobj.c nasm.h nasmlib.h outform.h
-outrdf.o: outrdf.c nasm.h nasmlib.h outform.h
-parser.o: parser.c nasm.h nasmlib.h parser.h float.h names.c
-preproc.o: preproc.c nasm.h nasmlib.h macros.c
+nasmlib.o: nasmlib.c nasm.h insnsi.h nasmlib.h
+ndisasm.o: ndisasm.c nasm.h insnsi.h nasmlib.h sync.h disasm.h
+outaout.o: outaout.c nasm.h insnsi.h nasmlib.h outform.h
+outas86.o: outas86.c nasm.h insnsi.h nasmlib.h outform.h
+outbin.o: outbin.c nasm.h insnsi.h nasmlib.h outform.h
+outcoff.o: outcoff.c nasm.h insnsi.h nasmlib.h outform.h
+outdbg.o: outdbg.c nasm.h insnsi.h nasmlib.h outform.h
+outelf.o: outelf.c nasm.h insnsi.h nasmlib.h outform.h
+outform.o: outform.c outform.h nasm.h insnsi.h
+outobj.o: outobj.c nasm.h insnsi.h nasmlib.h outform.h
+outrdf.o: outrdf.c nasm.h insnsi.h nasmlib.h outform.h
+parser.o: parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
+preproc.o: preproc.c nasm.h insnsi.h nasmlib.h macros.c
sync.o: sync.c sync.h
-# These two source files are automagically generated from a single
+# These source files are automagically generated from a single
# instruction-table file by a Perl script. They're distributed,
# though, so it isn't necessary to have Perl just to recompile NASM
# from the distribution.
-insnsa.c insnsd.c: insns.dat insns.pl
+insnsa.c insnsd.c insnsi.h insnsn.c: insns.dat insns.pl
perl insns.pl insns.dat
# This source file is generated from the standard macros file
diff --git a/Mkfiles/Makefile.vc b/Mkfiles/Makefile.vc
index 80beba4..e100d31 100644
--- a/Mkfiles/Makefile.vc
+++ b/Mkfiles/Makefile.vc
@@ -40,35 +40,35 @@ nasm$(SUFFIX)$(EXE): $(NASMOBJS)
ndisasm$(SUFFIX)$(EXE): $(NDISASMOBJS)
cl /Fendisasm$(SUFFIX).exe $(NDISASMOBJS)
-assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
-disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
-eval.$(OBJ): eval.c nasm.h nasmlib.h eval.h
-float.$(OBJ): float.c nasm.h
-labels.$(OBJ): labels.c nasm.h nasmlib.h
-listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
-nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+assemble.$(OBJ): assemble.c nasm.h insnsi.h assemble.h insns.h
+disasm.$(OBJ): disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
+eval.$(OBJ): eval.c nasm.h insnsi.h nasmlib.h eval.h
+float.$(OBJ): float.c nasm.h insnsi.h
+labels.$(OBJ): labels.c nasm.h insnsi.h nasmlib.h
+listing.$(OBJ): listing.c nasm.h insnsi.h nasmlib.h listing.h
+nasm.$(OBJ): nasm.c nasm.h insnsi.h nasmlib.h parser.h assemble.h labels.h \
listing.h outform.h
-nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
-ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
-outas86.$(OBJ): outas86.c nasm.h nasmlib.h
-outaout.$(OBJ): outaout.c nasm.h nasmlib.h
-outbin.$(OBJ): outbin.c nasm.h nasmlib.h
-outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
-outdbg.$(OBJ): outdbg.c nasm.h nasmlib.h
-outelf.$(OBJ): outelf.c nasm.h nasmlib.h
-outobj.$(OBJ): outobj.c nasm.h nasmlib.h
-outrdf.$(OBJ): outrdf.c nasm.h nasmlib.h
-outform.$(OBJ): outform.c outform.h nasm.h
-parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
-preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+nasmlib.$(OBJ): nasmlib.c nasm.h insnsi.h nasmlib.h
+ndisasm.$(OBJ): ndisasm.c nasm.h insnsi.h sync.h disasm.h
+outas86.$(OBJ): outas86.c nasm.h insnsi.h nasmlib.h
+outaout.$(OBJ): outaout.c nasm.h insnsi.h nasmlib.h
+outbin.$(OBJ): outbin.c nasm.h insnsi.h nasmlib.h
+outcoff.$(OBJ): outcoff.c nasm.h insnsi.h nasmlib.h
+outdbg.$(OBJ): outdbg.c nasm.h insnsi.h nasmlib.h
+outelf.$(OBJ): outelf.c nasm.h insnsi.h nasmlib.h
+outobj.$(OBJ): outobj.c nasm.h insnsi.h nasmlib.h
+outrdf.$(OBJ): outrdf.c nasm.h insnsi.h nasmlib.h
+outform.$(OBJ): outform.c outform.h nasm.h insnsi.h
+parser.$(OBJ): parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
+preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h insnsi.h nasmlib.h
sync.$(OBJ): sync.c sync.h
# Another grotty hack: QC is less likely to run out of memory than
# CL proper; and we don't need any optimisation in these modules
# since they're just data.
-insnsa.$(OBJ): insnsa.c nasm.h insns.h
+insnsa.$(OBJ): insnsa.c nasm.h insnsi.h insns.h
$(QCL) insnsa.c
-insnsd.$(OBJ): insnsd.c nasm.h insns.h
+insnsd.$(OBJ): insnsd.c nasm.h insnsi.h insns.h
$(QCL) insnsd.c
clean :
diff --git a/Mkfiles/Makefile.wc b/Mkfiles/Makefile.wc
index 6f0d48a..d08750a 100644
--- a/Mkfiles/Makefile.wc
+++ b/Mkfiles/Makefile.wc
@@ -88,27 +88,27 @@ NDISASM.LNK: makefile.wc
echo F nasmlib.$(OBJ) >> NDISASM.LNK
echo F insnsd.$(OBJ) >> NDISASM.LNK
-assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
-disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
-eval.$(OBJ): eval.c nasm.h nasmlib.h eval.h
-float.$(OBJ): float.c nasm.h
-insnsa.$(OBJ): insnsa.c nasm.h insns.h
-insnsd.$(OBJ): insnsd.c nasm.h insns.h
-labels.$(OBJ): labels.c nasm.h nasmlib.h
-listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
-nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+assemble.$(OBJ): assemble.c nasm.h insnsi.h assemble.h insns.h
+disasm.$(OBJ): disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
+eval.$(OBJ): eval.c nasm.h insnsi.h nasmlib.h eval.h
+float.$(OBJ): float.c nasm.h insnsi.h
+insnsa.$(OBJ): insnsa.c nasm.h insnsi.h insns.h
+insnsd.$(OBJ): insnsd.c nasm.h insnsi.h insns.h
+labels.$(OBJ): labels.c nasm.h insnsi.h nasmlib.h
+listing.$(OBJ): listing.c nasm.h insnsi.h nasmlib.h listing.h
+nasm.$(OBJ): nasm.c nasm.h insnsi.h nasmlib.h parser.h assemble.h labels.h \
listing.h outform.h
-nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
-ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
-outas86.$(OBJ): outas86.c nasm.h nasmlib.h
-outaout.$(OBJ): outaout.c nasm.h nasmlib.h
-outbin.$(OBJ): outbin.c nasm.h nasmlib.h
-outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
-outelf.$(OBJ): outelf.c nasm.h nasmlib.h
-outobj.$(OBJ): outobj.c nasm.h nasmlib.h
-outform.$(OBJ): outform.c outform.h nasm.h
-parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
-preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+nasmlib.$(OBJ): nasmlib.c nasm.h insnsi.h nasmlib.h
+ndisasm.$(OBJ): ndisasm.c nasm.h insnsi.h sync.h disasm.h
+outas86.$(OBJ): outas86.c nasm.h insnsi.h nasmlib.h
+outaout.$(OBJ): outaout.c nasm.h insnsi.h nasmlib.h
+outbin.$(OBJ): outbin.c nasm.h insnsi.h nasmlib.h
+outcoff.$(OBJ): outcoff.c nasm.h insnsi.h nasmlib.h
+outelf.$(OBJ): outelf.c nasm.h insnsi.h nasmlib.h
+outobj.$(OBJ): outobj.c nasm.h insnsi.h nasmlib.h
+outform.$(OBJ): outform.c outform.h nasm.h insnsi.h
+parser.$(OBJ): parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
+preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h insnsi.h nasmlib.h
sync.$(OBJ): sync.c sync.h
clean :
diff --git a/Mkfiles/Makefile.wcw b/Mkfiles/Makefile.wcw
index d592c69..d5d364d 100644
--- a/Mkfiles/Makefile.wcw
+++ b/Mkfiles/Makefile.wcw
@@ -88,27 +88,27 @@ NDISASM.LNK: makefile.wcw
echo F nasmlib.$(OBJ) >> NDISASM.LNK
echo F insnsd.$(OBJ) >> NDISASM.LNK
-assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
-disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
-eval.$(OBJ): eval.c nasm.h nasmlib.h eval.h
-float.$(OBJ): float.c nasm.h
-insnsa.$(OBJ): insnsa.c nasm.h insns.h
-insnsd.$(OBJ): insnsd.c nasm.h insns.h
-labels.$(OBJ): labels.c nasm.h nasmlib.h
-listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
-nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+assemble.$(OBJ): assemble.c nasm.h insnsi.h assemble.h insns.h
+disasm.$(OBJ): disasm.c nasm.h insnsi.h disasm.h sync.h insns.h names.c insnsn.c
+eval.$(OBJ): eval.c nasm.h insnsi.h nasmlib.h eval.h
+float.$(OBJ): float.c nasm.h insnsi.h
+insnsa.$(OBJ): insnsa.c nasm.h insnsi.h insns.h
+insnsd.$(OBJ): insnsd.c nasm.h insnsi.h insns.h
+labels.$(OBJ): labels.c nasm.h insnsi.h nasmlib.h
+listing.$(OBJ): listing.c nasm.h insnsi.h nasmlib.h listing.h
+nasm.$(OBJ): nasm.c nasm.h insnsi.h nasmlib.h parser.h assemble.h labels.h \
listing.h outform.h
-nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
-ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
-outas86.$(OBJ): outas86.c nasm.h nasmlib.h
-outaout.$(OBJ): outaout.c nasm.h nasmlib.h
-outbin.$(OBJ): outbin.c nasm.h nasmlib.h
-outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
-outelf.$(OBJ): outelf.c nasm.h nasmlib.h
-outobj.$(OBJ): outobj.c nasm.h nasmlib.h
-outform.$(OBJ): outform.c outform.h nasm.h
-parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
-preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+nasmlib.$(OBJ): nasmlib.c nasm.h insnsi.h nasmlib.h
+ndisasm.$(OBJ): ndisasm.c nasm.h insnsi.h sync.h disasm.h
+outas86.$(OBJ): outas86.c nasm.h insnsi.h nasmlib.h
+outaout.$(OBJ): outaout.c nasm.h insnsi.h nasmlib.h
+outbin.$(OBJ): outbin.c nasm.h insnsi.h nasmlib.h
+outcoff.$(OBJ): outcoff.c nasm.h insnsi.h nasmlib.h
+outelf.$(OBJ): outelf.c nasm.h insnsi.h nasmlib.h
+outobj.$(OBJ): outobj.c nasm.h insnsi.h nasmlib.h
+outform.$(OBJ): outform.c outform.h nasm.h insnsi.h
+parser.$(OBJ): parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insnsn.c
+preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h insnsi.h nasmlib.h
sync.$(OBJ): sync.c sync.h
clean :
diff --git a/changes.asm b/changes.asm
index 3c2edfd..05b6788 100644
--- a/changes.asm
+++ b/changes.asm
@@ -269,7 +269,20 @@ arg_example2 arg2
RETF word 4
; note "ENTER" has not been changed yet.
-
+
+;-----------------------------------------------------------------------------
+; Enhancement by hpa in insns.dat et al
+;
+; Simplified adding new instructions, and added some missing instructions
+;
+ int03 ; Instead of INT3
+ ud1 ; No documented mnemonic for this one
+ ud2
+ sysenter
+ sysexit
+ fxsave [ebx]
+ fxrstor [es:ebx+esi*4+0x3000]
+
%endif
%ifdef oldcrash ;*************************************************************
@@ -289,21 +302,6 @@ This_label_is_256_characters_long__There_used_to_be_a_bug_in_stdscan_which_made_
emlabel empty_macro
jmp emlabel
-%endif
-
-;-----------------------------------------------------------------------------
-; Enhancement by hpa in insns.dat et al
-;
-; Simplified added new instructions, and added some missing instructions
-;
- int03 ; Instead of INT3
- ud1 ; No documented mnemonic for this one
- ud2
- sysenter
- sysexit
- fxsave [ebx]
- fxrstor [es:ebx+esi*4+0x3000]
-
;-----------------------------------------------------------------------------
; Enhancement by Conan Brink in preproc.c
;
@@ -314,3 +312,5 @@ emlabel empty_macro
nop
%endrep
%endrep
+
+%endif
diff --git a/insns.pl b/insns.pl
index a61f6f9..d0407ec 100644
--- a/insns.pl
+++ b/insns.pl
@@ -28,11 +28,12 @@ while (<F>) {
push @$aname, $formatted;
}
if ( $_[0] =~ /cc$/ ) {
+ # Conditional instruction
$k_opcodes_cc{$_[0]}++;
} else {
+ # Unconditional instruction
$k_opcodes{$_[0]}++;
}
- $done{$_[0]} = 1 if !$done{$_[0]};
if ($formatted && !$nd) {
push @big, $formatted;
foreach $i (&startbyte($_[2])) {
@@ -44,8 +45,8 @@ while (<F>) {
close F;
-@opcodes = sort keys(%k_opcodes); # Unconditional instructions
-@opcodes_cc = sort keys(%k_opcodes_cc); # Conditional instructions
+@opcodes = sort keys(%k_opcodes);
+@opcodes_cc = sort keys(%k_opcodes_cc);
print STDERR "Writing insnsa.c...\n";
diff --git a/nasm.h b/nasm.h
index 833e68d..4076284 100644
--- a/nasm.h
+++ b/nasm.h
@@ -13,7 +13,7 @@
#define NASM_MAJOR_VER 0
#define NASM_MINOR_VER 98
-#define NASM_VER "0.98 pre-release 3.3"
+#define NASM_VER "0.98 pre-release 3.4"
#ifndef NULL
#define NULL 0
diff --git a/rdoff/Makefile.sc b/rdoff/Makefile.sc
index fca911a..f88e603 100644
--- a/rdoff/Makefile.sc
+++ b/rdoff/Makefile.sc
@@ -1,57 +1,54 @@
-# Makefile for RDOFF object file utils; part of the Netwide Assembler
-#
-# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
-# Julian Hall. All rights reserved. The software is
-# redistributable under the licence given in the file "Licence"
-# distributed in the NASM archive.
-#
-# This Makefile is designed for use under Unix (probably fairly
-# portably).
-
-CC = sc
-CCFLAGS = -I..\ -c -a1 -mn -Nc -w2 -w7 -o+time -5
-LINK = link
-LINKFLAGS = /noi /exet:NT /su:console
-
-OBJ=obj
-EXE=.exe
-
-NASMLIB = ..\nasmlib.$(OBJ)
-NASMLIB_H = ..\nasmlib.h
-LDRDFLIBS = rdoff.$(OBJ) $(NASMLIB) symtab.$(OBJ) collectn.$(OBJ) rdlib.$(OBJ)
-RDXLIBS = rdoff.$(OBJ) rdfload.$(OBJ) symtab.$(OBJ) collectn.$(OBJ)
-
-.c.$(OBJ):
- $(CC) $(CCFLAGS) $*.c
-
-all : rdfdump$(EXE) ldrdf$(EXE) rdx$(EXE) rdflib$(EXE) rdf2bin$(EXE) rdf2com$(EXE)
-
-rdfdump$(EXE) : rdfdump.$(OBJ)
- $(LINK) $(LINKFLAGS) rdfdump.$(OBJ), rdfdump$(EXE);
-ldrdf$(EXE) : ldrdf.$(OBJ) $(LDRDFLIBS)
- $(LINK) $(LINKFLAGS) ldrdf.$(OBJ) $(LDRDFLIBS), ldrdf$(EXE);
-rdx$(EXE) : rdx.$(OBJ) $(RDXLIBS)
- $(LINK) $(LINKFLAGS) rdx.$(OBJ) $(RDXLIBS), rdx$(EXE);
-rdflib$(EXE) : rdflib.$(OBJ)
- $(LINK) $(LINKFLAGS) rdflib.$(OBJ), rdflib$(EXE);
-rdf2bin$(EXE) : rdf2bin.$(OBJ) $(RDXLIBS) $(NASMLIB)
- $(LINK) $(LINKFLAGS) rdf2bin.$(OBJ) $(RDXLIBS) $(NASMLIB), rdf2bin$(EXE);
-rdf2com$(EXE) : rdf2bin$(EXE)
- copy rdf2bin$(EXE) rdf2com$(EXE)
-
-rdf2bin.$(OBJ) : rdf2bin.c
-rdfdump.$(OBJ) : rdfdump.c
-rdoff.$(OBJ) : rdoff.c rdoff.h
-ldrdf.$(OBJ) : ldrdf.c rdoff.h $(NASMLIB_H) symtab.h collectn.h rdlib.h
-symtab.$(OBJ) : symtab.c symtab.h
-collectn.$(OBJ) : collectn.c collectn.h
-rdx.$(OBJ) : rdx.c rdoff.h rdfload.h symtab.h
-rdfload.$(OBJ) : rdfload.c rdfload.h rdoff.h collectn.h symtab.h
-rdlib.$(OBJ) : rdlib.c rdlib.h
-rdflib.$(OBJ) : rdflib.c
-
-clean :
- del *.$(OBJ) rdfdump$(EXE) ldrdf$(EXE) rdx$(EXE) rdflib$(EXE) rdf2bin$(EXE)
-
-
- \ No newline at end of file
+# Makefile for RDOFF object file utils; part of the Netwide Assembler
+#
+# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+# Julian Hall. All rights reserved. The software is
+# redistributable under the licence given in the file "Licence"
+# distributed in the NASM archive.
+#
+# This Makefile is designed for use under Unix (probably fairly
+# portably).
+
+CC = sc
+CCFLAGS = -I..\ -c -a1 -mn -Nc -w2 -w7 -o+time -5
+LINK = link
+LINKFLAGS = /noi /exet:NT /su:console
+
+OBJ=obj
+EXE=.exe
+
+NASMLIB = ..\nasmlib.$(OBJ)
+NASMLIB_H = ..\nasmlib.h
+LDRDFLIBS = rdoff.$(OBJ) $(NASMLIB) symtab.$(OBJ) collectn.$(OBJ) rdlib.$(OBJ)
+RDXLIBS = rdoff.$(OBJ) rdfload.$(OBJ) symtab.$(OBJ) collectn.$(OBJ)
+
+.c.$(OBJ):
+ $(CC) $(CCFLAGS) $*.c
+
+all : rdfdump$(EXE) ldrdf$(EXE) rdx$(EXE) rdflib$(EXE) rdf2bin$(EXE) rdf2com$(EXE)
+
+rdfdump$(EXE) : rdfdump.$(OBJ)
+ $(LINK) $(LINKFLAGS) rdfdump.$(OBJ), rdfdump$(EXE);
+ldrdf$(EXE) : ldrdf.$(OBJ) $(LDRDFLIBS)
+ $(LINK) $(LINKFLAGS) ldrdf.$(OBJ) $(LDRDFLIBS), ldrdf$(EXE);
+rdx$(EXE) : rdx.$(OBJ) $(RDXLIBS)
+ $(LINK) $(LINKFLAGS) rdx.$(OBJ) $(RDXLIBS), rdx$(EXE);
+rdflib$(EXE) : rdflib.$(OBJ)
+ $(LINK) $(LINKFLAGS) rdflib.$(OBJ), rdflib$(EXE);
+rdf2bin$(EXE) : rdf2bin.$(OBJ) $(RDXLIBS) $(NASMLIB)
+ $(LINK) $(LINKFLAGS) rdf2bin.$(OBJ) $(RDXLIBS) $(NASMLIB), rdf2bin$(EXE);
+rdf2com$(EXE) : rdf2bin$(EXE)
+ copy rdf2bin$(EXE) rdf2com$(EXE)
+
+rdf2bin.$(OBJ) : rdf2bin.c
+rdfdump.$(OBJ) : rdfdump.c
+rdoff.$(OBJ) : rdoff.c rdoff.h
+ldrdf.$(OBJ) : ldrdf.c rdoff.h $(NASMLIB_H) symtab.h collectn.h rdlib.h
+symtab.$(OBJ) : symtab.c symtab.h
+collectn.$(OBJ) : collectn.c collectn.h
+rdx.$(OBJ) : rdx.c rdoff.h rdfload.h symtab.h
+rdfload.$(OBJ) : rdfload.c rdfload.h rdoff.h collectn.h symtab.h
+rdlib.$(OBJ) : rdlib.c rdlib.h
+rdflib.$(OBJ) : rdflib.c
+
+clean :
+ del *.$(OBJ) rdfdump$(EXE) ldrdf$(EXE) rdx$(EXE) rdflib$(EXE) rdf2bin$(EXE)