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,3 @@
1
+ bits 64
2
+
3
+ pextrw rax,xmm0,0
@@ -0,0 +1,53 @@
1
+ ;Testname=test; Arguments=-O0 -fbin -opinsr16.bin; Files=stdout stderr pinsr16.bin
2
+ bits 16
3
+
4
+ pinsrw mm0,eax,0
5
+ pinsrw mm1,si,0
6
+ pinsrw mm2,[bx],0
7
+ pinsrw mm3,word [bx],0
8
+
9
+ pinsrb xmm0,eax,0
10
+ pinsrb xmm1,sil,0
11
+ ; pinsrb xmm1,bh,0
12
+ pinsrb xmm2,[bx],0
13
+ pinsrb xmm3,byte [bx],0
14
+
15
+ pinsrw xmm0,eax,0
16
+ pinsrw xmm1,si,0
17
+ pinsrw xmm2,[bx],0
18
+ pinsrw xmm3,word [bx],0
19
+
20
+ pinsrd xmm0,eax,0
21
+ pinsrd xmm1,esi,0
22
+ pinsrd xmm2,[bx],0
23
+ pinsrd xmm3,dword [bx],0
24
+
25
+ vpinsrb xmm0,eax,0
26
+ vpinsrb xmm1,bl,0
27
+ vpinsrb xmm2,[bx],0
28
+ vpinsrb xmm3,byte [bx],0
29
+
30
+ vpinsrw xmm0,eax,0
31
+ vpinsrw xmm1,si,0
32
+ vpinsrw xmm2,[bx],0
33
+ vpinsrw xmm3,word [bx],0
34
+
35
+ vpinsrd xmm0,eax,0
36
+ vpinsrd xmm1,esi,0
37
+ vpinsrd xmm2,[bx],0
38
+ vpinsrd xmm3,dword [bx],0
39
+
40
+ vpinsrb xmm4,xmm0,eax,0
41
+ vpinsrb xmm5,xmm1,bl,0
42
+ vpinsrb xmm6,xmm2,[bx],0
43
+ vpinsrb xmm7,xmm3,byte [bx],0
44
+
45
+ vpinsrw xmm4,xmm0,eax,0
46
+ vpinsrw xmm5,xmm1,si,0
47
+ vpinsrw xmm6,xmm2,[bx],0
48
+ vpinsrw xmm7,xmm3,word [bx],0
49
+
50
+ vpinsrd xmm4,xmm0,eax,0
51
+ vpinsrd xmm5,xmm1,esi,0
52
+ vpinsrd xmm6,xmm2,[bx],0
53
+ vpinsrd xmm7,xmm3,dword [bx],0
@@ -0,0 +1,53 @@
1
+ ;Testname=test; Arguments=-O0 -fbin -opinsr32.bin; Files=stdout stderr pinsr32.bin
2
+ bits 32
3
+
4
+ pinsrw mm0,eax,0
5
+ pinsrw mm1,si,0
6
+ pinsrw mm2,[ecx],0
7
+ pinsrw mm3,word [ecx],0
8
+
9
+ pinsrb xmm0,eax,0
10
+ pinsrb xmm1,sil,0
11
+ ; pinsrb xmm1,bh,0
12
+ pinsrb xmm2,[ecx],0
13
+ pinsrb xmm3,byte [ecx],0
14
+
15
+ pinsrw xmm0,eax,0
16
+ pinsrw xmm1,si,0
17
+ pinsrw xmm2,[ecx],0
18
+ pinsrw xmm3,word [ecx],0
19
+
20
+ pinsrd xmm0,eax,0
21
+ pinsrd xmm1,esi,0
22
+ pinsrd xmm2,[ecx],0
23
+ pinsrd xmm3,dword [ecx],0
24
+
25
+ vpinsrb xmm0,eax,0
26
+ vpinsrb xmm1,bl,0
27
+ vpinsrb xmm2,[ecx],0
28
+ vpinsrb xmm3,byte [ecx],0
29
+
30
+ vpinsrw xmm0,eax,0
31
+ vpinsrw xmm1,si,0
32
+ vpinsrw xmm2,[ecx],0
33
+ vpinsrw xmm3,word [ecx],0
34
+
35
+ vpinsrd xmm0,eax,0
36
+ vpinsrd xmm1,esi,0
37
+ vpinsrd xmm2,[ecx],0
38
+ vpinsrd xmm3,dword [ecx],0
39
+
40
+ vpinsrb xmm4,xmm0,eax,0
41
+ vpinsrb xmm5,xmm1,bl,0
42
+ vpinsrb xmm6,xmm2,[ecx],0
43
+ vpinsrb xmm7,xmm3,byte [ecx],0
44
+
45
+ vpinsrw xmm4,xmm0,eax,0
46
+ vpinsrw xmm5,xmm1,si,0
47
+ vpinsrw xmm6,xmm2,[ecx],0
48
+ vpinsrw xmm7,xmm3,word [ecx],0
49
+
50
+ vpinsrd xmm4,xmm0,eax,0
51
+ vpinsrd xmm5,xmm1,esi,0
52
+ vpinsrd xmm6,xmm2,[ecx],0
53
+ vpinsrd xmm7,xmm3,dword [ecx],0
@@ -0,0 +1,68 @@
1
+ ;Testname=test; Arguments=-O0 -fbin -opinsr64.bin; Files=stdout stderr pinsr64.bin
2
+ bits 64
3
+
4
+ pinsrw mm0,eax,0
5
+ pinsrw mm1,si,0
6
+ pinsrw mm2,[rcx],0
7
+ pinsrw mm3,word [rcx],0
8
+
9
+ pinsrb xmm0,eax,0
10
+ pinsrb xmm1,sil,0
11
+ ; pinsrb xmm1,bh,0
12
+ pinsrb xmm2,[rcx],0
13
+ pinsrb xmm3,byte [rcx],0
14
+
15
+ pinsrw xmm0,eax,0
16
+ pinsrw xmm1,si,0
17
+ pinsrw xmm2,[rcx],0
18
+ pinsrw xmm3,word [rcx],0
19
+
20
+ pinsrd xmm0,eax,0
21
+ pinsrd xmm1,esi,0
22
+ pinsrd xmm2,[rcx],0
23
+ pinsrd xmm3,dword [rcx],0
24
+
25
+ pinsrq xmm0,rax,0
26
+ pinsrq xmm1,rsi,0
27
+ pinsrq xmm2,[rcx],0
28
+ pinsrq xmm3,qword [rcx],0
29
+
30
+ vpinsrb xmm0,eax,0
31
+ vpinsrb xmm1,sil,0
32
+ vpinsrb xmm2,[rcx],0
33
+ vpinsrb xmm3,byte [rcx],0
34
+
35
+ vpinsrw xmm0,eax,0
36
+ vpinsrw xmm1,si,0
37
+ vpinsrw xmm2,[rcx],0
38
+ vpinsrw xmm3,word [rcx],0
39
+
40
+ vpinsrd xmm0,eax,0
41
+ vpinsrd xmm1,esi,0
42
+ vpinsrd xmm2,[rcx],0
43
+ vpinsrd xmm3,dword [rcx],0
44
+
45
+ vpinsrq xmm0,rax,0
46
+ vpinsrq xmm1,rsi,0
47
+ vpinsrq xmm2,[rcx],0
48
+ vpinsrq xmm3,qword [rcx],0
49
+
50
+ vpinsrb xmm4,xmm0,eax,0
51
+ vpinsrb xmm5,xmm1,sil,0
52
+ vpinsrb xmm6,xmm2,[rcx],0
53
+ vpinsrb xmm7,xmm3,byte [rcx],0
54
+
55
+ vpinsrw xmm4,xmm0,eax,0
56
+ vpinsrw xmm5,xmm1,si,0
57
+ vpinsrw xmm6,xmm2,[rcx],0
58
+ vpinsrw xmm7,xmm3,word [rcx],0
59
+
60
+ vpinsrd xmm4,xmm0,eax,0
61
+ vpinsrd xmm5,xmm1,esi,0
62
+ vpinsrd xmm6,xmm2,[rcx],0
63
+ vpinsrd xmm7,xmm3,dword [rcx],0
64
+
65
+ vpinsrq xmm4,xmm0,rax,0
66
+ vpinsrq xmm5,xmm1,rsi,0
67
+ vpinsrq xmm6,xmm2,[rcx],0
68
+ vpinsrq xmm7,xmm3,qword [rdx],0
@@ -0,0 +1,32 @@
1
+ ;Testname=test; Arguments=-fbin -opopcnt.bin; Files=stdout stderr popcnt.bin
2
+
3
+ bits 16
4
+
5
+ popcnt ax,cx
6
+ popcnt ax,[si]
7
+ popcnt ax,word [si]
8
+ popcnt eax,ecx
9
+ popcnt eax,[si]
10
+ popcnt eax,dword [si]
11
+
12
+ bits 32
13
+
14
+ popcnt ax,cx
15
+ popcnt ax,[esi]
16
+ popcnt ax,word [esi]
17
+ popcnt eax,ecx
18
+ popcnt eax,[esi]
19
+ popcnt eax,dword [esi]
20
+
21
+ bits 64
22
+
23
+ popcnt ax,cx
24
+ popcnt ax,[rsi]
25
+ popcnt ax,word [rsi]
26
+ popcnt eax,ecx
27
+ popcnt eax,[rsi]
28
+ popcnt eax,dword [rsi]
29
+ popcnt rax,rcx
30
+ popcnt rax,[rsi]
31
+ popcnt rax,qword [rsi]
32
+
@@ -0,0 +1,42 @@
1
+ ;Testname=test; Arguments=-E -o ppindirect.out; Files=ppindirect.out
2
+
3
+ ; Fun tests of the preprocessor indirection mode...
4
+
5
+ %assign foo1 11
6
+ %assign foo11 1111
7
+ %assign foo2 22
8
+ %assign foo22 2222
9
+ %assign foo3 33
10
+ %assign foo33 3333
11
+ %assign n 2
12
+ foo%[foo%[n]]*100
13
+ foo%[n]*100
14
+ %assign foo%[foo%[n]] foo%[foo%[n]]*100
15
+ ;%assign foo%[n] foo%[n]*100
16
+
17
+ foo1
18
+ foo2
19
+ foo3
20
+ foo11
21
+ foo22
22
+ foo33
23
+
24
+ %define foo33bar 999999
25
+ %[foo%[foo3]bar]
26
+
27
+ %assign bctr 0
28
+ %macro bluttan 0
29
+ %assign bctr bctr+1
30
+ %assign bluttan%[bctr] bctr
31
+ %defstr bstr bluttan%[bctr]
32
+ bluttan%[bctr]
33
+ bstr
34
+ %endmacro
35
+
36
+ %rep 20
37
+ bluttan
38
+ %endrep
39
+ %rep 20
40
+ bluttan%[bctr]
41
+ %assign bctr bctr-1
42
+ %endrep
@@ -0,0 +1,12 @@
1
+ %pragma
2
+ %pragma bluttan
3
+ %pragma bluttan blej
4
+ %pragma "Hej tomtegubbar"
5
+ %define PR asm foobar
6
+ %pragma PR
7
+ %pragma preproc
8
+ %pragma preproc tjo fidelittan preproc
9
+ %pragma dbg tjo fidelittan output
10
+ %pragma dbgdbg tjo fidelittan debug format
11
+ %pragma Dbg Tjo Fidelittan Output
12
+ %pragma Dbgdbg Tjo Fidelittan Debug Format
@@ -0,0 +1,28 @@
1
+ ;Testname=test; Arguments=-fbin -oprefix66.bin; Files=stdout stderr prefix66.bin
2
+
3
+ BITS 16
4
+ cmp ax, 1
5
+ o16 cmp ax, 1
6
+ o32 cmp ax, 1
7
+
8
+ cmp eax, 1
9
+ o16 cmp eax, 1
10
+ o32 cmp eax, 1
11
+
12
+ BITS 32
13
+ cmp ax, 1
14
+ o16 cmp ax, 1
15
+ o32 cmp ax, 1
16
+
17
+ cmp eax, 1
18
+ o16 cmp eax, 1
19
+ o32 cmp eax, 1
20
+
21
+ BITS 64
22
+ cmp ax, 1
23
+ o16 cmp ax, 1
24
+ o32 cmp ax, 1
25
+
26
+ cmp eax, 1
27
+ o16 cmp eax, 1
28
+ o32 cmp eax, 1
@@ -0,0 +1,4 @@
1
+ ;; This should warn but still assemble, as the code is correct
2
+
3
+ mov eax,dword ptr
4
+ ptr:
@@ -0,0 +1,17 @@
1
+ ;Testname=test; Arguments=-fbin -opushseg.bin; Files=stdout stderr pushseg.bin
2
+
3
+ bits 16
4
+
5
+ push cs
6
+ push ds
7
+ push es
8
+ push ss
9
+ push fs
10
+ push gs
11
+
12
+ pop gs
13
+ pop fs
14
+ pop ss
15
+ pop es
16
+ pop ds
17
+ pop cs ; 8086 only, does not disassemble
@@ -0,0 +1,15 @@
1
+ ;Testname=test; Arguments=-fbin -or13.bin; Files=stdout stderr r13.bin
2
+
3
+ bits 64
4
+ mov rax,[rbx]
5
+ mov rax,[rbx*4]
6
+ mov rax,[rbx+rbx*2]
7
+ mov rax,[r13+rbx*2]
8
+ mov rax,[rbp]
9
+ mov rax,[rbp*4]
10
+ mov rax,[rbp+rbp*2]
11
+ mov rax,[rbp+r13*2]
12
+ mov rax,[r13]
13
+ mov rax,[r13*4]
14
+ mov rax,[r13+rbp*2]
15
+ mov rax,[r13+r13*2]
@@ -0,0 +1,54 @@
1
+ ;Testname=test; Arguments=-fbin -oradix.bin; Files=stdout stderr radix.bin
2
+
3
+ ;; Integer constants...
4
+
5
+ dd 1010_0101 ; Decimal
6
+ dd 01010_0101 ; Decimal (*not* octal!)
7
+ dd 0d1010_0101 ; Decimal
8
+ dd 0t1010_0101 ; Decimal
9
+ dd 1010_0101d ; Decimal
10
+ dd 1010_0101t ; Decimal
11
+
12
+ dd 0b1010_0101 ; Binary
13
+ dd 0y1010_0101 ; Binary
14
+ dd 1010_0101b ; Binary
15
+ dd 1010_0101y ; Binary
16
+
17
+ dd 0o1010_0101 ; Octal
18
+ dd 0q1010_0101 ; Octal
19
+ dd 1010_0101o ; Octal
20
+ dd 1010_0101q ; Octal
21
+
22
+ dd 0h1010_0101 ; Hex
23
+ dd 0x1010_0101 ; Hex
24
+ dd 1010_0101h ; Hex
25
+ dd 1010_0101x ; Hex
26
+ dd $1010_0101 ; Hex
27
+
28
+ db 0h ; Zero!
29
+ db 0x ; Zero!
30
+ db 0b ; Zero!
31
+ db 0dh ; Hex
32
+ db 0bh ; Hex
33
+ db 0dx ; Hex
34
+ db 0bx ; Hex
35
+ db 0hd ; Hex
36
+ db 0hb ; Hex
37
+ db 0xd ; Hex
38
+ db 0xb ; Hex
39
+
40
+ ;; Floating-point constants
41
+ ;; All of these should output B4A21147
42
+ dd 3.7282705e+4 ; Decimal
43
+ dd 00003.7282705e+4 ; Decimal
44
+ dd 0d3.7282705e+4 ; Decimal
45
+ dd 0t3.7282705e+4 ; Decimal
46
+
47
+ dd 0x1.23456789p+15 ; Hex
48
+ dd 0h1.23456789p+15 ; Hex
49
+
50
+ dd 0o1.10642547422p+15 ; Octal
51
+ dd 0q1.10642547422p+15 ; Octal
52
+
53
+ dd 0b1.0010_0011_0100_0101_0110_0111_1000_1001p+15 ; Binary
54
+ dd 0y1.0010_0011_0100_0101_0110_0111_1000_1001p+15 ; Binary
@@ -0,0 +1,21 @@
1
+ %ifdef ERROR
2
+ %define ERR(x) x
3
+ %else
4
+ %define ERR(x)
5
+ %endif
6
+
7
+ bits 16
8
+
9
+ rdpid eax
10
+ ERR(rdpid ax)
11
+
12
+ bits 32
13
+
14
+ rdpid ebx
15
+ ERR(rdpid bx)
16
+
17
+ bits 64
18
+
19
+ rdpid rcx
20
+ rdpid ecx
21
+ ERR(rdpid cx)
@@ -0,0 +1,57 @@
1
+ bits 64
2
+ default rel
3
+
4
+ %if 1
5
+ extern bar
6
+ %else
7
+ section .bss
8
+ bar: resd 0
9
+ %endif
10
+
11
+ global start
12
+ global foo
13
+
14
+ section .rodata
15
+ rod1: dd 0x01234567
16
+ rod2: dd 0x89abcdef
17
+
18
+ section .text
19
+ start:
20
+ call .next
21
+ .next: pop rsi
22
+ sub rsi,.next-$$
23
+
24
+ lea rax, [rod1]
25
+ lea rcx, [rod2]
26
+ lea rdx, [bar]
27
+ lea rbx, [foo]
28
+
29
+ lea rax, [rdi+rod1-$$]
30
+ lea rcx, [rdi+rod2-$$]
31
+ lea rdx, [rdi+bar-$$]
32
+ lea rbx, [rdi+foo-$$]
33
+
34
+ mov rax, [rdi+rod1-$$]
35
+ mov rcx, [rdi+rod2-$$]
36
+ mov rdx, [rdi+bar-$$]
37
+ mov rbx, [rdi+foo-$$]
38
+
39
+ mov rax, dword rod1-$$
40
+ mov rcx, dword rod2-$$
41
+ mov rdx, dword bar-$$
42
+ mov rbx, dword foo-$$
43
+
44
+ section .data
45
+ dq rod1
46
+ dq rod2
47
+ dq bar
48
+ dq foo
49
+ foo:
50
+ dd rod1 - $
51
+ dd rod1 - $$
52
+ dd rod2 - $
53
+ dd rod2 - $$
54
+ dd bar - $
55
+ dd bar - $$
56
+ dd foo - $
57
+ dd foo - $$