home *** CD-ROM | disk | FTP | other *** search
/ WDR Computer Club Digital 1996 October / CLUB10_96.BIN / fernuni / medlite3.app / testload.prg < prev    next >
Text File  |  1995-03-13  |  3KB  |  315 lines

  1. #our program starts at 0x2000
  2. load    0x0100
  3. shift    5
  4. jump
  5.  
  6. $0x2000
  7.  
  8. # test load immediate
  9. load    1
  10. store    [0x1000]
  11.  
  12. load    0
  13. store    [0x1001]
  14.  
  15. load    -1
  16. store    [0x1002]
  17.  
  18. # test load direct & store direct (see above)
  19. load    [0x1000]
  20. load    [0x1001]
  21. load    [0x1002]
  22.  
  23. # test neg
  24. load    0
  25. neg
  26.  
  27. load    1
  28. neg
  29.  
  30. load    -1
  31. neg
  32.  
  33. # test unconditional branch
  34. branch    b1
  35. :b3
  36. branch    b2
  37. :b1
  38. branch    b3
  39. :b2
  40.  
  41. # test branch z
  42. load    0
  43. branch    z,b4
  44. halt
  45.  
  46. :b4
  47. load    1
  48. branch    z,b5
  49. branch    b6
  50.  
  51. :b5
  52. halt
  53.  
  54. :b6
  55. load    -1
  56. branch    z,b7
  57. branch    b8
  58.  
  59. :b7
  60. halt
  61.  
  62. :b8
  63.  
  64. # test branch n
  65. load    0
  66. branch    n,b9
  67. branch    b10
  68. :b9
  69. halt
  70. :b10
  71.  
  72. load    1
  73. branch    n,b11
  74. branch    b12
  75. :b11
  76. halt
  77.  
  78. :b12
  79. load    -1
  80. branch    n,b13
  81. halt
  82.  
  83. :b13
  84.  
  85. # test arithmetical and
  86. load    3
  87. load    5
  88. and
  89.  
  90. load    3
  91. load    4
  92. and
  93.  
  94. load    -2
  95. load    1
  96. and
  97.  
  98. load    -1
  99. load    -4
  100. and
  101.  
  102. # test arithmetical or
  103. load    3
  104. load    5
  105. or
  106.  
  107. load    0
  108. load    0
  109. or    
  110.  
  111. load    -1
  112. load    2
  113. or
  114.  
  115. # test arithmetical xor
  116. load    3
  117. load    5
  118. xor
  119.  
  120. load    3
  121. load    3
  122. xor
  123.  
  124. load    -1
  125. load    2
  126. xor
  127.  
  128. # test LOAD B
  129. load    1
  130. load    b
  131.  
  132. load    -1
  133. load    b
  134.  
  135. load    0
  136. load    b
  137.  
  138. # test ADD
  139. load    2
  140. load    3
  141. add
  142.  
  143. load    2
  144. load    -2
  145. add
  146.  
  147. load    3
  148. load    -2
  149. add
  150.  
  151. load    -3
  152. load    2
  153. add
  154.  
  155. # test SUB
  156. load    1
  157. load    2
  158. sub
  159.  
  160. load    4
  161. load    3
  162. sub
  163.  
  164. load    5
  165. load    5
  166. sub
  167.  
  168. # test INCA
  169. load    2
  170. inca    3
  171.  
  172. load    2
  173. inca    -2
  174.  
  175. load    3
  176. inca    -2
  177.  
  178. load    -3
  179. inca    2
  180.  
  181. # test LOAD I (immediate)
  182. load    i,1
  183. load    i,0
  184. load    i,-1
  185.  
  186. # test INCI
  187. load    i,2
  188. inci    3
  189.  
  190. load    i,2
  191. inci    -2
  192.  
  193. load    i,3
  194. inci    -2
  195.  
  196. load    i,-3
  197. inci    2
  198.  
  199. # test branch c
  200. load    2
  201. inca    -1
  202. branch    c,b14
  203. halt
  204.  
  205. :b14
  206. load    1
  207. inca    -2
  208. branch    c,b15
  209. branch    b16
  210.  
  211. :b15
  212. halt
  213.  
  214. :b16
  215.  
  216. # test LOAD (indirect) and STORE (indirect)
  217. load    0x100
  218. load    0x100
  219. add
  220. load    b
  221. load    I,0x100
  222. load    2
  223. store    [b+i+0x50]
  224. load    [0x350]
  225. load    [b+i+0x50]
  226.  
  227. load    i,-0xB0
  228. load    4
  229. store    [b+i+0x20]
  230. load    [0x170]
  231. load    [b+i+0x20]
  232.  
  233. load    0xb0
  234.  
  235. # test XCHG
  236. load    1
  237. load    i,2
  238. xchg
  239.  
  240. load    1
  241. load    i,0
  242. xchg
  243.  
  244. load    1
  245. load    i,-1
  246. xchg
  247.  
  248. # test jump
  249. load    i,0x20
  250. load    0
  251. store    [0x100]
  252.  
  253. #set 0x100 to 0x2000
  254. :b18
  255. load    0x100
  256. load    [0x100]
  257. add
  258. store    [0x100]
  259.  
  260. inci    -1
  261.  
  262. branch    z,b17
  263. branch    b18
  264.  
  265. :b17
  266. load    [0x100]
  267. load    0xa4
  268. add    
  269. jump
  270. #this jump should skip the following branch
  271. halt
  272.  
  273. # test call
  274. load    [0x100]
  275. load    0xa9
  276. add
  277. call
  278. #this call should skip the following branch
  279. halt
  280.  
  281. load    0
  282.  
  283. # test logical shifts
  284. load    3
  285. shift    2
  286. load    12
  287.  
  288. load    2
  289. shift    15
  290. branch    c,b19
  291. halt
  292.  
  293. :b19
  294. load    -1
  295. shift    15
  296. branch    c,b20
  297. halt
  298.  
  299. :b20
  300. load    -4
  301. shift    a,r,2
  302. load    -1
  303.  
  304. load    4
  305. shift    a,r,2
  306. load    1
  307.  
  308. load    -1
  309. inca    2
  310. load    0
  311. shift    c,2
  312. load    2
  313.  
  314. halt
  315.