NASM 0.98p3.4

This commit is contained in:
H. Peter Anvin 2002-04-30 20:56:19 +00:00
parent b64535fd4e
commit 4342239f77
17 changed files with 518 additions and 324 deletions

View file

@ -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

View file

@ -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)
################################################################

View file

@ -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 :

View file

@ -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

187
Mkfiles/Makefile.djo Normal file
View file

@ -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

View file

@ -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 :

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 :

View file

@ -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 :

View file

@ -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 :

View file

@ -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

View file

@ -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";

2
nasm.h
View file

@ -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

View file

@ -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)

# 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)