ifmacro.asm 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414
  1. ;Testname=test; Arguments=-fbin -oifmacro.txt; Files=stdout stderr ifmacro.txt
  2. ;
  3. ; ifmacro.asm
  4. ;
  5. ; Test of the new ifmacro directive
  6. ;
  7. ; This file produces a human-readable text file when compiled
  8. ; with -f bin
  9. ;
  10. %define LF 10
  11. %macro dummy 2
  12. db 'This is a dummy macro, '
  13. db 'arg1 = ', %1, ', '
  14. db 'arg2 = ', %2, LF
  15. %endmacro
  16. dummy 'this', 'that'
  17. %ifdef CR
  18. db '%ifdef CR', LF
  19. %endif
  20. %ifdef LF
  21. db '%ifdef LF', LF
  22. %endif
  23. %ifmacro dummy 1
  24. db '%ifmacro dummy 1', LF
  25. %endif
  26. %ifmacro dummy 2
  27. db '%ifmacro dummy 2', LF
  28. %endif
  29. %ifmacro dummy 3
  30. db '%ifmacro dummy 3', LF
  31. %endif
  32. %ifmacro dummy 1+
  33. db '%ifmacro dummy 1+', LF
  34. %endif
  35. %ifmacro dummy 2+
  36. db '%ifmacro dummy 2+', LF
  37. %endif
  38. %ifmacro dummy 3+
  39. db '%ifmacro dummy 3+', LF
  40. %endif
  41. %ifmacro dummy
  42. db '%ifmacro dummy', LF
  43. %endif
  44. %ifmacro dummy 0-1
  45. db '%ifmacro dummy 0-1', LF
  46. %endif
  47. %ifmacro dummy 1-2
  48. db '%ifmacro dummy 1-2', LF
  49. %endif
  50. %ifmacro dummy 2-3
  51. db '%ifmacro dummy 2-3', LF
  52. %endif
  53. %ifmacro dummy 3-4
  54. db '%ifmacro dummy 3-4', LF
  55. %endif
  56. %ifmacro LF
  57. db '%ifmacro LF', LF
  58. %endif
  59. %ifndef CR
  60. db '%ifndef CR', LF
  61. %endif
  62. %ifndef LF
  63. db '%ifndef LF', LF
  64. %endif
  65. %ifnmacro dummy 1
  66. db '%ifnmacro dummy 1', LF
  67. %endif
  68. %ifnmacro dummy 2
  69. db '%ifnmacro dummy 2', LF
  70. %endif
  71. %ifnmacro dummy 3
  72. db '%ifnmacro dummy 3', LF
  73. %endif
  74. %ifnmacro dummy 1+
  75. db '%ifnmacro dummy 1+', LF
  76. %endif
  77. %ifnmacro dummy 2+
  78. db '%ifnmacro dummy 2+', LF
  79. %endif
  80. %ifnmacro dummy 3+
  81. db '%ifnmacro dummy 3+', LF
  82. %endif
  83. %ifnmacro dummy
  84. db '%ifnmacro dummy', LF
  85. %endif
  86. %ifnmacro dummy 0-1
  87. db '%ifnmacro dummy 0-1', LF
  88. %endif
  89. %ifnmacro dummy 1-2
  90. db '%ifnmacro dummy 1-2', LF
  91. %endif
  92. %ifnmacro dummy 2-3
  93. db '%ifnmacro dummy 2-3', LF
  94. %endif
  95. %ifnmacro dummy 3-4
  96. db '%ifnmacro dummy 3-4', LF
  97. %endif
  98. %ifnmacro LF
  99. db '%ifnmacro LF', LF
  100. %endif
  101. %if 0
  102. %elifdef CR
  103. db '%elifdef CR', CR
  104. %endif
  105. %if 0
  106. %elifdef LF
  107. db '%elifdef LF', LF
  108. %endif
  109. %if 0
  110. %elifmacro dummy 1
  111. db '%elifmacro dummy 1', LF
  112. %endif
  113. %if 0
  114. %elifmacro dummy 2
  115. db '%elifmacro dummy 2', LF
  116. %endif
  117. %if 0
  118. %elifmacro dummy 3
  119. db '%elifmacro dummy 3', LF
  120. %endif
  121. %if 0
  122. %elifmacro dummy 1+
  123. db '%elifmacro dummy 1+', LF
  124. %endif
  125. %if 0
  126. %elifmacro dummy 2+
  127. db '%elifmacro dummy 2+', LF
  128. %endif
  129. %if 0
  130. %elifmacro dummy 3+
  131. db '%elifmacro dummy 3+', LF
  132. %endif
  133. %if 0
  134. %elifmacro dummy
  135. db '%elifmacro dummy', LF
  136. %endif
  137. %if 0
  138. %elifmacro dummy 0-1
  139. db '%elifmacro dummy 0-1', LF
  140. %endif
  141. %if 0
  142. %elifmacro dummy 1-2
  143. db '%elifmacro dummy 1-2', LF
  144. %endif
  145. %if 0
  146. %elifmacro dummy 2-3
  147. db '%elifmacro dummy 2-3', LF
  148. %endif
  149. %if 0
  150. %elifmacro dummy 3-4
  151. db '%elifmacro dummy 3-4', LF
  152. %endif
  153. %if 0
  154. %elifmacro LF
  155. db '%elifmacro LF', LF
  156. %endif
  157. %if 0
  158. %elifndef CR
  159. db '%elifndef CR', LF
  160. %endif
  161. %if 0
  162. %elifndef LF
  163. db '%elifndef LF', LF
  164. %endif
  165. %if 0
  166. %elifnmacro dummy 1
  167. db '%elifnmacro dummy 1', LF
  168. %endif
  169. %if 0
  170. %elifnmacro dummy 2
  171. db '%elifnmacro dummy 2', LF
  172. %endif
  173. %if 0
  174. %elifnmacro dummy 3
  175. db '%elifnmacro dummy 3', LF
  176. %endif
  177. %if 0
  178. %elifnmacro dummy 1+
  179. db '%elifnmacro dummy 1+', LF
  180. %endif
  181. %if 0
  182. %elifnmacro dummy 2+
  183. db '%elifnmacro dummy 2+', LF
  184. %endif
  185. %if 0
  186. %elifnmacro dummy 3+
  187. db '%elifnmacro dummy 3+', LF
  188. %endif
  189. %if 0
  190. %elifnmacro dummy
  191. db '%elifnmacro dummy', LF
  192. %endif
  193. %if 0
  194. %elifnmacro dummy 0-1
  195. db '%elifnmacro dummy 0-1', LF
  196. %endif
  197. %if 0
  198. %elifnmacro dummy 1-2
  199. db '%elifnmacro dummy 1-2', LF
  200. %endif
  201. %if 0
  202. %elifnmacro dummy 2-3
  203. db '%elifnmacro dummy 2-3', LF
  204. %endif
  205. %if 0
  206. %elifnmacro dummy 3-4
  207. db '%elifnmacro dummy 3-4', LF
  208. %endif
  209. %if 0
  210. %elifnmacro LF
  211. db '%elifnmacro LF', LF
  212. %endif
  213. %if 1
  214. %elifdef CR
  215. db 'bad %elifdef CR', LF
  216. %endif
  217. %if 1
  218. %elifdef LF
  219. db 'bad %elifdef LF', LF
  220. %endif
  221. %if 1
  222. %elifmacro dummy 1
  223. db 'bad %elifmacro dummy 1', LF
  224. %endif
  225. %if 1
  226. %elifmacro dummy 2
  227. db 'bad %elifmacro dummy 2', LF
  228. %endif
  229. %if 1
  230. %elifmacro dummy 3
  231. db 'bad %elifmacro dummy 3', LF
  232. %endif
  233. %if 1
  234. %elifmacro dummy 1+
  235. db 'bad %elifmacro dummy 1+', LF
  236. %endif
  237. %if 1
  238. %elifmacro dummy 2+
  239. db 'bad %elifmacro dummy 2+', LF
  240. %endif
  241. %if 1
  242. %elifmacro dummy 3+
  243. db 'bad %elifmacro dummy 3+', LF
  244. %endif
  245. %if 1
  246. %elifmacro dummy
  247. db 'bad %elifmacro dummy', LF
  248. %endif
  249. %if 1
  250. %elifmacro dummy 0-1
  251. db 'bad %elifmacro dummy 0-1', LF
  252. %endif
  253. %if 1
  254. %elifmacro dummy 1-2
  255. db 'bad %elifmacro dummy 1-2', LF
  256. %endif
  257. %if 1
  258. %elifmacro dummy 2-3
  259. db 'bad %elifmacro dummy 2-3', LF
  260. %endif
  261. %if 1
  262. %elifmacro dummy 3-4
  263. db 'bad %elifmacro dummy 3-4', LF
  264. %endif
  265. %if 1
  266. %elifmacro LF
  267. db 'bad %elifmacro LF', LF
  268. %endif
  269. %if 1
  270. %elifndef CR
  271. db 'bad %elifndef CR', LF
  272. %endif
  273. %if 1
  274. %elifndef LF
  275. db 'bad %elifndef LF', LF
  276. %endif
  277. %if 1
  278. %elifnmacro dummy 1
  279. db 'bad %elifnmacro dummy 1', LF
  280. %endif
  281. %if 1
  282. %elifnmacro dummy 2
  283. db 'bad %elifnmacro dummy 2', LF
  284. %endif
  285. %if 1
  286. %elifnmacro dummy 3
  287. db 'bad %elifnmacro dummy 3', LF
  288. %endif
  289. %if 1
  290. %elifnmacro dummy 1+
  291. db 'bad %elifnmacro dummy 1+', LF
  292. %endif
  293. %if 1
  294. %elifnmacro dummy 2+
  295. db 'bad %elifnmacro dummy 2+', LF
  296. %endif
  297. %if 1
  298. %elifnmacro dummy 3+
  299. db 'bad %elifnmacro dummy 3+', LF
  300. %endif
  301. %if 1
  302. %elifnmacro dummy
  303. db 'bad %elifnmacro dummy', LF
  304. %endif
  305. %if 1
  306. %elifnmacro dummy 0-1
  307. db 'bad %elifnmacro dummy 0-1', LF
  308. %endif
  309. %if 1
  310. %elifnmacro dummy 1-2
  311. db 'bad %elifnmacro dummy 1-2', LF
  312. %endif
  313. %if 1
  314. %elifnmacro dummy 2-3
  315. db 'bad %elifnmacro dummy 2-3', LF
  316. %endif
  317. %if 1
  318. %elifnmacro dummy 3-4
  319. db 'bad %elifnmacro dummy 3-4', LF
  320. %endif
  321. %if 1
  322. %elifnmacro LF
  323. db 'bad %elifnmacro LF', LF
  324. %endif