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.
Files changed (455) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +57 -0
  3. data/LICENSE.txt +29 -0
  4. data/README.org +34 -0
  5. data/ext/laag/nasm/extconf.rb +16 -0
  6. data/laag-nasm.gemspec +20 -0
  7. data/lib/laag/nasm.rb +29 -0
  8. data/patches/Makefile.in.patch +13 -0
  9. data/vendor/repo.or.cz/nasm/.gitignore +102 -0
  10. data/vendor/repo.or.cz/nasm/AUTHORS +137 -0
  11. data/vendor/repo.or.cz/nasm/CHANGES +2 -0
  12. data/vendor/repo.or.cz/nasm/ChangeLog +2905 -0
  13. data/vendor/repo.or.cz/nasm/INSTALL +102 -0
  14. data/vendor/repo.or.cz/nasm/LICENSE +29 -0
  15. data/vendor/repo.or.cz/nasm/Makefile.in +855 -0
  16. data/vendor/repo.or.cz/nasm/Mkfiles/README +46 -0
  17. data/vendor/repo.or.cz/nasm/Mkfiles/msvc.mak +732 -0
  18. data/vendor/repo.or.cz/nasm/Mkfiles/openwcom.mak +706 -0
  19. data/vendor/repo.or.cz/nasm/README +23 -0
  20. data/vendor/repo.or.cz/nasm/SubmittingPatches +116 -0
  21. data/vendor/repo.or.cz/nasm/TODO +376 -0
  22. data/vendor/repo.or.cz/nasm/aclocal.m4 +139 -0
  23. data/vendor/repo.or.cz/nasm/asm/assemble.c +2957 -0
  24. data/vendor/repo.or.cz/nasm/asm/assemble.h +54 -0
  25. data/vendor/repo.or.cz/nasm/asm/directiv.c +566 -0
  26. data/vendor/repo.or.cz/nasm/asm/directiv.dat +92 -0
  27. data/vendor/repo.or.cz/nasm/asm/error.c +202 -0
  28. data/vendor/repo.or.cz/nasm/asm/eval.c +1014 -0
  29. data/vendor/repo.or.cz/nasm/asm/eval.h +49 -0
  30. data/vendor/repo.or.cz/nasm/asm/exprdump.c +79 -0
  31. data/vendor/repo.or.cz/nasm/asm/exprlib.c +200 -0
  32. data/vendor/repo.or.cz/nasm/asm/float.c +952 -0
  33. data/vendor/repo.or.cz/nasm/asm/float.h +54 -0
  34. data/vendor/repo.or.cz/nasm/asm/labels.c +540 -0
  35. data/vendor/repo.or.cz/nasm/asm/listing.c +346 -0
  36. data/vendor/repo.or.cz/nasm/asm/listing.h +113 -0
  37. data/vendor/repo.or.cz/nasm/asm/nasm.c +1855 -0
  38. data/vendor/repo.or.cz/nasm/asm/parser.c +1167 -0
  39. data/vendor/repo.or.cz/nasm/asm/parser.h +45 -0
  40. data/vendor/repo.or.cz/nasm/asm/phash.pl +109 -0
  41. data/vendor/repo.or.cz/nasm/asm/pptok.dat +96 -0
  42. data/vendor/repo.or.cz/nasm/asm/pptok.pl +271 -0
  43. data/vendor/repo.or.cz/nasm/asm/pragma.c +218 -0
  44. data/vendor/repo.or.cz/nasm/asm/preproc-nop.c +188 -0
  45. data/vendor/repo.or.cz/nasm/asm/preproc.c +5459 -0
  46. data/vendor/repo.or.cz/nasm/asm/preproc.h +55 -0
  47. data/vendor/repo.or.cz/nasm/asm/quote.c +479 -0
  48. data/vendor/repo.or.cz/nasm/asm/quote.h +44 -0
  49. data/vendor/repo.or.cz/nasm/asm/rdstrnum.c +68 -0
  50. data/vendor/repo.or.cz/nasm/asm/segalloc.c +51 -0
  51. data/vendor/repo.or.cz/nasm/asm/stdscan.c +345 -0
  52. data/vendor/repo.or.cz/nasm/asm/stdscan.h +49 -0
  53. data/vendor/repo.or.cz/nasm/asm/strfunc.c +359 -0
  54. data/vendor/repo.or.cz/nasm/asm/tokens.dat +135 -0
  55. data/vendor/repo.or.cz/nasm/asm/tokhash.pl +284 -0
  56. data/vendor/repo.or.cz/nasm/autogen.sh +9 -0
  57. data/vendor/repo.or.cz/nasm/common/common.c +122 -0
  58. data/vendor/repo.or.cz/nasm/config/msvc.h +192 -0
  59. data/vendor/repo.or.cz/nasm/config/unknown.h +51 -0
  60. data/vendor/repo.or.cz/nasm/config/watcom.h +74 -0
  61. data/vendor/repo.or.cz/nasm/configure.ac +253 -0
  62. data/vendor/repo.or.cz/nasm/contrib/MSVC6.txt +25 -0
  63. data/vendor/repo.or.cz/nasm/contrib/VSrules/nasm.README +16 -0
  64. data/vendor/repo.or.cz/nasm/contrib/VSrules/nasm.rules +79 -0
  65. data/vendor/repo.or.cz/nasm/disasm/disasm.c +1735 -0
  66. data/vendor/repo.or.cz/nasm/disasm/disasm.h +49 -0
  67. data/vendor/repo.or.cz/nasm/disasm/ndisasm.c +397 -0
  68. data/vendor/repo.or.cz/nasm/disasm/sync.c +132 -0
  69. data/vendor/repo.or.cz/nasm/disasm/sync.h +45 -0
  70. data/vendor/repo.or.cz/nasm/doc/Makefile.in +86 -0
  71. data/vendor/repo.or.cz/nasm/doc/README +20 -0
  72. data/vendor/repo.or.cz/nasm/doc/afmmetrics.ph +102 -0
  73. data/vendor/repo.or.cz/nasm/doc/changes.src +2588 -0
  74. data/vendor/repo.or.cz/nasm/doc/findfont.ph +180 -0
  75. data/vendor/repo.or.cz/nasm/doc/genps.pl +1294 -0
  76. data/vendor/repo.or.cz/nasm/doc/inslist.pl +108 -0
  77. data/vendor/repo.or.cz/nasm/doc/internal.doc +290 -0
  78. data/vendor/repo.or.cz/nasm/doc/local.css +1 -0
  79. data/vendor/repo.or.cz/nasm/doc/nasmdoc.css +150 -0
  80. data/vendor/repo.or.cz/nasm/doc/nasmdoc.src +8309 -0
  81. data/vendor/repo.or.cz/nasm/doc/nasmlogo.eps +212 -0
  82. data/vendor/repo.or.cz/nasm/doc/nasmlogw.png +0 -0
  83. data/vendor/repo.or.cz/nasm/doc/psfonts.ph +53 -0
  84. data/vendor/repo.or.cz/nasm/doc/pspdf.pl +98 -0
  85. data/vendor/repo.or.cz/nasm/doc/pswidth.ph +25 -0
  86. data/vendor/repo.or.cz/nasm/doc/rdsrc.pl +1111 -0
  87. data/vendor/repo.or.cz/nasm/doc/ttfmetrics.ph +63 -0
  88. data/vendor/repo.or.cz/nasm/headers/c +33 -0
  89. data/vendor/repo.or.cz/nasm/headers/doc +33 -0
  90. data/vendor/repo.or.cz/nasm/headers/mac +33 -0
  91. data/vendor/repo.or.cz/nasm/headers/perl +33 -0
  92. data/vendor/repo.or.cz/nasm/include/compiler.h +277 -0
  93. data/vendor/repo.or.cz/nasm/include/disp8.h +45 -0
  94. data/vendor/repo.or.cz/nasm/include/error.h +135 -0
  95. data/vendor/repo.or.cz/nasm/include/hashtbl.h +85 -0
  96. data/vendor/repo.or.cz/nasm/include/iflag.h +173 -0
  97. data/vendor/repo.or.cz/nasm/include/insns.h +76 -0
  98. data/vendor/repo.or.cz/nasm/include/labels.h +60 -0
  99. data/vendor/repo.or.cz/nasm/include/md5.h +21 -0
  100. data/vendor/repo.or.cz/nasm/include/nasm.h +1246 -0
  101. data/vendor/repo.or.cz/nasm/include/nasmint.h +219 -0
  102. data/vendor/repo.or.cz/nasm/include/nasmlib.h +524 -0
  103. data/vendor/repo.or.cz/nasm/include/opflags.h +271 -0
  104. data/vendor/repo.or.cz/nasm/include/perfhash.h +52 -0
  105. data/vendor/repo.or.cz/nasm/include/raa.h +46 -0
  106. data/vendor/repo.or.cz/nasm/include/rbtree.h +51 -0
  107. data/vendor/repo.or.cz/nasm/include/rdoff.h +169 -0
  108. data/vendor/repo.or.cz/nasm/include/saa.h +94 -0
  109. data/vendor/repo.or.cz/nasm/include/strlist.h +55 -0
  110. data/vendor/repo.or.cz/nasm/include/tables.h +70 -0
  111. data/vendor/repo.or.cz/nasm/include/ver.h +47 -0
  112. data/vendor/repo.or.cz/nasm/install-sh +250 -0
  113. data/vendor/repo.or.cz/nasm/macros/altreg.mac +107 -0
  114. data/vendor/repo.or.cz/nasm/macros/fp.mac +54 -0
  115. data/vendor/repo.or.cz/nasm/macros/ifunc.mac +48 -0
  116. data/vendor/repo.or.cz/nasm/macros/macros.pl +294 -0
  117. data/vendor/repo.or.cz/nasm/macros/smartalign.mac +189 -0
  118. data/vendor/repo.or.cz/nasm/macros/standard.mac +226 -0
  119. data/vendor/repo.or.cz/nasm/misc/Doxyfile +752 -0
  120. data/vendor/repo.or.cz/nasm/misc/Nindent +18 -0
  121. data/vendor/repo.or.cz/nasm/misc/README +2 -0
  122. data/vendor/repo.or.cz/nasm/misc/c16.mac +82 -0
  123. data/vendor/repo.or.cz/nasm/misc/c32.mac +52 -0
  124. data/vendor/repo.or.cz/nasm/misc/crcgen.c +44 -0
  125. data/vendor/repo.or.cz/nasm/misc/exebin.mac +57 -0
  126. data/vendor/repo.or.cz/nasm/misc/exebin2.mac +114 -0
  127. data/vendor/repo.or.cz/nasm/misc/fmtinsns.pl +40 -0
  128. data/vendor/repo.or.cz/nasm/misc/genfma.pl +63 -0
  129. data/vendor/repo.or.cz/nasm/misc/hints.txt +26 -0
  130. data/vendor/repo.or.cz/nasm/misc/magic +6 -0
  131. data/vendor/repo.or.cz/nasm/misc/myC32.mac +121 -0
  132. data/vendor/repo.or.cz/nasm/misc/nasm.sl +320 -0
  133. data/vendor/repo.or.cz/nasm/misc/nasmstab +296 -0
  134. data/vendor/repo.or.cz/nasm/misc/omfdump.c +517 -0
  135. data/vendor/repo.or.cz/nasm/misc/pmw.bat +9 -0
  136. data/vendor/repo.or.cz/nasm/misc/proc32.ash +441 -0
  137. data/vendor/repo.or.cz/nasm/misc/scitech.mac +1223 -0
  138. data/vendor/repo.or.cz/nasm/misc/xcrcgen.c +80 -0
  139. data/vendor/repo.or.cz/nasm/nasm.spec.in +83 -0
  140. data/vendor/repo.or.cz/nasm/nasm.spec.sed +3 -0
  141. data/vendor/repo.or.cz/nasm/nasm.txt +306 -0
  142. data/vendor/repo.or.cz/nasm/nasmlib/badenum.c +43 -0
  143. data/vendor/repo.or.cz/nasm/nasmlib/bsi.c +77 -0
  144. data/vendor/repo.or.cz/nasm/nasmlib/crc64.c +189 -0
  145. data/vendor/repo.or.cz/nasm/nasmlib/file.c +259 -0
  146. data/vendor/repo.or.cz/nasm/nasmlib/file.h +128 -0
  147. data/vendor/repo.or.cz/nasm/nasmlib/filename.c +69 -0
  148. data/vendor/repo.or.cz/nasm/nasmlib/hashtbl.c +232 -0
  149. data/vendor/repo.or.cz/nasm/nasmlib/ilog2.c +168 -0
  150. data/vendor/repo.or.cz/nasm/nasmlib/malloc.c +108 -0
  151. data/vendor/repo.or.cz/nasm/nasmlib/md5c.c +247 -0
  152. data/vendor/repo.or.cz/nasm/nasmlib/mmap.c +139 -0
  153. data/vendor/repo.or.cz/nasm/nasmlib/path.c +186 -0
  154. data/vendor/repo.or.cz/nasm/nasmlib/perfhash.c +55 -0
  155. data/vendor/repo.or.cz/nasm/nasmlib/perfhash.pl +362 -0
  156. data/vendor/repo.or.cz/nasm/nasmlib/raa.c +173 -0
  157. data/vendor/repo.or.cz/nasm/nasmlib/rbtree.c +119 -0
  158. data/vendor/repo.or.cz/nasm/nasmlib/readnum.c +172 -0
  159. data/vendor/repo.or.cz/nasm/nasmlib/realpath.c +135 -0
  160. data/vendor/repo.or.cz/nasm/nasmlib/saa.c +431 -0
  161. data/vendor/repo.or.cz/nasm/nasmlib/srcfile.c +128 -0
  162. data/vendor/repo.or.cz/nasm/nasmlib/string.c +242 -0
  163. data/vendor/repo.or.cz/nasm/nasmlib/strlist.c +100 -0
  164. data/vendor/repo.or.cz/nasm/nasmlib/ver.c +51 -0
  165. data/vendor/repo.or.cz/nasm/nasmlib/zerobuf.c +42 -0
  166. data/vendor/repo.or.cz/nasm/ndisasm.txt +94 -0
  167. data/vendor/repo.or.cz/nasm/nsis/NASMMultiUser.nsh +478 -0
  168. data/vendor/repo.or.cz/nasm/nsis/getpearch.pl +76 -0
  169. data/vendor/repo.or.cz/nasm/nsis/nasm-un.ico +0 -0
  170. data/vendor/repo.or.cz/nasm/nsis/nasm.ico +0 -0
  171. data/vendor/repo.or.cz/nasm/nsis/nasm.nsi +241 -0
  172. data/vendor/repo.or.cz/nasm/output/codeview.c +814 -0
  173. data/vendor/repo.or.cz/nasm/output/dwarf.h +566 -0
  174. data/vendor/repo.or.cz/nasm/output/elf.h +537 -0
  175. data/vendor/repo.or.cz/nasm/output/legacy.c +112 -0
  176. data/vendor/repo.or.cz/nasm/output/nulldbg.c +93 -0
  177. data/vendor/repo.or.cz/nasm/output/nullout.c +51 -0
  178. data/vendor/repo.or.cz/nasm/output/outaout.c +954 -0
  179. data/vendor/repo.or.cz/nasm/output/outaout.mac +37 -0
  180. data/vendor/repo.or.cz/nasm/output/outas86.c +650 -0
  181. data/vendor/repo.or.cz/nasm/output/outas86.mac +37 -0
  182. data/vendor/repo.or.cz/nasm/output/outbin.c +1713 -0
  183. data/vendor/repo.or.cz/nasm/output/outbin.mac +40 -0
  184. data/vendor/repo.or.cz/nasm/output/outcoff.c +1242 -0
  185. data/vendor/repo.or.cz/nasm/output/outcoff.mac +43 -0
  186. data/vendor/repo.or.cz/nasm/output/outdbg.c +425 -0
  187. data/vendor/repo.or.cz/nasm/output/outelf.c +3370 -0
  188. data/vendor/repo.or.cz/nasm/output/outelf.h +156 -0
  189. data/vendor/repo.or.cz/nasm/output/outelf.mac +41 -0
  190. data/vendor/repo.or.cz/nasm/output/outform.c +120 -0
  191. data/vendor/repo.or.cz/nasm/output/outform.h +379 -0
  192. data/vendor/repo.or.cz/nasm/output/outieee.c +1528 -0
  193. data/vendor/repo.or.cz/nasm/output/outlib.c +58 -0
  194. data/vendor/repo.or.cz/nasm/output/outlib.h +63 -0
  195. data/vendor/repo.or.cz/nasm/output/outmacho.c +2387 -0
  196. data/vendor/repo.or.cz/nasm/output/outmacho.mac +49 -0
  197. data/vendor/repo.or.cz/nasm/output/outobj.c +2725 -0
  198. data/vendor/repo.or.cz/nasm/output/outobj.mac +49 -0
  199. data/vendor/repo.or.cz/nasm/output/outrdf.mac +40 -0
  200. data/vendor/repo.or.cz/nasm/output/outrdf2.c +791 -0
  201. data/vendor/repo.or.cz/nasm/output/outrdf2.mac +43 -0
  202. data/vendor/repo.or.cz/nasm/output/pecoff.h +532 -0
  203. data/vendor/repo.or.cz/nasm/output/stabs.h +144 -0
  204. data/vendor/repo.or.cz/nasm/perllib/crc64.ph +158 -0
  205. data/vendor/repo.or.cz/nasm/perllib/gensv.pl +34 -0
  206. data/vendor/repo.or.cz/nasm/perllib/phash.ph +200 -0
  207. data/vendor/repo.or.cz/nasm/perllib/random_sv_vectors.ph +67 -0
  208. data/vendor/repo.or.cz/nasm/rdoff/README +185 -0
  209. data/vendor/repo.or.cz/nasm/rdoff/collectn.c +44 -0
  210. data/vendor/repo.or.cz/nasm/rdoff/collectn.h +22 -0
  211. data/vendor/repo.or.cz/nasm/rdoff/doc/Makefile +37 -0
  212. data/vendor/repo.or.cz/nasm/rdoff/doc/rdoff.texi +137 -0
  213. data/vendor/repo.or.cz/nasm/rdoff/doc/v1-v2.txt +62 -0
  214. data/vendor/repo.or.cz/nasm/rdoff/hash.c +122 -0
  215. data/vendor/repo.or.cz/nasm/rdoff/hash.h +17 -0
  216. data/vendor/repo.or.cz/nasm/rdoff/ldrdf.1 +41 -0
  217. data/vendor/repo.or.cz/nasm/rdoff/ldrdf.c +1395 -0
  218. data/vendor/repo.or.cz/nasm/rdoff/ldsegs.h +59 -0
  219. data/vendor/repo.or.cz/nasm/rdoff/rdf2bin.1 +65 -0
  220. data/vendor/repo.or.cz/nasm/rdoff/rdf2bin.c +431 -0
  221. data/vendor/repo.or.cz/nasm/rdoff/rdf2com.1 +1 -0
  222. data/vendor/repo.or.cz/nasm/rdoff/rdf2ihx.1 +1 -0
  223. data/vendor/repo.or.cz/nasm/rdoff/rdf2ith.1 +1 -0
  224. data/vendor/repo.or.cz/nasm/rdoff/rdf2srec.1 +1 -0
  225. data/vendor/repo.or.cz/nasm/rdoff/rdfdump.1 +24 -0
  226. data/vendor/repo.or.cz/nasm/rdoff/rdfdump.c +347 -0
  227. data/vendor/repo.or.cz/nasm/rdoff/rdflib.1 +39 -0
  228. data/vendor/repo.or.cz/nasm/rdoff/rdflib.c +434 -0
  229. data/vendor/repo.or.cz/nasm/rdoff/rdfload.c +213 -0
  230. data/vendor/repo.or.cz/nasm/rdoff/rdfload.h +29 -0
  231. data/vendor/repo.or.cz/nasm/rdoff/rdfutils.h +165 -0
  232. data/vendor/repo.or.cz/nasm/rdoff/rdlar.c +492 -0
  233. data/vendor/repo.or.cz/nasm/rdoff/rdlar.h +34 -0
  234. data/vendor/repo.or.cz/nasm/rdoff/rdlib.c +290 -0
  235. data/vendor/repo.or.cz/nasm/rdoff/rdlib.h +62 -0
  236. data/vendor/repo.or.cz/nasm/rdoff/rdoff.c +621 -0
  237. data/vendor/repo.or.cz/nasm/rdoff/rdx.1 +21 -0
  238. data/vendor/repo.or.cz/nasm/rdoff/rdx.c +90 -0
  239. data/vendor/repo.or.cz/nasm/rdoff/segtab.c +172 -0
  240. data/vendor/repo.or.cz/nasm/rdoff/segtab.h +45 -0
  241. data/vendor/repo.or.cz/nasm/rdoff/symtab.c +159 -0
  242. data/vendor/repo.or.cz/nasm/rdoff/symtab.h +55 -0
  243. data/vendor/repo.or.cz/nasm/rdoff/test/Makefile +10 -0
  244. data/vendor/repo.or.cz/nasm/rdoff/test/makelib.sh +14 -0
  245. data/vendor/repo.or.cz/nasm/rdoff/test/rdfseg.asm +20 -0
  246. data/vendor/repo.or.cz/nasm/rdoff/test/rdfseg2.asm +12 -0
  247. data/vendor/repo.or.cz/nasm/rdoff/test/rdftest1.asm +54 -0
  248. data/vendor/repo.or.cz/nasm/rdoff/test/rdftest2.asm +33 -0
  249. data/vendor/repo.or.cz/nasm/rdoff/test/rdtlib.asm +48 -0
  250. data/vendor/repo.or.cz/nasm/rdoff/test/rdtmain.asm +47 -0
  251. data/vendor/repo.or.cz/nasm/rdoff/test/testlib.asm +18 -0
  252. data/vendor/repo.or.cz/nasm/stdlib/snprintf.c +29 -0
  253. data/vendor/repo.or.cz/nasm/stdlib/strlcpy.c +51 -0
  254. data/vendor/repo.or.cz/nasm/stdlib/strnlen.c +46 -0
  255. data/vendor/repo.or.cz/nasm/stdlib/vsnprintf.c +51 -0
  256. data/vendor/repo.or.cz/nasm/test/Makefile +106 -0
  257. data/vendor/repo.or.cz/nasm/test/_file_.asm +5 -0
  258. data/vendor/repo.or.cz/nasm/test/_version.asm +2 -0
  259. data/vendor/repo.or.cz/nasm/test/a32offs.asm +9 -0
  260. data/vendor/repo.or.cz/nasm/test/absolute.asm +40 -0
  261. data/vendor/repo.or.cz/nasm/test/addr64x.asm +18 -0
  262. data/vendor/repo.or.cz/nasm/test/align13.asm +19 -0
  263. data/vendor/repo.or.cz/nasm/test/align13s.asm +20 -0
  264. data/vendor/repo.or.cz/nasm/test/alonesym-obj.asm +166 -0
  265. data/vendor/repo.or.cz/nasm/test/andbyte.asm +15 -0
  266. data/vendor/repo.or.cz/nasm/test/aoutso.asm +99 -0
  267. data/vendor/repo.or.cz/nasm/test/aouttest.asm +86 -0
  268. data/vendor/repo.or.cz/nasm/test/aouttest.c +36 -0
  269. data/vendor/repo.or.cz/nasm/test/avx.asm +46 -0
  270. data/vendor/repo.or.cz/nasm/test/avx005.asm +529 -0
  271. data/vendor/repo.or.cz/nasm/test/avx2.asm +1608 -0
  272. data/vendor/repo.or.cz/nasm/test/avx512cd.asm +106 -0
  273. data/vendor/repo.or.cz/nasm/test/avx512er.asm +144 -0
  274. data/vendor/repo.or.cz/nasm/test/avx512f.asm +7000 -0
  275. data/vendor/repo.or.cz/nasm/test/avx512pf.asm +88 -0
  276. data/vendor/repo.or.cz/nasm/test/bcd.asm +23 -0
  277. data/vendor/repo.or.cz/nasm/test/binexe.asm +35 -0
  278. data/vendor/repo.or.cz/nasm/test/bintest.asm +59 -0
  279. data/vendor/repo.or.cz/nasm/test/bisect.sh +22 -0
  280. data/vendor/repo.or.cz/nasm/test/br1879590.asm +25 -0
  281. data/vendor/repo.or.cz/nasm/test/br2003451.asm +17 -0
  282. data/vendor/repo.or.cz/nasm/test/br2030823.asm +7 -0
  283. data/vendor/repo.or.cz/nasm/test/br2148476.asm +221 -0
  284. data/vendor/repo.or.cz/nasm/test/br2222615.asm +19 -0
  285. data/vendor/repo.or.cz/nasm/test/br2496848.asm +42 -0
  286. data/vendor/repo.or.cz/nasm/test/br3005117.asm +26 -0
  287. data/vendor/repo.or.cz/nasm/test/br3026808.asm +20 -0
  288. data/vendor/repo.or.cz/nasm/test/br3028880.asm +8 -0
  289. data/vendor/repo.or.cz/nasm/test/br3041451.asm +59 -0
  290. data/vendor/repo.or.cz/nasm/test/br3058845.asm +14 -0
  291. data/vendor/repo.or.cz/nasm/test/br3066383.asm +70 -0
  292. data/vendor/repo.or.cz/nasm/test/br3074517.asm +12 -0
  293. data/vendor/repo.or.cz/nasm/test/br3092924.asm +25 -0
  294. data/vendor/repo.or.cz/nasm/test/br3104312.asm +11 -0
  295. data/vendor/repo.or.cz/nasm/test/br3109604.asm +9 -0
  296. data/vendor/repo.or.cz/nasm/test/br3174983.asm +9 -0
  297. data/vendor/repo.or.cz/nasm/test/br3187743.asm +7 -0
  298. data/vendor/repo.or.cz/nasm/test/br3189064.asm +7 -0
  299. data/vendor/repo.or.cz/nasm/test/br3200749.asm +9 -0
  300. data/vendor/repo.or.cz/nasm/test/br3385573.asm +11 -0
  301. data/vendor/repo.or.cz/nasm/test/br3392252.asm +43 -0
  302. data/vendor/repo.or.cz/nasm/test/br3392259.asm +8 -0
  303. data/vendor/repo.or.cz/nasm/test/br3392363.asm +4 -0
  304. data/vendor/repo.or.cz/nasm/test/br3392392.asm +16 -0
  305. data/vendor/repo.or.cz/nasm/test/br3392396.asm +5 -0
  306. data/vendor/repo.or.cz/nasm/test/br3392411.asm +22 -0
  307. data/vendor/repo.or.cz/nasm/test/br3392418.asm +3 -0
  308. data/vendor/repo.or.cz/nasm/test/br3392439.asm +25 -0
  309. data/vendor/repo.or.cz/nasm/test/br3392442.asm +6 -0
  310. data/vendor/repo.or.cz/nasm/test/br560575.asm +17 -0
  311. data/vendor/repo.or.cz/nasm/test/br560873.asm +27 -0
  312. data/vendor/repo.or.cz/nasm/test/br890790.asm +7 -0
  313. data/vendor/repo.or.cz/nasm/test/br890790_i.asm +1 -0
  314. data/vendor/repo.or.cz/nasm/test/br978756.asm +7 -0
  315. data/vendor/repo.or.cz/nasm/test/changed.asm +383 -0
  316. data/vendor/repo.or.cz/nasm/test/cofftest.asm +85 -0
  317. data/vendor/repo.or.cz/nasm/test/cofftest.c +35 -0
  318. data/vendor/repo.or.cz/nasm/test/crc32.asm +37 -0
  319. data/vendor/repo.or.cz/nasm/test/cv8struc.asm +14 -0
  320. data/vendor/repo.or.cz/nasm/test/dtbcd.asm +72 -0
  321. data/vendor/repo.or.cz/nasm/test/elf64so.asm +118 -0
  322. data/vendor/repo.or.cz/nasm/test/elfso.asm +100 -0
  323. data/vendor/repo.or.cz/nasm/test/elftest.asm +87 -0
  324. data/vendor/repo.or.cz/nasm/test/elftest.c +38 -0
  325. data/vendor/repo.or.cz/nasm/test/elftest64.c +43 -0
  326. data/vendor/repo.or.cz/nasm/test/elif.asm +39 -0
  327. data/vendor/repo.or.cz/nasm/test/expimp.asm +90 -0
  328. data/vendor/repo.or.cz/nasm/test/far64.asm +10 -0
  329. data/vendor/repo.or.cz/nasm/test/float.asm +186 -0
  330. data/vendor/repo.or.cz/nasm/test/float8.asm +135 -0
  331. data/vendor/repo.or.cz/nasm/test/floatb.asm +35 -0
  332. data/vendor/repo.or.cz/nasm/test/floatexp.asm +382 -0
  333. data/vendor/repo.or.cz/nasm/test/floatize.asm +19 -0
  334. data/vendor/repo.or.cz/nasm/test/floattest.asm +28 -0
  335. data/vendor/repo.or.cz/nasm/test/floatx.asm +525 -0
  336. data/vendor/repo.or.cz/nasm/test/fpu.asm +127 -0
  337. data/vendor/repo.or.cz/nasm/test/fwdopt.asm +133 -0
  338. data/vendor/repo.or.cz/nasm/test/fwdoptpp.asm +150 -0
  339. data/vendor/repo.or.cz/nasm/test/gas2nasm.py +104 -0
  340. data/vendor/repo.or.cz/nasm/test/gather.asm +11 -0
  341. data/vendor/repo.or.cz/nasm/test/gotoff64.asm +25 -0
  342. data/vendor/repo.or.cz/nasm/test/hexfp.asm +25 -0
  343. data/vendor/repo.or.cz/nasm/test/hle.asm +19 -0
  344. data/vendor/repo.or.cz/nasm/test/ifelse.asm +46 -0
  345. data/vendor/repo.or.cz/nasm/test/ifenv.asm +31 -0
  346. data/vendor/repo.or.cz/nasm/test/ifmacro.asm +413 -0
  347. data/vendor/repo.or.cz/nasm/test/iftoken.asm +317 -0
  348. data/vendor/repo.or.cz/nasm/test/iftoken.pl +32 -0
  349. data/vendor/repo.or.cz/nasm/test/ilog2.asm +271 -0
  350. data/vendor/repo.or.cz/nasm/test/imacro.asm +8 -0
  351. data/vendor/repo.or.cz/nasm/test/imm.asm +23 -0
  352. data/vendor/repo.or.cz/nasm/test/imm64.asm +61 -0
  353. data/vendor/repo.or.cz/nasm/test/immwarn.asm +91 -0
  354. data/vendor/repo.or.cz/nasm/test/imul.asm +117 -0
  355. data/vendor/repo.or.cz/nasm/test/inc1.asm +6 -0
  356. data/vendor/repo.or.cz/nasm/test/inc2.asm +8 -0
  357. data/vendor/repo.or.cz/nasm/test/incbin.asm +7 -0
  358. data/vendor/repo.or.cz/nasm/test/incbin.data +2 -0
  359. data/vendor/repo.or.cz/nasm/test/inctest.asm +15 -0
  360. data/vendor/repo.or.cz/nasm/test/insnlbl.asm +12 -0
  361. data/vendor/repo.or.cz/nasm/test/invlpga.asm +11 -0
  362. data/vendor/repo.or.cz/nasm/test/jmp64.asm +19 -0
  363. data/vendor/repo.or.cz/nasm/test/lar_lsl.asm +124 -0
  364. data/vendor/repo.or.cz/nasm/test/larlsl.asm +23 -0
  365. data/vendor/repo.or.cz/nasm/test/lnxhello.asm +54 -0
  366. data/vendor/repo.or.cz/nasm/test/local.asm +19 -0
  367. data/vendor/repo.or.cz/nasm/test/loopoffs.asm +12 -0
  368. data/vendor/repo.or.cz/nasm/test/lwp.asm +213 -0
  369. data/vendor/repo.or.cz/nasm/test/macro-defaults.asm +64 -0
  370. data/vendor/repo.or.cz/nasm/test/macroerr.asm +12 -0
  371. data/vendor/repo.or.cz/nasm/test/macroerr.inc +3 -0
  372. data/vendor/repo.or.cz/nasm/test/mmxsize.asm +38 -0
  373. data/vendor/repo.or.cz/nasm/test/movd.asm +12 -0
  374. data/vendor/repo.or.cz/nasm/test/movd64.asm +15 -0
  375. data/vendor/repo.or.cz/nasm/test/movimm.asm +28 -0
  376. data/vendor/repo.or.cz/nasm/test/movnti.asm +10 -0
  377. data/vendor/repo.or.cz/nasm/test/mpx-64.asm +120 -0
  378. data/vendor/repo.or.cz/nasm/test/mpx.asm +89 -0
  379. data/vendor/repo.or.cz/nasm/test/multisection.asm +96 -0
  380. data/vendor/repo.or.cz/nasm/test/nasmformat.asm +17 -0
  381. data/vendor/repo.or.cz/nasm/test/new +9 -0
  382. data/vendor/repo.or.cz/nasm/test/newrdwr.asm +24 -0
  383. data/vendor/repo.or.cz/nasm/test/nop.asm +17 -0
  384. data/vendor/repo.or.cz/nasm/test/nullfile.asm +4 -0
  385. data/vendor/repo.or.cz/nasm/test/objexe.asm +30 -0
  386. data/vendor/repo.or.cz/nasm/test/objlink.c +33 -0
  387. data/vendor/repo.or.cz/nasm/test/objtest.asm +85 -0
  388. data/vendor/repo.or.cz/nasm/test/optimization.asm +104 -0
  389. data/vendor/repo.or.cz/nasm/test/org.asm +18 -0
  390. data/vendor/repo.or.cz/nasm/test/paste.asm +12 -0
  391. data/vendor/repo.or.cz/nasm/test/pcrel.asm +52 -0
  392. data/vendor/repo.or.cz/nasm/test/perf/label.pl +18 -0
  393. data/vendor/repo.or.cz/nasm/test/perf/macro.pl +18 -0
  394. data/vendor/repo.or.cz/nasm/test/perf/token.pl +23 -0
  395. data/vendor/repo.or.cz/nasm/test/performtest.pl +192 -0
  396. data/vendor/repo.or.cz/nasm/test/pextrw.asm +3 -0
  397. data/vendor/repo.or.cz/nasm/test/pinsr16.asm +53 -0
  398. data/vendor/repo.or.cz/nasm/test/pinsr32.asm +53 -0
  399. data/vendor/repo.or.cz/nasm/test/pinsr64.asm +68 -0
  400. data/vendor/repo.or.cz/nasm/test/popcnt.asm +32 -0
  401. data/vendor/repo.or.cz/nasm/test/ppindirect.asm +42 -0
  402. data/vendor/repo.or.cz/nasm/test/pragma.asm +12 -0
  403. data/vendor/repo.or.cz/nasm/test/prefix66.asm +28 -0
  404. data/vendor/repo.or.cz/nasm/test/ptr.asm +4 -0
  405. data/vendor/repo.or.cz/nasm/test/pushseg.asm +17 -0
  406. data/vendor/repo.or.cz/nasm/test/r13.asm +15 -0
  407. data/vendor/repo.or.cz/nasm/test/radix.asm +54 -0
  408. data/vendor/repo.or.cz/nasm/test/rdpid.asm +21 -0
  409. data/vendor/repo.or.cz/nasm/test/reldef.asm +57 -0
  410. data/vendor/repo.or.cz/nasm/test/relocs.asm +20 -0
  411. data/vendor/repo.or.cz/nasm/test/riprel.asm +5357 -0
  412. data/vendor/repo.or.cz/nasm/test/riprel.pl +29 -0
  413. data/vendor/repo.or.cz/nasm/test/riprel2.asm +11 -0
  414. data/vendor/repo.or.cz/nasm/test/sha-64.asm +30 -0
  415. data/vendor/repo.or.cz/nasm/test/sha.asm +31 -0
  416. data/vendor/repo.or.cz/nasm/test/smartalign16.asm +36 -0
  417. data/vendor/repo.or.cz/nasm/test/smartalign32.asm +36 -0
  418. data/vendor/repo.or.cz/nasm/test/smartalign64.asm +36 -0
  419. data/vendor/repo.or.cz/nasm/test/splitea.asm +11 -0
  420. data/vendor/repo.or.cz/nasm/test/sreg.asm +65 -0
  421. data/vendor/repo.or.cz/nasm/test/strlen.asm +5 -0
  422. data/vendor/repo.or.cz/nasm/test/struc.asm +33 -0
  423. data/vendor/repo.or.cz/nasm/test/test67.asm +38 -0
  424. data/vendor/repo.or.cz/nasm/test/testdos.asm +13 -0
  425. data/vendor/repo.or.cz/nasm/test/testnos3.asm +973 -0
  426. data/vendor/repo.or.cz/nasm/test/time.asm +11 -0
  427. data/vendor/repo.or.cz/nasm/test/times.asm +21 -0
  428. data/vendor/repo.or.cz/nasm/test/timesneg.asm +3 -0
  429. data/vendor/repo.or.cz/nasm/test/tmap.nas +1447 -0
  430. data/vendor/repo.or.cz/nasm/test/uscore.asm +15 -0
  431. data/vendor/repo.or.cz/nasm/test/utf.asm +82 -0
  432. data/vendor/repo.or.cz/nasm/test/vaesenc.asm +22 -0
  433. data/vendor/repo.or.cz/nasm/test/vex.asm +9 -0
  434. data/vendor/repo.or.cz/nasm/test/vgather.asm +76 -0
  435. data/vendor/repo.or.cz/nasm/test/vmread.asm +26 -0
  436. data/vendor/repo.or.cz/nasm/test/weirdpaste.asm +29 -0
  437. data/vendor/repo.or.cz/nasm/test/xchg.asm +96 -0
  438. data/vendor/repo.or.cz/nasm/test/xcrypt.asm +24 -0
  439. data/vendor/repo.or.cz/nasm/test/xmm0.asm +12 -0
  440. data/vendor/repo.or.cz/nasm/test/zerobyte.asm +22 -0
  441. data/vendor/repo.or.cz/nasm/tools/cleanfile +176 -0
  442. data/vendor/repo.or.cz/nasm/tools/cleanpatch +258 -0
  443. data/vendor/repo.or.cz/nasm/tools/mkdep.pl +261 -0
  444. data/vendor/repo.or.cz/nasm/tools/release +105 -0
  445. data/vendor/repo.or.cz/nasm/tools/syncfiles.pl +137 -0
  446. data/vendor/repo.or.cz/nasm/tools/tag-release +58 -0
  447. data/vendor/repo.or.cz/nasm/version +1 -0
  448. data/vendor/repo.or.cz/nasm/version.pl +189 -0
  449. data/vendor/repo.or.cz/nasm/x86/disp8.c +131 -0
  450. data/vendor/repo.or.cz/nasm/x86/insns-iflags.ph +280 -0
  451. data/vendor/repo.or.cz/nasm/x86/insns.dat +5371 -0
  452. data/vendor/repo.or.cz/nasm/x86/insns.pl +1043 -0
  453. data/vendor/repo.or.cz/nasm/x86/regs.dat +138 -0
  454. data/vendor/repo.or.cz/nasm/x86/regs.pl +204 -0
  455. metadata +520 -0
@@ -0,0 +1,23 @@
1
+ NASM, the Netwide Assembler.
2
+
3
+ Many many developers all over the net respect NASM for what it is
4
+ - a widespread (thus netwide), portable (thus netwide!), very
5
+ flexible and mature assembler tool with support for many output
6
+ formats (thus netwide!!).
7
+
8
+ Now we have good news for you: NASM is licensed under the "simplified"
9
+ (2-clause) BSD license. This means its development is open to even
10
+ wider society of programmers wishing to improve their lovely
11
+ assembler.
12
+
13
+ The NASM project is now situated at SourceForge.net, the most
14
+ popular Open Source development site on the Internet.
15
+
16
+ Visit our website at http://nasm.sourceforge.net/ and our
17
+ SourceForge project at http://sourceforge.net/projects/nasm/
18
+
19
+ See the file CHANGES for the description of changes between revisions,
20
+ and the file AUTHORS for a list of contributors.
21
+
22
+ With best regards,
23
+ NASM crew.
@@ -0,0 +1,116 @@
1
+ How to submit patches into the NASM
2
+ ===================================
3
+
4
+ Actually the rules are pretty simple
5
+
6
+ Obtaining the source code
7
+ -------------------------
8
+
9
+ The NASM sources are tracked by Git SCM at http://repo.or.cz/w/nasm.git
10
+ repository. You either could download packed sources or use git tool itself
11
+
12
+ git clone git://repo.or.cz/nasm.git
13
+
14
+ Changin the source code
15
+ -----------------------
16
+
17
+ When you change the NASM source code keep in mind -- we prefer tabs and
18
+ indentations to be 4 characters width, space filled.
19
+
20
+ Other "rules" could be learned from NASM sources -- just make your code
21
+ to look similar.
22
+
23
+ Producing patch
24
+ ---------------
25
+
26
+ There are at least two ways to make it right.
27
+
28
+ 1) git format-patch
29
+
30
+ You might need to read documentation on Git SCM how to prepare patch
31
+ for mail submission. Take a look on http://book.git-scm.com/ and/or
32
+ http://git-scm.com/documentation for details. It should not be hard
33
+ at all.
34
+
35
+ 2) Use "diff -up"
36
+
37
+ Use "diff -up" or "diff -uprN" to create patches.
38
+
39
+ Signing your work
40
+ -----------------
41
+
42
+ To improve tracking of who did what we've introduced a "sign-off" procedure
43
+ on patches that are being emailed around.
44
+
45
+ The sign-off is a simple line at the end of the explanation for the
46
+ patch, which certifies that you wrote it or otherwise have the right to
47
+ pass it on as a open-source patch. The rules are pretty simple: if you
48
+ can certify the below:
49
+
50
+ Developer's Certificate of Origin 1.1
51
+
52
+ By making a contribution to this project, I certify that:
53
+
54
+ (a) The contribution was created in whole or in part by me and I
55
+ have the right to submit it under the open source license
56
+ indicated in the file; or
57
+
58
+ (b) The contribution is based upon previous work that, to the best
59
+ of my knowledge, is covered under an appropriate open source
60
+ license and I have the right under that license to submit that
61
+ work with modifications, whether created in whole or in part
62
+ by me, under the same open source license (unless I am
63
+ permitted to submit under a different license), as indicated
64
+ in the file; or
65
+
66
+ (c) The contribution was provided directly to me by some other
67
+ person who certified (a), (b) or (c) and I have not modified
68
+ it.
69
+
70
+ (d) I understand and agree that this project and the contribution
71
+ are public and that a record of the contribution (including all
72
+ personal information I submit with it, including my sign-off) is
73
+ maintained indefinitely and may be redistributed consistent with
74
+ this project or the open source license(s) involved.
75
+
76
+ then you just add a line saying
77
+
78
+ Signed-off-by: Random J Developer <random@developer.example.org>
79
+
80
+ using your real name (please, no pseudonyms or anonymous contributions if
81
+ it possible)
82
+
83
+ An example of patch message
84
+ ---------------------------
85
+
86
+ From: Random J Developer <random@developer.example.org>
87
+ Subject: [PATCH] Short patch description
88
+
89
+ Long patch description (could be skipped if patch
90
+ is trivial enough)
91
+
92
+ Signed-off-by: Random J Developer <random@developer.example.org>
93
+ ---
94
+ Patch body here
95
+
96
+ Mailing patches
97
+ ---------------
98
+
99
+ The patches should be sent to NASM development mailing list
100
+
101
+ nasm-devel@lists.sourceforge.net
102
+
103
+ Please make sure the email client you're using doesn't screw
104
+ your patch (line wrapping and so on).
105
+
106
+ Wait for response
107
+ -----------------
108
+
109
+ Be patient. Most NASM developers are pretty busy people so if
110
+ there is no immediate response on your patch -- don't
111
+ be surprised, sometimes a patch may fly around a week(s) before
112
+ gets reviewed. But definitely the patches will not go to /dev/null.
113
+
114
+ ---
115
+ With best regards,
116
+ NASM-team
@@ -0,0 +1,376 @@
1
+ NASM TODO list
2
+ ==============
3
+
4
+ This, like the AUTHORS file, is intended for easy readability by both human
5
+ and machine, thus the format.
6
+
7
+ F: feature
8
+ V: version you should expect it by
9
+ R: responsible person or - if unassigned
10
+ C: % complete
11
+ D: description
12
+ D: maybe on multiple lines
13
+
14
+ Anything that doesn't start with /^[FVRCD]:/ should be ignored.
15
+
16
+ F:-line triggers new entry.
17
+ Empty V,R,C assume: V: ?, R: -, C: 0%
18
+
19
+ =============
20
+
21
+ F: Extended x64 Support
22
+ D: Full FPU/MMX/SSE* instruction support for x64
23
+
24
+ F: ELF64 output format
25
+ D: Support for assembling code to the ELF64 output format
26
+
27
+ F: NDISASM x64 Support
28
+ D: Ability to disassemble respective x64 code
29
+
30
+ F: General x64 Support
31
+ V: 0.99.00
32
+ R: Keith Kanios
33
+ C: 99%
34
+ D: Support for assembling 64-bit code to various output formats
35
+
36
+ F: win64 (x86-64 COFF) output format
37
+ V: 0.99.00
38
+ R: Keith Kanios
39
+ C: 99%
40
+ D: Support for assembling code to the win64 output format
41
+
42
+ F: c99 data-type compliance
43
+ V: 0.99.00
44
+ R: Keith Kanios
45
+ C: 99%
46
+ D: Revamped entire source-code base data-types for compliance
47
+ D: with c99 (inttypes.h)
48
+
49
+ F: __BITS__ Standard Macro
50
+ V: 0.99.00
51
+ R: Keith Kanios
52
+ C: 100%
53
+ D: __BITS__ standard macro that returns current [BITS XX] mode
54
+
55
+ F: i18n via gettext
56
+ D: kkanios: be careful about that, stick to UTF-8 if anything
57
+
58
+ F: Convert shallow code model to deep code model
59
+ D: Tired of messing between lots of unrelated files (especially .c/.h stuff)
60
+
61
+ F: Automated dependency generation for Makefile
62
+ D: Current looks awful and will break if anything changes.
63
+
64
+ F: Move output modules out*.c to output/ subdir
65
+ R: madfire
66
+ C: 100%
67
+
68
+ == THESE ARE FROM old NASM's Wishlist
69
+ == THEY NEED SEVERE REVISING (seems they weren't updated for a couple of years or so)
70
+
71
+ F: Check misc/ide.cfg into RCS as Watcom IDE enhancement thingy
72
+ V: 0.98
73
+ D: (nop@dlc.fi)
74
+
75
+ F: Package the Linux Assembler HOWTO
76
+ V: 0.98
77
+
78
+ F: 3DNow!, SSE and other extensions need documenting
79
+ V: 0.98
80
+ D: hpa: Does it really make sense to have a whole instruction set
81
+ D: reference packaged with the assembler?
82
+ D: kkanios: Yes, for me it was a great help... and still is.
83
+
84
+ F: prototypes of lrotate don't match in test/*. Fix.
85
+ V: 0.98
86
+
87
+ F: Build djgpp binaries for 0.98 onwards. Look into PMODE/W as a stub
88
+ V: 0.98
89
+ D: it might be a lot better than CWSDPMI. It's in PMW133.ZIP.
90
+
91
+ F: %undef operator that goes along with %define
92
+ V: ?
93
+ C: 100%
94
+
95
+ F: Fix `%error' giving error messages twice.
96
+ V: 0.99
97
+ D: Not especially important, as changes planned for 1.1x below will make
98
+ D: the preprocessor be only called once.
99
+
100
+ F: Sort out problems with OBJ
101
+ V: 0.99
102
+ D: * TLINK32 doesn't seem to like SEGDEF32 et al. So for that, we
103
+ D: should avoid xxx32 records wherever we can.
104
+ D: * However, didn't we change _to_ using xxx32 at some stage? Try
105
+ D: to remember why and when.
106
+ D: * Apparently Delphi's linker has trouble with two or more
107
+ D: globals being defined inside a PUBDEF32. Don't even know if it
108
+ D: _can_ cope with a PUBDEF16.
109
+ D: * Might need extra flags. *sigh*
110
+
111
+ F: Symbol table output may possibly be useful.
112
+ V: 0.99
113
+ D: Ken Martwick (kenm@efn.org) wants the following format:
114
+ D: labelname type offset(hex) repetition count
115
+ D: Possibly include xref addresses after repetition count?
116
+
117
+ F: ELF fixes
118
+ V: 0.99
119
+ D: There are various other bugs in outelf.c that make certain kinds
120
+ D: of relocation not work. See zbrown.asm. Looks like we may have to do
121
+ D: a major rewrite of parts of it. Compare some NASM code output with
122
+ D: equivalent GAS code output. Look at the ELF spec. Generally fix things.
123
+
124
+ F: ELF fixes
125
+ V: 0.99
126
+ D: NASM is currently using a kludge in ELF that involves defining
127
+ D: a symbol at a zero absolute offset. This isn't needed, as the
128
+ D: documented solution to the problem that this solves is to use
129
+ D: SHN_UNDEF.
130
+
131
+ F: Debug information, in all formats it can be usefully done in.
132
+ V: 0.99
133
+ D: * including line-number record support.
134
+ D: * "George C. Lindauer" <gclind01@starbase.spd.louisville.edu>
135
+ D: wants to have some say in how this goes through.
136
+ D: * Andrew Crabtree <andrewc@rosemail.rose.hp.com> wants to help out.
137
+
138
+ F: Think about a line-continuation character.
139
+ V: 0.99
140
+
141
+ F: Consider allowing declaration of two labels on the same line,
142
+ V: 0.99
143
+ D: syntax 'label1[:] label2[:] ... instruction'.
144
+ D: Need to investigate feasibility.
145
+
146
+ F: Quoting of quotes by doubling them, in string and char constants.
147
+ V: 0.99
148
+
149
+ F: Two-operand syntax for SEGMENT/SECTION macro to avoid warnings
150
+ D: of ignored section parameters on reissue of __SECT__.
151
+ D: Or maybe skip the warning if the given parameters are identical to
152
+ D: what was actually stored. Investigate.
153
+ V: 0.99
154
+
155
+ F: Apparently we are not missing a PSRAQ instruction, because it
156
+ D: doesn't exist. Check that it doesn't exist as an undocumented
157
+ D: instruction, or something stupid like that.
158
+ V: 0.99
159
+
160
+ F: Any assembled form starting 0x80 can also start 0x82.
161
+ V: 1.00
162
+ D: ndisasm should know this. New special code in instruction encodings, probably.
163
+
164
+ F: Pointing an EQU at an external symbol now generates an error.
165
+ V: 1.05
166
+ D: There may be a better way of handling this; we should look into it.
167
+ D: Ideally, the label mechanism should be changed to cope with one
168
+ D: label being declared relative to another - that may work, but could be
169
+ D: a pain to implement (or is it? it may be easy enough that you just
170
+ D: need to declare a new offset in the same segment...) This should be done
171
+ D: before v1.0 is released. There is a comment regarding this in labels.c,
172
+ D: towards the end of the file, which discusses ways of fixing this.
173
+
174
+ F: nested %rep used to cause a panic.
175
+ V: 1.10
176
+ D: Now a more informative error message is produced. This problem whould
177
+ D: be fixed before v1.0.
178
+ D: See comment in switch() statement block for PP_REP in do_directive()
179
+ D: in preproc.c (line 1585, or thereabouts)
180
+
181
+ F: Contribution
182
+ D: zgraeme.tar contains improved hash table routines
183
+ D: contributed by Graeme Defty <graeme@HK.Super.NET> for use in the
184
+ D: label manager.
185
+
186
+ F: Contribution
187
+ D: zsyntax.zip contains a syntax-highlighting mode for
188
+ D: NASM, for use with the Aurora text editor (??).
189
+
190
+ F: Contribution
191
+ D: zvim.zip contains a syntax-highlighting mode for NASM, for use with vim.
192
+
193
+ F: Contribution
194
+ D: zkendal1.zip and zkendal2.zip contain Kendall
195
+ D: Bennett's (<KendallB@scitechsoft.com>) alternative syntax stuff,
196
+ D: providing an alternative syntax mode for NASM which allows a macro
197
+ D: set to be written that allows the same source files to be
198
+ D: assembled with NASM and TASM.
199
+ R: Kendall Bennett
200
+ C: 100%
201
+
202
+ F: Add the UD2 instruction.
203
+ C: 100%
204
+
205
+ F: Add the four instructions documented in 24368901.pdf (Intel's own document).
206
+ C: 100%
207
+
208
+ F: Some means of avoiding MOV memoffs,EAX which apparently the
209
+ D: Pentium pairing detector thinks modifies EAX. Similar means of
210
+ D: choosing instruction encodings where necessary.
211
+ V: 1.10?
212
+
213
+ F: The example of ..@ makes it clear that a ..@ label isn't just
214
+ D: local, but doesn't make it clear that it isn't just global either.
215
+
216
+ F: hpa wants an evaluator operator for ceil(log2(x)).
217
+
218
+ F: Extra reloc types in ELF
219
+ D: R_386_16 type 20, PC16 is 21, 8 is 22, PC8 is 23.
220
+ D: Add support for the 16s at least.
221
+
222
+ F: Lazy section creation or selective section output
223
+ D: in COFF/win32 at least and probably other formats: don't bother to emit a section
224
+ D: if it contains no data. Particularly the default auto-created
225
+ D: section. We believe zero-length sections crash at least WLINK (in win32).
226
+
227
+ F: Make the flags field in `struct itemplate' in insns.h a long instead of an int.
228
+ C: 100%?
229
+
230
+ F: Implement %ifref to check whether a single-line macro has ever been expanded since (last re) definition. Or maybe not. We'll see.
231
+
232
+ F: add pointer to \k{insLEAVE} and \k{insENTER} in chapters about mixed-language programming.
233
+
234
+ F: Some equivalent to TASM's GLOBAL directive
235
+ D: ie something which defines a symbol as external if it doesn't end up being defined
236
+ D: but defines it as public if it does end up being defined.
237
+
238
+ F: Documentation doesn't explain about C++ name mangling.
239
+
240
+ F: see if BITS can be made to do anything sensible in obj (eg set the default new-segment property to Use32).
241
+
242
+ F: OBJ: coalesce consecutive offset and segment fixups for the same location into full-32bit-pointer fixups.
243
+ D: This is apparently necessary because some twazzock in the PowerBASIC development
244
+ D: team didn't design to support the OMF spec the way the rest of the
245
+ D: world sees it.
246
+
247
+ F: Allow % to be separated from the rest of a preproc directive, for alternative directive indentation styles.
248
+
249
+ F: __DATE__, __TIME__, and text variants of __NASM_MAJOR__ and __NASM_MINOR__.
250
+
251
+ F: Warn on TIMES combined with multi-line macros.
252
+ V: 1.00
253
+ D: TIMES gets applied to first line only - should bring to users' attention.
254
+
255
+ F: Re-work the evaluator, again, with a per-object-format fixup
256
+ D: routine, so as to be able to cope with section offsets "really"
257
+ D: being pure numbers; should be able to allow at _least_ the two
258
+ D: common idioms
259
+ D: TIMES 510-$ DB 0 ; bootsector
260
+ D: MOV AX,(PROG_END-100H)/16 ; .COM TSR
261
+ D: Would need to call the fixup throughout the evaluator, and the
262
+ D: fixup would have to be allowed to return UNKNOWN on pass one if it
263
+ D: had to. (_Always_ returning UNKNOWN on pass one, though a lovely
264
+ D: clean design, breaks the first of the above examples.)
265
+ V: 1.10
266
+
267
+ F: Preprocessor identifier concatenation?
268
+ V: 1.10
269
+
270
+ F: Arbitrary section names in `bin'.
271
+ V: 0.98.09
272
+ D: Is this necessary? Is it even desirable?
273
+ D: hpa: Desirable, yes. Necessary? Probably not, but there are definitely cases where it becomes quite useful.
274
+ R: madfire
275
+ C: 100%
276
+
277
+ F: Ability to read from a pipe.
278
+ V: 1.10
279
+ D: Obviously not useful under dos, so memory problems with storing
280
+ D: entire input file aren't a problem either.
281
+
282
+ F: File caching under DOS/32 bit...
283
+ V: 1.10?
284
+ D: maybe even implement discardable buffers that get thrown away
285
+ D: when we get a NULL returned from malloc(). Only really useful under
286
+ D: DOS. Think about it.
287
+
288
+ F: possibly spool out the pre-processed stuff to a file, to avoid having to re-process it.
289
+ V: 1.10?
290
+ D: Possible problems with preprocessor values not known on pass 1? Have a look...
291
+
292
+ F: Or maybe we can spool out a pre-parsed version...?
293
+ V: 1.10
294
+ D: Need to investigate feasibility. Does the results from the parser
295
+ D: change from pass 1 to pass 2? Would it be feasible to alter it so that
296
+ D: the parser returns an invariant result, and this is then processed
297
+ D: afterwards to resolve label references, etc?
298
+
299
+ F: Subsection support?
300
+
301
+ F: A good ALIGN mechanism, similar to GAS's.
302
+ V: 0.98p1
303
+ D: GAS pads out space by means of the following (32-bit) instructions:
304
+ D: 8DB42600000000 lea esi,[esi+0x0]
305
+ D: 8DB600000000 lea esi,[esi+0x0]
306
+ D: 8D742600 lea esi,[esi+0x0]
307
+ D: 8D7600 lea esi,[esi+0x0]
308
+ D: 8D36 lea esi,[esi]
309
+ D: 90 nop
310
+ D: It uses up to two of these instructions to do up to 14-byte pads;
311
+ D: when more than 14 bytes are needed, it issues a (short) jump to
312
+ D: the end of the padded section and then NOPs the rest. Come up with
313
+ D: a similar scheme for 16 bit mode, and also come up with a way to
314
+ D: use it - internal to the assembler, so that programs using ALIGN
315
+ D: don't knock over preprocess-only mode.
316
+ D: Also re-work the macro form so that when given one argument in a
317
+ D: code section it calls this feature.
318
+ R: Panos Minos
319
+ C: 100%?
320
+
321
+ F: Possibly a means whereby FP constants can be specified as immediate operands to non-FP instructions.
322
+ D: * Possible syntax: MOV EAX,FLOAT 1.2 to get a single-precision FP
323
+ D: constant. Then maybe MOV EAX,HI_FLOAT 1.2 and MOV EAX,LO_FLOAT
324
+ D: 1.2 to get the two halves of a double-precision one. Best to
325
+ D: ignore extended-precision in case it bites.
326
+ D: * Alternatively, maybe MOV EAX,FLOAT(4,0-4,1.2) to get bytes 0-4
327
+ D: (ie 0-3) of a 4-byte constant. Then HI_FLOAT is FLOAT(8,4-8,x)
328
+ D: and LO_FLOAT is FLOAT(8,0-4,x). But this version allows two-byte
329
+ D: chunks, one-byte chunks, even stranger chunks, and pieces of
330
+ D: ten-byte reals to be bandied around as well.
331
+
332
+ F: A UNION macro might be quite cool
333
+ D: now that ABSOLUTE is sane enough to be able to handle it.
334
+
335
+ F: An equivalent to gcc's ## stringify operator, plus string concatenation
336
+ D: somehow implemented without undue ugliness, so as
337
+ D: to be able to do `%include "/my/path/%1"' in a macro, or something
338
+ D: similar...
339
+
340
+ F: Actually _do_ something with the processor, privileged and
341
+ D: undocumented flags in the instruction table. When this happens,
342
+ D: consider allowing PMULHRW to map to either of the Cyrix or AMD
343
+ D: versions?
344
+ D: hpa: The -p option to ndisasm now uses this to some extent.
345
+ V: 1.10
346
+
347
+ F: Maybe NEC V20/V30 instructions? ?
348
+ D: hpa: What are they? Should be trivial to implement.
349
+
350
+ F: Yet more object formats.
351
+ D: * Possibly direct support for .EXE files?
352
+ V: 1.10
353
+
354
+ F: Symbol map in binary format. Format-specific options...
355
+ V: 1.10?
356
+
357
+ F: REDESIGN: Think about EQU dependency, and about start-point specification in OBJ. Possibly re-think directive support.
358
+ V: 1.20?
359
+
360
+ F: Think about a wrapper program like gcc?
361
+ V: 2.00?
362
+ D: Possibly invent a _patch_ for gcc so that it can take .asm files on the command line?
363
+ D: If a wrapper happens, think about adding an option to cause the
364
+ D: resulting executable file to be executed immediately, thus
365
+ D: allowing NASM source files to have #!... (probably silly)
366
+
367
+ F: Multi-platform support?
368
+ D: If so: definitely Alpha; possibly Java byte code;
369
+ D: probably ARM/StrongARM; maybe Sparc; maybe Mips; maybe
370
+ D: Vax. Perhaps Z80 and 6502, just for a laugh?
371
+
372
+ F: Consider a 'verbose' option that prints information about the resulting object file onto stdout.
373
+
374
+ F: Line numbers in the .lst file don't match the line numbers in the input.
375
+ D: They probably should, rather than the current matching of the post-preprocessor line numbers.
376
+