iftoken.asm 3.9 KB

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