laag-nasm 2.13.03.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +57 -0
- data/LICENSE.txt +29 -0
- data/README.org +34 -0
- data/ext/laag/nasm/extconf.rb +16 -0
- data/laag-nasm.gemspec +20 -0
- data/lib/laag/nasm.rb +29 -0
- data/patches/Makefile.in.patch +13 -0
- data/vendor/repo.or.cz/nasm/.gitignore +102 -0
- data/vendor/repo.or.cz/nasm/AUTHORS +137 -0
- data/vendor/repo.or.cz/nasm/CHANGES +2 -0
- data/vendor/repo.or.cz/nasm/ChangeLog +2905 -0
- data/vendor/repo.or.cz/nasm/INSTALL +102 -0
- data/vendor/repo.or.cz/nasm/LICENSE +29 -0
- data/vendor/repo.or.cz/nasm/Makefile.in +855 -0
- data/vendor/repo.or.cz/nasm/Mkfiles/README +46 -0
- data/vendor/repo.or.cz/nasm/Mkfiles/msvc.mak +732 -0
- data/vendor/repo.or.cz/nasm/Mkfiles/openwcom.mak +706 -0
- data/vendor/repo.or.cz/nasm/README +23 -0
- data/vendor/repo.or.cz/nasm/SubmittingPatches +116 -0
- data/vendor/repo.or.cz/nasm/TODO +376 -0
- data/vendor/repo.or.cz/nasm/aclocal.m4 +139 -0
- data/vendor/repo.or.cz/nasm/asm/assemble.c +2957 -0
- data/vendor/repo.or.cz/nasm/asm/assemble.h +54 -0
- data/vendor/repo.or.cz/nasm/asm/directiv.c +566 -0
- data/vendor/repo.or.cz/nasm/asm/directiv.dat +92 -0
- data/vendor/repo.or.cz/nasm/asm/error.c +202 -0
- data/vendor/repo.or.cz/nasm/asm/eval.c +1014 -0
- data/vendor/repo.or.cz/nasm/asm/eval.h +49 -0
- data/vendor/repo.or.cz/nasm/asm/exprdump.c +79 -0
- data/vendor/repo.or.cz/nasm/asm/exprlib.c +200 -0
- data/vendor/repo.or.cz/nasm/asm/float.c +952 -0
- data/vendor/repo.or.cz/nasm/asm/float.h +54 -0
- data/vendor/repo.or.cz/nasm/asm/labels.c +540 -0
- data/vendor/repo.or.cz/nasm/asm/listing.c +346 -0
- data/vendor/repo.or.cz/nasm/asm/listing.h +113 -0
- data/vendor/repo.or.cz/nasm/asm/nasm.c +1855 -0
- data/vendor/repo.or.cz/nasm/asm/parser.c +1167 -0
- data/vendor/repo.or.cz/nasm/asm/parser.h +45 -0
- data/vendor/repo.or.cz/nasm/asm/phash.pl +109 -0
- data/vendor/repo.or.cz/nasm/asm/pptok.dat +96 -0
- data/vendor/repo.or.cz/nasm/asm/pptok.pl +271 -0
- data/vendor/repo.or.cz/nasm/asm/pragma.c +218 -0
- data/vendor/repo.or.cz/nasm/asm/preproc-nop.c +188 -0
- data/vendor/repo.or.cz/nasm/asm/preproc.c +5459 -0
- data/vendor/repo.or.cz/nasm/asm/preproc.h +55 -0
- data/vendor/repo.or.cz/nasm/asm/quote.c +479 -0
- data/vendor/repo.or.cz/nasm/asm/quote.h +44 -0
- data/vendor/repo.or.cz/nasm/asm/rdstrnum.c +68 -0
- data/vendor/repo.or.cz/nasm/asm/segalloc.c +51 -0
- data/vendor/repo.or.cz/nasm/asm/stdscan.c +345 -0
- data/vendor/repo.or.cz/nasm/asm/stdscan.h +49 -0
- data/vendor/repo.or.cz/nasm/asm/strfunc.c +359 -0
- data/vendor/repo.or.cz/nasm/asm/tokens.dat +135 -0
- data/vendor/repo.or.cz/nasm/asm/tokhash.pl +284 -0
- data/vendor/repo.or.cz/nasm/autogen.sh +9 -0
- data/vendor/repo.or.cz/nasm/common/common.c +122 -0
- data/vendor/repo.or.cz/nasm/config/msvc.h +192 -0
- data/vendor/repo.or.cz/nasm/config/unknown.h +51 -0
- data/vendor/repo.or.cz/nasm/config/watcom.h +74 -0
- data/vendor/repo.or.cz/nasm/configure.ac +253 -0
- data/vendor/repo.or.cz/nasm/contrib/MSVC6.txt +25 -0
- data/vendor/repo.or.cz/nasm/contrib/VSrules/nasm.README +16 -0
- data/vendor/repo.or.cz/nasm/contrib/VSrules/nasm.rules +79 -0
- data/vendor/repo.or.cz/nasm/disasm/disasm.c +1735 -0
- data/vendor/repo.or.cz/nasm/disasm/disasm.h +49 -0
- data/vendor/repo.or.cz/nasm/disasm/ndisasm.c +397 -0
- data/vendor/repo.or.cz/nasm/disasm/sync.c +132 -0
- data/vendor/repo.or.cz/nasm/disasm/sync.h +45 -0
- data/vendor/repo.or.cz/nasm/doc/Makefile.in +86 -0
- data/vendor/repo.or.cz/nasm/doc/README +20 -0
- data/vendor/repo.or.cz/nasm/doc/afmmetrics.ph +102 -0
- data/vendor/repo.or.cz/nasm/doc/changes.src +2588 -0
- data/vendor/repo.or.cz/nasm/doc/findfont.ph +180 -0
- data/vendor/repo.or.cz/nasm/doc/genps.pl +1294 -0
- data/vendor/repo.or.cz/nasm/doc/inslist.pl +108 -0
- data/vendor/repo.or.cz/nasm/doc/internal.doc +290 -0
- data/vendor/repo.or.cz/nasm/doc/local.css +1 -0
- data/vendor/repo.or.cz/nasm/doc/nasmdoc.css +150 -0
- data/vendor/repo.or.cz/nasm/doc/nasmdoc.src +8309 -0
- data/vendor/repo.or.cz/nasm/doc/nasmlogo.eps +212 -0
- data/vendor/repo.or.cz/nasm/doc/nasmlogw.png +0 -0
- data/vendor/repo.or.cz/nasm/doc/psfonts.ph +53 -0
- data/vendor/repo.or.cz/nasm/doc/pspdf.pl +98 -0
- data/vendor/repo.or.cz/nasm/doc/pswidth.ph +25 -0
- data/vendor/repo.or.cz/nasm/doc/rdsrc.pl +1111 -0
- data/vendor/repo.or.cz/nasm/doc/ttfmetrics.ph +63 -0
- data/vendor/repo.or.cz/nasm/headers/c +33 -0
- data/vendor/repo.or.cz/nasm/headers/doc +33 -0
- data/vendor/repo.or.cz/nasm/headers/mac +33 -0
- data/vendor/repo.or.cz/nasm/headers/perl +33 -0
- data/vendor/repo.or.cz/nasm/include/compiler.h +277 -0
- data/vendor/repo.or.cz/nasm/include/disp8.h +45 -0
- data/vendor/repo.or.cz/nasm/include/error.h +135 -0
- data/vendor/repo.or.cz/nasm/include/hashtbl.h +85 -0
- data/vendor/repo.or.cz/nasm/include/iflag.h +173 -0
- data/vendor/repo.or.cz/nasm/include/insns.h +76 -0
- data/vendor/repo.or.cz/nasm/include/labels.h +60 -0
- data/vendor/repo.or.cz/nasm/include/md5.h +21 -0
- data/vendor/repo.or.cz/nasm/include/nasm.h +1246 -0
- data/vendor/repo.or.cz/nasm/include/nasmint.h +219 -0
- data/vendor/repo.or.cz/nasm/include/nasmlib.h +524 -0
- data/vendor/repo.or.cz/nasm/include/opflags.h +271 -0
- data/vendor/repo.or.cz/nasm/include/perfhash.h +52 -0
- data/vendor/repo.or.cz/nasm/include/raa.h +46 -0
- data/vendor/repo.or.cz/nasm/include/rbtree.h +51 -0
- data/vendor/repo.or.cz/nasm/include/rdoff.h +169 -0
- data/vendor/repo.or.cz/nasm/include/saa.h +94 -0
- data/vendor/repo.or.cz/nasm/include/strlist.h +55 -0
- data/vendor/repo.or.cz/nasm/include/tables.h +70 -0
- data/vendor/repo.or.cz/nasm/include/ver.h +47 -0
- data/vendor/repo.or.cz/nasm/install-sh +250 -0
- data/vendor/repo.or.cz/nasm/macros/altreg.mac +107 -0
- data/vendor/repo.or.cz/nasm/macros/fp.mac +54 -0
- data/vendor/repo.or.cz/nasm/macros/ifunc.mac +48 -0
- data/vendor/repo.or.cz/nasm/macros/macros.pl +294 -0
- data/vendor/repo.or.cz/nasm/macros/smartalign.mac +189 -0
- data/vendor/repo.or.cz/nasm/macros/standard.mac +226 -0
- data/vendor/repo.or.cz/nasm/misc/Doxyfile +752 -0
- data/vendor/repo.or.cz/nasm/misc/Nindent +18 -0
- data/vendor/repo.or.cz/nasm/misc/README +2 -0
- data/vendor/repo.or.cz/nasm/misc/c16.mac +82 -0
- data/vendor/repo.or.cz/nasm/misc/c32.mac +52 -0
- data/vendor/repo.or.cz/nasm/misc/crcgen.c +44 -0
- data/vendor/repo.or.cz/nasm/misc/exebin.mac +57 -0
- data/vendor/repo.or.cz/nasm/misc/exebin2.mac +114 -0
- data/vendor/repo.or.cz/nasm/misc/fmtinsns.pl +40 -0
- data/vendor/repo.or.cz/nasm/misc/genfma.pl +63 -0
- data/vendor/repo.or.cz/nasm/misc/hints.txt +26 -0
- data/vendor/repo.or.cz/nasm/misc/magic +6 -0
- data/vendor/repo.or.cz/nasm/misc/myC32.mac +121 -0
- data/vendor/repo.or.cz/nasm/misc/nasm.sl +320 -0
- data/vendor/repo.or.cz/nasm/misc/nasmstab +296 -0
- data/vendor/repo.or.cz/nasm/misc/omfdump.c +517 -0
- data/vendor/repo.or.cz/nasm/misc/pmw.bat +9 -0
- data/vendor/repo.or.cz/nasm/misc/proc32.ash +441 -0
- data/vendor/repo.or.cz/nasm/misc/scitech.mac +1223 -0
- data/vendor/repo.or.cz/nasm/misc/xcrcgen.c +80 -0
- data/vendor/repo.or.cz/nasm/nasm.spec.in +83 -0
- data/vendor/repo.or.cz/nasm/nasm.spec.sed +3 -0
- data/vendor/repo.or.cz/nasm/nasm.txt +306 -0
- data/vendor/repo.or.cz/nasm/nasmlib/badenum.c +43 -0
- data/vendor/repo.or.cz/nasm/nasmlib/bsi.c +77 -0
- data/vendor/repo.or.cz/nasm/nasmlib/crc64.c +189 -0
- data/vendor/repo.or.cz/nasm/nasmlib/file.c +259 -0
- data/vendor/repo.or.cz/nasm/nasmlib/file.h +128 -0
- data/vendor/repo.or.cz/nasm/nasmlib/filename.c +69 -0
- data/vendor/repo.or.cz/nasm/nasmlib/hashtbl.c +232 -0
- data/vendor/repo.or.cz/nasm/nasmlib/ilog2.c +168 -0
- data/vendor/repo.or.cz/nasm/nasmlib/malloc.c +108 -0
- data/vendor/repo.or.cz/nasm/nasmlib/md5c.c +247 -0
- data/vendor/repo.or.cz/nasm/nasmlib/mmap.c +139 -0
- data/vendor/repo.or.cz/nasm/nasmlib/path.c +186 -0
- data/vendor/repo.or.cz/nasm/nasmlib/perfhash.c +55 -0
- data/vendor/repo.or.cz/nasm/nasmlib/perfhash.pl +362 -0
- data/vendor/repo.or.cz/nasm/nasmlib/raa.c +173 -0
- data/vendor/repo.or.cz/nasm/nasmlib/rbtree.c +119 -0
- data/vendor/repo.or.cz/nasm/nasmlib/readnum.c +172 -0
- data/vendor/repo.or.cz/nasm/nasmlib/realpath.c +135 -0
- data/vendor/repo.or.cz/nasm/nasmlib/saa.c +431 -0
- data/vendor/repo.or.cz/nasm/nasmlib/srcfile.c +128 -0
- data/vendor/repo.or.cz/nasm/nasmlib/string.c +242 -0
- data/vendor/repo.or.cz/nasm/nasmlib/strlist.c +100 -0
- data/vendor/repo.or.cz/nasm/nasmlib/ver.c +51 -0
- data/vendor/repo.or.cz/nasm/nasmlib/zerobuf.c +42 -0
- data/vendor/repo.or.cz/nasm/ndisasm.txt +94 -0
- data/vendor/repo.or.cz/nasm/nsis/NASMMultiUser.nsh +478 -0
- data/vendor/repo.or.cz/nasm/nsis/getpearch.pl +76 -0
- data/vendor/repo.or.cz/nasm/nsis/nasm-un.ico +0 -0
- data/vendor/repo.or.cz/nasm/nsis/nasm.ico +0 -0
- data/vendor/repo.or.cz/nasm/nsis/nasm.nsi +241 -0
- data/vendor/repo.or.cz/nasm/output/codeview.c +814 -0
- data/vendor/repo.or.cz/nasm/output/dwarf.h +566 -0
- data/vendor/repo.or.cz/nasm/output/elf.h +537 -0
- data/vendor/repo.or.cz/nasm/output/legacy.c +112 -0
- data/vendor/repo.or.cz/nasm/output/nulldbg.c +93 -0
- data/vendor/repo.or.cz/nasm/output/nullout.c +51 -0
- data/vendor/repo.or.cz/nasm/output/outaout.c +954 -0
- data/vendor/repo.or.cz/nasm/output/outaout.mac +37 -0
- data/vendor/repo.or.cz/nasm/output/outas86.c +650 -0
- data/vendor/repo.or.cz/nasm/output/outas86.mac +37 -0
- data/vendor/repo.or.cz/nasm/output/outbin.c +1713 -0
- data/vendor/repo.or.cz/nasm/output/outbin.mac +40 -0
- data/vendor/repo.or.cz/nasm/output/outcoff.c +1242 -0
- data/vendor/repo.or.cz/nasm/output/outcoff.mac +43 -0
- data/vendor/repo.or.cz/nasm/output/outdbg.c +425 -0
- data/vendor/repo.or.cz/nasm/output/outelf.c +3370 -0
- data/vendor/repo.or.cz/nasm/output/outelf.h +156 -0
- data/vendor/repo.or.cz/nasm/output/outelf.mac +41 -0
- data/vendor/repo.or.cz/nasm/output/outform.c +120 -0
- data/vendor/repo.or.cz/nasm/output/outform.h +379 -0
- data/vendor/repo.or.cz/nasm/output/outieee.c +1528 -0
- data/vendor/repo.or.cz/nasm/output/outlib.c +58 -0
- data/vendor/repo.or.cz/nasm/output/outlib.h +63 -0
- data/vendor/repo.or.cz/nasm/output/outmacho.c +2387 -0
- data/vendor/repo.or.cz/nasm/output/outmacho.mac +49 -0
- data/vendor/repo.or.cz/nasm/output/outobj.c +2725 -0
- data/vendor/repo.or.cz/nasm/output/outobj.mac +49 -0
- data/vendor/repo.or.cz/nasm/output/outrdf.mac +40 -0
- data/vendor/repo.or.cz/nasm/output/outrdf2.c +791 -0
- data/vendor/repo.or.cz/nasm/output/outrdf2.mac +43 -0
- data/vendor/repo.or.cz/nasm/output/pecoff.h +532 -0
- data/vendor/repo.or.cz/nasm/output/stabs.h +144 -0
- data/vendor/repo.or.cz/nasm/perllib/crc64.ph +158 -0
- data/vendor/repo.or.cz/nasm/perllib/gensv.pl +34 -0
- data/vendor/repo.or.cz/nasm/perllib/phash.ph +200 -0
- data/vendor/repo.or.cz/nasm/perllib/random_sv_vectors.ph +67 -0
- data/vendor/repo.or.cz/nasm/rdoff/README +185 -0
- data/vendor/repo.or.cz/nasm/rdoff/collectn.c +44 -0
- data/vendor/repo.or.cz/nasm/rdoff/collectn.h +22 -0
- data/vendor/repo.or.cz/nasm/rdoff/doc/Makefile +37 -0
- data/vendor/repo.or.cz/nasm/rdoff/doc/rdoff.texi +137 -0
- data/vendor/repo.or.cz/nasm/rdoff/doc/v1-v2.txt +62 -0
- data/vendor/repo.or.cz/nasm/rdoff/hash.c +122 -0
- data/vendor/repo.or.cz/nasm/rdoff/hash.h +17 -0
- data/vendor/repo.or.cz/nasm/rdoff/ldrdf.1 +41 -0
- data/vendor/repo.or.cz/nasm/rdoff/ldrdf.c +1395 -0
- data/vendor/repo.or.cz/nasm/rdoff/ldsegs.h +59 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdf2bin.1 +65 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdf2bin.c +431 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdf2com.1 +1 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdf2ihx.1 +1 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdf2ith.1 +1 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdf2srec.1 +1 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdfdump.1 +24 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdfdump.c +347 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdflib.1 +39 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdflib.c +434 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdfload.c +213 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdfload.h +29 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdfutils.h +165 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdlar.c +492 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdlar.h +34 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdlib.c +290 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdlib.h +62 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdoff.c +621 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdx.1 +21 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdx.c +90 -0
- data/vendor/repo.or.cz/nasm/rdoff/segtab.c +172 -0
- data/vendor/repo.or.cz/nasm/rdoff/segtab.h +45 -0
- data/vendor/repo.or.cz/nasm/rdoff/symtab.c +159 -0
- data/vendor/repo.or.cz/nasm/rdoff/symtab.h +55 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/Makefile +10 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/makelib.sh +14 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/rdfseg.asm +20 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/rdfseg2.asm +12 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/rdftest1.asm +54 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/rdftest2.asm +33 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/rdtlib.asm +48 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/rdtmain.asm +47 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/testlib.asm +18 -0
- data/vendor/repo.or.cz/nasm/stdlib/snprintf.c +29 -0
- data/vendor/repo.or.cz/nasm/stdlib/strlcpy.c +51 -0
- data/vendor/repo.or.cz/nasm/stdlib/strnlen.c +46 -0
- data/vendor/repo.or.cz/nasm/stdlib/vsnprintf.c +51 -0
- data/vendor/repo.or.cz/nasm/test/Makefile +106 -0
- data/vendor/repo.or.cz/nasm/test/_file_.asm +5 -0
- data/vendor/repo.or.cz/nasm/test/_version.asm +2 -0
- data/vendor/repo.or.cz/nasm/test/a32offs.asm +9 -0
- data/vendor/repo.or.cz/nasm/test/absolute.asm +40 -0
- data/vendor/repo.or.cz/nasm/test/addr64x.asm +18 -0
- data/vendor/repo.or.cz/nasm/test/align13.asm +19 -0
- data/vendor/repo.or.cz/nasm/test/align13s.asm +20 -0
- data/vendor/repo.or.cz/nasm/test/alonesym-obj.asm +166 -0
- data/vendor/repo.or.cz/nasm/test/andbyte.asm +15 -0
- data/vendor/repo.or.cz/nasm/test/aoutso.asm +99 -0
- data/vendor/repo.or.cz/nasm/test/aouttest.asm +86 -0
- data/vendor/repo.or.cz/nasm/test/aouttest.c +36 -0
- data/vendor/repo.or.cz/nasm/test/avx.asm +46 -0
- data/vendor/repo.or.cz/nasm/test/avx005.asm +529 -0
- data/vendor/repo.or.cz/nasm/test/avx2.asm +1608 -0
- data/vendor/repo.or.cz/nasm/test/avx512cd.asm +106 -0
- data/vendor/repo.or.cz/nasm/test/avx512er.asm +144 -0
- data/vendor/repo.or.cz/nasm/test/avx512f.asm +7000 -0
- data/vendor/repo.or.cz/nasm/test/avx512pf.asm +88 -0
- data/vendor/repo.or.cz/nasm/test/bcd.asm +23 -0
- data/vendor/repo.or.cz/nasm/test/binexe.asm +35 -0
- data/vendor/repo.or.cz/nasm/test/bintest.asm +59 -0
- data/vendor/repo.or.cz/nasm/test/bisect.sh +22 -0
- data/vendor/repo.or.cz/nasm/test/br1879590.asm +25 -0
- data/vendor/repo.or.cz/nasm/test/br2003451.asm +17 -0
- data/vendor/repo.or.cz/nasm/test/br2030823.asm +7 -0
- data/vendor/repo.or.cz/nasm/test/br2148476.asm +221 -0
- data/vendor/repo.or.cz/nasm/test/br2222615.asm +19 -0
- data/vendor/repo.or.cz/nasm/test/br2496848.asm +42 -0
- data/vendor/repo.or.cz/nasm/test/br3005117.asm +26 -0
- data/vendor/repo.or.cz/nasm/test/br3026808.asm +20 -0
- data/vendor/repo.or.cz/nasm/test/br3028880.asm +8 -0
- data/vendor/repo.or.cz/nasm/test/br3041451.asm +59 -0
- data/vendor/repo.or.cz/nasm/test/br3058845.asm +14 -0
- data/vendor/repo.or.cz/nasm/test/br3066383.asm +70 -0
- data/vendor/repo.or.cz/nasm/test/br3074517.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/br3092924.asm +25 -0
- data/vendor/repo.or.cz/nasm/test/br3104312.asm +11 -0
- data/vendor/repo.or.cz/nasm/test/br3109604.asm +9 -0
- data/vendor/repo.or.cz/nasm/test/br3174983.asm +9 -0
- data/vendor/repo.or.cz/nasm/test/br3187743.asm +7 -0
- data/vendor/repo.or.cz/nasm/test/br3189064.asm +7 -0
- data/vendor/repo.or.cz/nasm/test/br3200749.asm +9 -0
- data/vendor/repo.or.cz/nasm/test/br3385573.asm +11 -0
- data/vendor/repo.or.cz/nasm/test/br3392252.asm +43 -0
- data/vendor/repo.or.cz/nasm/test/br3392259.asm +8 -0
- data/vendor/repo.or.cz/nasm/test/br3392363.asm +4 -0
- data/vendor/repo.or.cz/nasm/test/br3392392.asm +16 -0
- data/vendor/repo.or.cz/nasm/test/br3392396.asm +5 -0
- data/vendor/repo.or.cz/nasm/test/br3392411.asm +22 -0
- data/vendor/repo.or.cz/nasm/test/br3392418.asm +3 -0
- data/vendor/repo.or.cz/nasm/test/br3392439.asm +25 -0
- data/vendor/repo.or.cz/nasm/test/br3392442.asm +6 -0
- data/vendor/repo.or.cz/nasm/test/br560575.asm +17 -0
- data/vendor/repo.or.cz/nasm/test/br560873.asm +27 -0
- data/vendor/repo.or.cz/nasm/test/br890790.asm +7 -0
- data/vendor/repo.or.cz/nasm/test/br890790_i.asm +1 -0
- data/vendor/repo.or.cz/nasm/test/br978756.asm +7 -0
- data/vendor/repo.or.cz/nasm/test/changed.asm +383 -0
- data/vendor/repo.or.cz/nasm/test/cofftest.asm +85 -0
- data/vendor/repo.or.cz/nasm/test/cofftest.c +35 -0
- data/vendor/repo.or.cz/nasm/test/crc32.asm +37 -0
- data/vendor/repo.or.cz/nasm/test/cv8struc.asm +14 -0
- data/vendor/repo.or.cz/nasm/test/dtbcd.asm +72 -0
- data/vendor/repo.or.cz/nasm/test/elf64so.asm +118 -0
- data/vendor/repo.or.cz/nasm/test/elfso.asm +100 -0
- data/vendor/repo.or.cz/nasm/test/elftest.asm +87 -0
- data/vendor/repo.or.cz/nasm/test/elftest.c +38 -0
- data/vendor/repo.or.cz/nasm/test/elftest64.c +43 -0
- data/vendor/repo.or.cz/nasm/test/elif.asm +39 -0
- data/vendor/repo.or.cz/nasm/test/expimp.asm +90 -0
- data/vendor/repo.or.cz/nasm/test/far64.asm +10 -0
- data/vendor/repo.or.cz/nasm/test/float.asm +186 -0
- data/vendor/repo.or.cz/nasm/test/float8.asm +135 -0
- data/vendor/repo.or.cz/nasm/test/floatb.asm +35 -0
- data/vendor/repo.or.cz/nasm/test/floatexp.asm +382 -0
- data/vendor/repo.or.cz/nasm/test/floatize.asm +19 -0
- data/vendor/repo.or.cz/nasm/test/floattest.asm +28 -0
- data/vendor/repo.or.cz/nasm/test/floatx.asm +525 -0
- data/vendor/repo.or.cz/nasm/test/fpu.asm +127 -0
- data/vendor/repo.or.cz/nasm/test/fwdopt.asm +133 -0
- data/vendor/repo.or.cz/nasm/test/fwdoptpp.asm +150 -0
- data/vendor/repo.or.cz/nasm/test/gas2nasm.py +104 -0
- data/vendor/repo.or.cz/nasm/test/gather.asm +11 -0
- data/vendor/repo.or.cz/nasm/test/gotoff64.asm +25 -0
- data/vendor/repo.or.cz/nasm/test/hexfp.asm +25 -0
- data/vendor/repo.or.cz/nasm/test/hle.asm +19 -0
- data/vendor/repo.or.cz/nasm/test/ifelse.asm +46 -0
- data/vendor/repo.or.cz/nasm/test/ifenv.asm +31 -0
- data/vendor/repo.or.cz/nasm/test/ifmacro.asm +413 -0
- data/vendor/repo.or.cz/nasm/test/iftoken.asm +317 -0
- data/vendor/repo.or.cz/nasm/test/iftoken.pl +32 -0
- data/vendor/repo.or.cz/nasm/test/ilog2.asm +271 -0
- data/vendor/repo.or.cz/nasm/test/imacro.asm +8 -0
- data/vendor/repo.or.cz/nasm/test/imm.asm +23 -0
- data/vendor/repo.or.cz/nasm/test/imm64.asm +61 -0
- data/vendor/repo.or.cz/nasm/test/immwarn.asm +91 -0
- data/vendor/repo.or.cz/nasm/test/imul.asm +117 -0
- data/vendor/repo.or.cz/nasm/test/inc1.asm +6 -0
- data/vendor/repo.or.cz/nasm/test/inc2.asm +8 -0
- data/vendor/repo.or.cz/nasm/test/incbin.asm +7 -0
- data/vendor/repo.or.cz/nasm/test/incbin.data +2 -0
- data/vendor/repo.or.cz/nasm/test/inctest.asm +15 -0
- data/vendor/repo.or.cz/nasm/test/insnlbl.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/invlpga.asm +11 -0
- data/vendor/repo.or.cz/nasm/test/jmp64.asm +19 -0
- data/vendor/repo.or.cz/nasm/test/lar_lsl.asm +124 -0
- data/vendor/repo.or.cz/nasm/test/larlsl.asm +23 -0
- data/vendor/repo.or.cz/nasm/test/lnxhello.asm +54 -0
- data/vendor/repo.or.cz/nasm/test/local.asm +19 -0
- data/vendor/repo.or.cz/nasm/test/loopoffs.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/lwp.asm +213 -0
- data/vendor/repo.or.cz/nasm/test/macro-defaults.asm +64 -0
- data/vendor/repo.or.cz/nasm/test/macroerr.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/macroerr.inc +3 -0
- data/vendor/repo.or.cz/nasm/test/mmxsize.asm +38 -0
- data/vendor/repo.or.cz/nasm/test/movd.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/movd64.asm +15 -0
- data/vendor/repo.or.cz/nasm/test/movimm.asm +28 -0
- data/vendor/repo.or.cz/nasm/test/movnti.asm +10 -0
- data/vendor/repo.or.cz/nasm/test/mpx-64.asm +120 -0
- data/vendor/repo.or.cz/nasm/test/mpx.asm +89 -0
- data/vendor/repo.or.cz/nasm/test/multisection.asm +96 -0
- data/vendor/repo.or.cz/nasm/test/nasmformat.asm +17 -0
- data/vendor/repo.or.cz/nasm/test/new +9 -0
- data/vendor/repo.or.cz/nasm/test/newrdwr.asm +24 -0
- data/vendor/repo.or.cz/nasm/test/nop.asm +17 -0
- data/vendor/repo.or.cz/nasm/test/nullfile.asm +4 -0
- data/vendor/repo.or.cz/nasm/test/objexe.asm +30 -0
- data/vendor/repo.or.cz/nasm/test/objlink.c +33 -0
- data/vendor/repo.or.cz/nasm/test/objtest.asm +85 -0
- data/vendor/repo.or.cz/nasm/test/optimization.asm +104 -0
- data/vendor/repo.or.cz/nasm/test/org.asm +18 -0
- data/vendor/repo.or.cz/nasm/test/paste.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/pcrel.asm +52 -0
- data/vendor/repo.or.cz/nasm/test/perf/label.pl +18 -0
- data/vendor/repo.or.cz/nasm/test/perf/macro.pl +18 -0
- data/vendor/repo.or.cz/nasm/test/perf/token.pl +23 -0
- data/vendor/repo.or.cz/nasm/test/performtest.pl +192 -0
- data/vendor/repo.or.cz/nasm/test/pextrw.asm +3 -0
- data/vendor/repo.or.cz/nasm/test/pinsr16.asm +53 -0
- data/vendor/repo.or.cz/nasm/test/pinsr32.asm +53 -0
- data/vendor/repo.or.cz/nasm/test/pinsr64.asm +68 -0
- data/vendor/repo.or.cz/nasm/test/popcnt.asm +32 -0
- data/vendor/repo.or.cz/nasm/test/ppindirect.asm +42 -0
- data/vendor/repo.or.cz/nasm/test/pragma.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/prefix66.asm +28 -0
- data/vendor/repo.or.cz/nasm/test/ptr.asm +4 -0
- data/vendor/repo.or.cz/nasm/test/pushseg.asm +17 -0
- data/vendor/repo.or.cz/nasm/test/r13.asm +15 -0
- data/vendor/repo.or.cz/nasm/test/radix.asm +54 -0
- data/vendor/repo.or.cz/nasm/test/rdpid.asm +21 -0
- data/vendor/repo.or.cz/nasm/test/reldef.asm +57 -0
- data/vendor/repo.or.cz/nasm/test/relocs.asm +20 -0
- data/vendor/repo.or.cz/nasm/test/riprel.asm +5357 -0
- data/vendor/repo.or.cz/nasm/test/riprel.pl +29 -0
- data/vendor/repo.or.cz/nasm/test/riprel2.asm +11 -0
- data/vendor/repo.or.cz/nasm/test/sha-64.asm +30 -0
- data/vendor/repo.or.cz/nasm/test/sha.asm +31 -0
- data/vendor/repo.or.cz/nasm/test/smartalign16.asm +36 -0
- data/vendor/repo.or.cz/nasm/test/smartalign32.asm +36 -0
- data/vendor/repo.or.cz/nasm/test/smartalign64.asm +36 -0
- data/vendor/repo.or.cz/nasm/test/splitea.asm +11 -0
- data/vendor/repo.or.cz/nasm/test/sreg.asm +65 -0
- data/vendor/repo.or.cz/nasm/test/strlen.asm +5 -0
- data/vendor/repo.or.cz/nasm/test/struc.asm +33 -0
- data/vendor/repo.or.cz/nasm/test/test67.asm +38 -0
- data/vendor/repo.or.cz/nasm/test/testdos.asm +13 -0
- data/vendor/repo.or.cz/nasm/test/testnos3.asm +973 -0
- data/vendor/repo.or.cz/nasm/test/time.asm +11 -0
- data/vendor/repo.or.cz/nasm/test/times.asm +21 -0
- data/vendor/repo.or.cz/nasm/test/timesneg.asm +3 -0
- data/vendor/repo.or.cz/nasm/test/tmap.nas +1447 -0
- data/vendor/repo.or.cz/nasm/test/uscore.asm +15 -0
- data/vendor/repo.or.cz/nasm/test/utf.asm +82 -0
- data/vendor/repo.or.cz/nasm/test/vaesenc.asm +22 -0
- data/vendor/repo.or.cz/nasm/test/vex.asm +9 -0
- data/vendor/repo.or.cz/nasm/test/vgather.asm +76 -0
- data/vendor/repo.or.cz/nasm/test/vmread.asm +26 -0
- data/vendor/repo.or.cz/nasm/test/weirdpaste.asm +29 -0
- data/vendor/repo.or.cz/nasm/test/xchg.asm +96 -0
- data/vendor/repo.or.cz/nasm/test/xcrypt.asm +24 -0
- data/vendor/repo.or.cz/nasm/test/xmm0.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/zerobyte.asm +22 -0
- data/vendor/repo.or.cz/nasm/tools/cleanfile +176 -0
- data/vendor/repo.or.cz/nasm/tools/cleanpatch +258 -0
- data/vendor/repo.or.cz/nasm/tools/mkdep.pl +261 -0
- data/vendor/repo.or.cz/nasm/tools/release +105 -0
- data/vendor/repo.or.cz/nasm/tools/syncfiles.pl +137 -0
- data/vendor/repo.or.cz/nasm/tools/tag-release +58 -0
- data/vendor/repo.or.cz/nasm/version +1 -0
- data/vendor/repo.or.cz/nasm/version.pl +189 -0
- data/vendor/repo.or.cz/nasm/x86/disp8.c +131 -0
- data/vendor/repo.or.cz/nasm/x86/insns-iflags.ph +280 -0
- data/vendor/repo.or.cz/nasm/x86/insns.dat +5371 -0
- data/vendor/repo.or.cz/nasm/x86/insns.pl +1043 -0
- data/vendor/repo.or.cz/nasm/x86/regs.dat +138 -0
- data/vendor/repo.or.cz/nasm/x86/regs.pl +204 -0
- metadata +520 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
bits 64
|
|
2
|
+
vpaddd zmm0, zmm0, [rax]{1to16}
|
|
3
|
+
vpaddd zmm2{k3}, zmm0, zmm1
|
|
4
|
+
vpaddd zmm2 {k3}, zmm0, zmm1
|
|
5
|
+
vpaddd zmm0{k1}, zmm0, [rax]{1to16}
|
|
6
|
+
vmovdqa32 [rsi]{k1}, zmm1
|
|
7
|
+
vmovdqa32 [rsi]{z}, zmm1
|
|
8
|
+
vmovdqa32 [rsi]{k1}{z}, zmm1
|
|
9
|
+
vmovdqa32 [rsi]{z}{k1}, zmm1
|
|
10
|
+
%ifdef ERROR
|
|
11
|
+
vmovdqa32 [rsi]{z}{1to16}, zmm1
|
|
12
|
+
vmovdqa32 [rsi]{z}{k1}{1to16}, zmm1
|
|
13
|
+
vpaddd zmm0, zmm0, [rax]{k1}
|
|
14
|
+
vpaddd zmm0, zmm1, zmm2{1to16}
|
|
15
|
+
%endif
|
|
16
|
+
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
segment _TEXT class=CODE USE32 align=1 CPU=686
|
|
2
|
+
|
|
3
|
+
extern _entry
|
|
4
|
+
|
|
5
|
+
start:
|
|
6
|
+
mov ax, 0x18
|
|
7
|
+
mov ds, ax
|
|
8
|
+
mov es, ax
|
|
9
|
+
mov ss, ax
|
|
10
|
+
xor eax, eax
|
|
11
|
+
mov ax, 0x1234
|
|
12
|
+
shl eax, 4
|
|
13
|
+
add eax, 0x3000
|
|
14
|
+
mov esp, [eax]
|
|
15
|
+
|
|
16
|
+
call _entry
|
|
17
|
+
|
|
18
|
+
.infloop:
|
|
19
|
+
hlt
|
|
20
|
+
jmp .infloop
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
global _ret_16
|
|
24
|
+
_ret_16:
|
|
25
|
+
jmp dword 0x10:0x8000
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
;Testname=aout; Arguments=-faout -obr560575.o; Files=stderr stdout br560575.o
|
|
2
|
+
;Testname=aoutb; Arguments=-faoutb -obr560575.o; Files=stderr stdout br560575.o
|
|
3
|
+
;Testname=coff; Arguments=-fcoff -obr560575.o; Files=stderr stdout br560575.o
|
|
4
|
+
;Testname=elf32; Arguments=-felf32 -obr560575.o; Files=stderr stdout br560575.o
|
|
5
|
+
;Testname=elf64; Arguments=-felf64 -obr560575.o; Files=stderr stdout br560575.o
|
|
6
|
+
;Testname=as86; Arguments=-fas86 -obr560575.o; Files=stderr stdout br560575.o
|
|
7
|
+
;Testname=win32; Arguments=-fwin32 -obr560575.o; Files=stderr stdout br560575.o
|
|
8
|
+
;Testname=win64; Arguments=-fwin64 -obr560575.o; Files=stderr stdout br560575.o
|
|
9
|
+
;Testname=rdf; Arguments=-frdf -obr560575.o; Files=stderr stdout br560575.o
|
|
10
|
+
;Testname=ieee; Arguments=-fieee -obr560575.o; Files=stderr stdout br560575.o
|
|
11
|
+
;Testname=macho; Arguments=-fmacho -obr560575.o; Files=stderr stdout br560575.o
|
|
12
|
+
|
|
13
|
+
;Test for bug report 560575 - Using SEG with non-relocatable values doesn't work
|
|
14
|
+
;
|
|
15
|
+
dw seg ~1
|
|
16
|
+
dw seg "a"
|
|
17
|
+
dw seg 'a'
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
;Testname=unoptimized; Arguments=-O0 -frdf -obr560873.rdf; Files=stdout stderr br560873.rdf
|
|
2
|
+
;Testname=optimized; Arguments=-Ox -frdf -obr560873.rdf; Files=stdout stderr br560873.rdf
|
|
3
|
+
|
|
4
|
+
label:
|
|
5
|
+
bits 16
|
|
6
|
+
call far dword label
|
|
7
|
+
mov [label],ax
|
|
8
|
+
mov [label],eax
|
|
9
|
+
mov [word label],ax
|
|
10
|
+
mov [word label],eax
|
|
11
|
+
mov [dword label],ax
|
|
12
|
+
mov [dword label],eax
|
|
13
|
+
push 3700
|
|
14
|
+
push word 3700
|
|
15
|
+
push dword 3700
|
|
16
|
+
|
|
17
|
+
bits 32
|
|
18
|
+
call far word label
|
|
19
|
+
mov [label],ax
|
|
20
|
+
mov [label],eax
|
|
21
|
+
mov [word label],ax
|
|
22
|
+
mov [word label],eax
|
|
23
|
+
mov [dword label],ax
|
|
24
|
+
mov [dword label],eax
|
|
25
|
+
push 3700
|
|
26
|
+
push word 3700
|
|
27
|
+
push dword 3700
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
db 2
|
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
;This file demonstrates many of the differences between NASM version X and NASM
|
|
2
|
+
;version 0.97
|
|
3
|
+
;
|
|
4
|
+
; changed.asm is copyright (C) 1998 John S. Fine
|
|
5
|
+
;
|
|
6
|
+
; It may be redistributed under the same conditions as NASM as described in
|
|
7
|
+
; LICENSE file in the NASM archive
|
|
8
|
+
;_________________________________
|
|
9
|
+
;
|
|
10
|
+
; nasm changed.asm -l changed.lst
|
|
11
|
+
;
|
|
12
|
+
; When assembled without any -d switches, it includes examples which:
|
|
13
|
+
; Work correctly in version X
|
|
14
|
+
; and Work incorrectly and/or display warnings in version 0.97
|
|
15
|
+
; and Do not prevent the generation of output in version 0.97
|
|
16
|
+
;
|
|
17
|
+
; Not all the differences can be seen in the .lst file. I suggest that you use
|
|
18
|
+
; "ndisasm changes" to examine the code actually generated.
|
|
19
|
+
;_________________________________
|
|
20
|
+
;
|
|
21
|
+
; nasm changed.asm -l changed.lst -doldmsg
|
|
22
|
+
;
|
|
23
|
+
; When assembled with -doldmsg, it adds examples which:
|
|
24
|
+
; Work correctly in version X
|
|
25
|
+
; and Generate error messages in version 0.97 and do not generate output
|
|
26
|
+
;_________________________________
|
|
27
|
+
;
|
|
28
|
+
; nasm changed.asm -l changed.lst -doldcrash
|
|
29
|
+
;
|
|
30
|
+
; When assembled with -doldcrash, it adds examples which:
|
|
31
|
+
; Work correctly in version X
|
|
32
|
+
; and Cause NASM to crash in version 0.97
|
|
33
|
+
;_________________________________
|
|
34
|
+
;
|
|
35
|
+
; nasm changed.asm -l changed.lst -dnewmsg
|
|
36
|
+
;
|
|
37
|
+
; When assembled with -dnewmsg, it adds examples which:
|
|
38
|
+
; Generate error messages in version X
|
|
39
|
+
; and Generate wrong output without warning or error message in version 0.97
|
|
40
|
+
;-----------------------------------------------------------------------------
|
|
41
|
+
|
|
42
|
+
; Please note that I have reported the name of the person who made the
|
|
43
|
+
; correction based on very limited information. In several cases, I am sure I
|
|
44
|
+
; will identify the wrong author. Please send me any corrections; I don't
|
|
45
|
+
; intend to insult or exclude anyone.
|
|
46
|
+
|
|
47
|
+
;-----------------------------------------------------------------------------
|
|
48
|
+
; Bug fixed by Simon in assemble()
|
|
49
|
+
;
|
|
50
|
+
; The following generated "call next" / "call next-1" instead of
|
|
51
|
+
; two copies of "call next"
|
|
52
|
+
;
|
|
53
|
+
times 2 a16 call next
|
|
54
|
+
next:
|
|
55
|
+
|
|
56
|
+
;-----------------------------------------------------------------------------
|
|
57
|
+
; Bug fixed by John in parse_line() (and other routines)
|
|
58
|
+
;
|
|
59
|
+
; This used to jmp to prior.1, when it should be here.1
|
|
60
|
+
;
|
|
61
|
+
prior:
|
|
62
|
+
.1:
|
|
63
|
+
here: jmp .1
|
|
64
|
+
.1:
|
|
65
|
+
|
|
66
|
+
;-----------------------------------------------------------------------------
|
|
67
|
+
; Bug fixed by John in assemble()
|
|
68
|
+
;
|
|
69
|
+
; Strings used in dq and dt were not zero filled correctly
|
|
70
|
+
;
|
|
71
|
+
dq 'b'
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
;-----------------------------------------------------------------------------
|
|
75
|
+
; Bug fixed by Simon in isn_names[]
|
|
76
|
+
;
|
|
77
|
+
; Was not recognised as an instruction
|
|
78
|
+
;
|
|
79
|
+
int01 ; Instead of INT1
|
|
80
|
+
|
|
81
|
+
;-----------------------------------------------------------------------------
|
|
82
|
+
; Bug fixed by Jim Hague in ???
|
|
83
|
+
;
|
|
84
|
+
; Forward references were instruction level rather than per operand
|
|
85
|
+
;
|
|
86
|
+
shr word [forwardref],1
|
|
87
|
+
forwardref:
|
|
88
|
+
|
|
89
|
+
;-----------------------------------------------------------------------------
|
|
90
|
+
; Bug fixed by John in preproc.c
|
|
91
|
+
;
|
|
92
|
+
; It used to silently discard id characters appended to a multi-line
|
|
93
|
+
; macro parameter (such as the x in %1x below).
|
|
94
|
+
;
|
|
95
|
+
%macro xxx 1
|
|
96
|
+
%1: nop
|
|
97
|
+
%{1}x: jmp %1x
|
|
98
|
+
%endmacro
|
|
99
|
+
xxx yyy
|
|
100
|
+
|
|
101
|
+
;-----------------------------------------------------------------------------
|
|
102
|
+
; Bug added by John in preproc.c 0.98-J4, removed by John in 0.98-J5
|
|
103
|
+
;
|
|
104
|
+
; Tested here to make sure it stays removed
|
|
105
|
+
;
|
|
106
|
+
%macro TestElse 1
|
|
107
|
+
%if %1=0
|
|
108
|
+
%elif %1=1
|
|
109
|
+
nop
|
|
110
|
+
%endif
|
|
111
|
+
%endmacro
|
|
112
|
+
TestElse 1
|
|
113
|
+
|
|
114
|
+
%ifdef oldmsg
|
|
115
|
+
;***************************************************************
|
|
116
|
+
;
|
|
117
|
+
; The following examples will generate error messages in 0.97 and will generate
|
|
118
|
+
; correct output in the new version.
|
|
119
|
+
|
|
120
|
+
;-----------------------------------------------------------------------------
|
|
121
|
+
; Bug fixed by Simon in isns.dat
|
|
122
|
+
;
|
|
123
|
+
; The optional "near" was not permitted on JMP and CALL
|
|
124
|
+
;
|
|
125
|
+
jmp near here
|
|
126
|
+
|
|
127
|
+
;-----------------------------------------------------------------------------
|
|
128
|
+
; Feature added by Simon in stdscan()
|
|
129
|
+
;
|
|
130
|
+
; You can now use the numeric value of strings in %assign
|
|
131
|
+
;
|
|
132
|
+
%assign xxx 'ABCD'
|
|
133
|
+
dd xxx
|
|
134
|
+
|
|
135
|
+
;-----------------------------------------------------------------------------
|
|
136
|
+
; Feature added by John in add_vectors()
|
|
137
|
+
;
|
|
138
|
+
; Stranger address expressions are now supported as long as they resolve to
|
|
139
|
+
; something valid.
|
|
140
|
+
;
|
|
141
|
+
mov ax, [eax + ebx + ecx - eax]
|
|
142
|
+
|
|
143
|
+
;-----------------------------------------------------------------------------
|
|
144
|
+
; Bug fixed by Simon in ???
|
|
145
|
+
;
|
|
146
|
+
; The EQU directive affected local labels in a way that was inconsistent
|
|
147
|
+
; between passes
|
|
148
|
+
;
|
|
149
|
+
.local:
|
|
150
|
+
neither equ $
|
|
151
|
+
jmp .local
|
|
152
|
+
|
|
153
|
+
;-----------------------------------------------------------------------------
|
|
154
|
+
; Feature added by Jules in parse_line
|
|
155
|
+
;
|
|
156
|
+
; You can override a size specifier
|
|
157
|
+
;
|
|
158
|
+
%define arg1 dword [bp+4]
|
|
159
|
+
cmp word arg1, 2
|
|
160
|
+
|
|
161
|
+
;-----------------------------------------------------------------------------
|
|
162
|
+
; Bug fixed by John in preproc.c
|
|
163
|
+
;
|
|
164
|
+
; You could not use a label on the same line with a macro invocation, if the
|
|
165
|
+
; macro definition began with a preprocessor directive.
|
|
166
|
+
;
|
|
167
|
+
struc mytype
|
|
168
|
+
.long resd 1
|
|
169
|
+
endstruc
|
|
170
|
+
|
|
171
|
+
lbl istruc mytype
|
|
172
|
+
at mytype.long, dd 'ABCD'
|
|
173
|
+
iend
|
|
174
|
+
|
|
175
|
+
;-----------------------------------------------------------------------------
|
|
176
|
+
; Warning removed by John in preproc.c
|
|
177
|
+
;
|
|
178
|
+
; In order to allow macros that extend the definition of instructions, I
|
|
179
|
+
; disabled the warning on a multi-line macro referencing itself.
|
|
180
|
+
;
|
|
181
|
+
%endif ;NASM 0.97 doesn't handle %0 etc. inside false %if
|
|
182
|
+
%macro push 1-* ;
|
|
183
|
+
%rep %0 ;
|
|
184
|
+
push %1 ;
|
|
185
|
+
%rotate 1 ;
|
|
186
|
+
%endrep ;
|
|
187
|
+
%endmacro ;
|
|
188
|
+
%ifdef oldmsg ;
|
|
189
|
+
|
|
190
|
+
push ax,bx
|
|
191
|
+
|
|
192
|
+
;-----------------------------------------------------------------------------
|
|
193
|
+
; Warning removed by John in preproc.c
|
|
194
|
+
;
|
|
195
|
+
; To support other types of macros that extend the definition of instructions,
|
|
196
|
+
; I disabled the warning on a multi-line macro called with the wrong number of
|
|
197
|
+
; parameters. PUSH and POP can be extended equally well by either method, but
|
|
198
|
+
; other intruction extensions may need one method or the other, so I made both
|
|
199
|
+
; work.
|
|
200
|
+
;
|
|
201
|
+
; Note that neither of these warnings was really needed, because a later stage
|
|
202
|
+
; of NASM would almost always give an adequate error message if the macro use
|
|
203
|
+
; really was wrong.
|
|
204
|
+
;
|
|
205
|
+
%endif
|
|
206
|
+
%macro pop 2-*
|
|
207
|
+
%rep %0
|
|
208
|
+
pop %1
|
|
209
|
+
%rotate 1
|
|
210
|
+
%endrep
|
|
211
|
+
%endmacro
|
|
212
|
+
%ifdef oldmsg
|
|
213
|
+
|
|
214
|
+
pop ax,bx
|
|
215
|
+
%endif
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
%ifdef newmsg ;***************************************************************
|
|
219
|
+
|
|
220
|
+
;-----------------------------------------------------------------------------
|
|
221
|
+
; Bug fixed by John in parse_line() (and other routines)
|
|
222
|
+
;
|
|
223
|
+
; This invalid code used to assemble without errors
|
|
224
|
+
;
|
|
225
|
+
myself equ myself+1
|
|
226
|
+
jmp myself
|
|
227
|
+
|
|
228
|
+
;-----------------------------------------------------------------------------
|
|
229
|
+
; Change made by John in preproc.c
|
|
230
|
+
;
|
|
231
|
+
; In 0.97, an id that appears as a label on a macro invocation was always
|
|
232
|
+
; prepended to the first line of the macro expansion. That caused several
|
|
233
|
+
; bugs, but also could be used in tricks like the arg macro in c16.mac and
|
|
234
|
+
; c32.mac.
|
|
235
|
+
;
|
|
236
|
+
; In version X, an id that appears as a label on a macro invocation will
|
|
237
|
+
; normally be defined as a label for the address at which the macro is
|
|
238
|
+
; invoked, regardless of whether the first line of the macro expansion is
|
|
239
|
+
; something that can take a label. The new token %00 may be used for any
|
|
240
|
+
; of the situations in which the old prepend behavior was doing something
|
|
241
|
+
; tricky but useful. %00 can also be used more than once and in places
|
|
242
|
+
; other than the start of the expansion.
|
|
243
|
+
;
|
|
244
|
+
%endif
|
|
245
|
+
%assign arg_off 0
|
|
246
|
+
|
|
247
|
+
%imacro arg 0-1 2 ;arg defined the old way
|
|
248
|
+
equ arg_off
|
|
249
|
+
%assign arg_off %1+arg_off
|
|
250
|
+
%endmacro
|
|
251
|
+
|
|
252
|
+
%ifdef newmsg
|
|
253
|
+
arg_example arg
|
|
254
|
+
%endif
|
|
255
|
+
|
|
256
|
+
%imacro arg2 0-1 2 ;arg defined the new way
|
|
257
|
+
%00 equ arg_off
|
|
258
|
+
%assign arg_off %1+arg_off
|
|
259
|
+
%endmacro
|
|
260
|
+
|
|
261
|
+
%ifdef oldmsg
|
|
262
|
+
arg_example2 arg2
|
|
263
|
+
|
|
264
|
+
;-----------------------------------------------------------------------------
|
|
265
|
+
; Change made by Jules and John in INSNS.DAT
|
|
266
|
+
;
|
|
267
|
+
; Various instruction in which the size of an immediate is built-in to the
|
|
268
|
+
; instruction set, now allow you to redundantly specify that size as long
|
|
269
|
+
; as you specify it correctly
|
|
270
|
+
;
|
|
271
|
+
AAD byte 5
|
|
272
|
+
AAM byte 5
|
|
273
|
+
BT bx, byte 3
|
|
274
|
+
BTC cx, byte 4
|
|
275
|
+
BTR dx, byte 5
|
|
276
|
+
BTS si, byte 6
|
|
277
|
+
IN eax, byte 0x40
|
|
278
|
+
INT byte 21h
|
|
279
|
+
OUT byte 70h, ax
|
|
280
|
+
RET word 2
|
|
281
|
+
RETN word 2
|
|
282
|
+
RETF word 4
|
|
283
|
+
|
|
284
|
+
; note "ENTER" has not been changed yet.
|
|
285
|
+
|
|
286
|
+
;-----------------------------------------------------------------------------
|
|
287
|
+
; Enhancement by hpa in insns.dat et al
|
|
288
|
+
;
|
|
289
|
+
; Simplified adding new instructions, and added some missing instructions
|
|
290
|
+
;
|
|
291
|
+
int03 ; Instead of INT3
|
|
292
|
+
ud1 ; No documented mnemonic for this one
|
|
293
|
+
ud2
|
|
294
|
+
sysenter
|
|
295
|
+
sysexit
|
|
296
|
+
syscall
|
|
297
|
+
sysret
|
|
298
|
+
fxsave [ebx]
|
|
299
|
+
fxrstor [es:ebx+esi*4+0x3000]
|
|
300
|
+
|
|
301
|
+
;-----------------------------------------------------------------------------
|
|
302
|
+
; Enhancement by hpa in insns.dat et al
|
|
303
|
+
;
|
|
304
|
+
; Actually make SSE work, and use the -p option to ndisasm to select
|
|
305
|
+
; one of several aliased opcodes
|
|
306
|
+
;
|
|
307
|
+
sqrtps xmm0,[ebx+10] ; SSE opcode
|
|
308
|
+
paddsiw mm0,[ebx+10] ; Cyrix opcode with the same byte seq.
|
|
309
|
+
|
|
310
|
+
;-----------------------------------------------------------------------------
|
|
311
|
+
; Enhancement by hpa in preproc.c
|
|
312
|
+
;
|
|
313
|
+
; Support %undef to remoce a single-line macro
|
|
314
|
+
;
|
|
315
|
+
%define TEST_ME 42
|
|
316
|
+
%ifndef TEST_ME
|
|
317
|
+
%error "TEST_ME not defined after %define"
|
|
318
|
+
%endif
|
|
319
|
+
|
|
320
|
+
%undef TEST_ME
|
|
321
|
+
%ifdef TEST_ME
|
|
322
|
+
%error "TEST_ME defined after %undef"
|
|
323
|
+
%endif
|
|
324
|
+
|
|
325
|
+
;-----------------------------------------------------------------------------
|
|
326
|
+
; Bug fix by hpa in insns.dat
|
|
327
|
+
;
|
|
328
|
+
; PSHUFW and PINSRW weren't handling the implicit sizes correctly; all of
|
|
329
|
+
; the entries below are (or should be) legal
|
|
330
|
+
;
|
|
331
|
+
pshufw mm2, mm1, 3
|
|
332
|
+
pshufw mm3,[ebx],2
|
|
333
|
+
pshufw mm7,[0+edi*8],1
|
|
334
|
+
|
|
335
|
+
pshufw mm2, mm1, byte 3
|
|
336
|
+
pshufw mm3,[ebx],byte 2
|
|
337
|
+
pshufw mm7,[0+edi*8],byte 1
|
|
338
|
+
|
|
339
|
+
pshufw mm2, mm1, 3
|
|
340
|
+
pshufw mm3, qword [ebx], 2
|
|
341
|
+
pshufw mm7, qword [0+edi*8], 1
|
|
342
|
+
|
|
343
|
+
pshufw mm2, mm1, byte 3
|
|
344
|
+
pshufw mm3, qword [ebx], byte 2
|
|
345
|
+
pshufw mm7, qword [0+edi*8], byte 1
|
|
346
|
+
|
|
347
|
+
pinsrw mm1, [esi], 1
|
|
348
|
+
pinsrw mm1, word [esi], 1
|
|
349
|
+
pinsrw mm1, [esi], byte 1
|
|
350
|
+
pinsrw mm1, word [esi], byte 1
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
%endif ; oldmsg
|
|
354
|
+
|
|
355
|
+
%ifdef oldcrash ;*************************************************************
|
|
356
|
+
|
|
357
|
+
This_label_is_256_characters_long__There_used_to_be_a_bug_in_stdscan_which_made_it_crash_when_it_did_a_keyword_search_on_any_label_longer_than_255_characters__Now_anything_longer_than_MAX_KEYWORD_is_always_a_symbol__It_will_not_even_try_a_keyword_search___
|
|
358
|
+
|
|
359
|
+
;-----------------------------------------------------------------------------
|
|
360
|
+
; Bug fixed by John in preproc.c
|
|
361
|
+
;
|
|
362
|
+
; Builds of NASM that prohibit dereferencing a NULL pointer used to crash if a
|
|
363
|
+
; macro that started with a blank line was invoked with a label
|
|
364
|
+
;
|
|
365
|
+
%macro empty_macro 0
|
|
366
|
+
|
|
367
|
+
%endm
|
|
368
|
+
|
|
369
|
+
emlabel empty_macro
|
|
370
|
+
jmp emlabel
|
|
371
|
+
|
|
372
|
+
;-----------------------------------------------------------------------------
|
|
373
|
+
; Enhancement by Conan Brink in preproc.c
|
|
374
|
+
;
|
|
375
|
+
; Allow %rep to be nested
|
|
376
|
+
;
|
|
377
|
+
%rep 4
|
|
378
|
+
%rep 5
|
|
379
|
+
nop
|
|
380
|
+
%endrep
|
|
381
|
+
%endrep
|
|
382
|
+
|
|
383
|
+
%endif
|