insn_SHIFT.awl 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583
  1. // Test SSI
  2. __STWRST
  3. L DW#16#8888F0F0
  4. SSI 3
  5. __ASSERT== __ACCU 1, DW#16#8888FE1E
  6. __ASSERT== __STW A0, 0
  7. __ASSERT== __STW A1, 0
  8. __ASSERT== __STW OV, 0
  9. __STWRST
  10. L DW#16#8888F0F4
  11. SSI 3
  12. __ASSERT== __ACCU 1, DW#16#8888FE1E
  13. __ASSERT== __STW A0, 0
  14. __ASSERT== __STW A1, 1
  15. __ASSERT== __STW OV, 0
  16. __STWRST
  17. L DW#16#88888000
  18. SSI 16
  19. __ASSERT== __ACCU 1, DW#16#8888FFFF
  20. __ASSERT== __STW A0, 0
  21. __ASSERT== __STW A1, 1
  22. __ASSERT== __STW OV, 0
  23. __STWRST
  24. L DW#16#88887FF0
  25. SSI 3
  26. __ASSERT== __ACCU 1, DW#16#88880FFE
  27. __ASSERT== __STW A0, 0
  28. __ASSERT== __STW A1, 0
  29. __ASSERT== __STW OV, 0
  30. __STWRST
  31. L DW#16#91872334
  32. SSI 0
  33. __ASSERT== __ACCU 1, DW#16#91872334
  34. __ASSERT== __STW A0, 0
  35. __ASSERT== __STW A1, 0
  36. __ASSERT== __STW OV, 0
  37. __STWRST
  38. L 3
  39. L DW#16#88887FF0
  40. SSI
  41. __ASSERT== __ACCU 1, DW#16#88880FFE
  42. __ASSERT== __STW A0, 0
  43. __ASSERT== __STW A1, 0
  44. __ASSERT== __STW OV, 0
  45. __STWRST
  46. L 0
  47. L DW#16#91882334
  48. SSI
  49. __ASSERT== __ACCU 1, DW#16#91882334
  50. __ASSERT== __STW A0, 0
  51. __ASSERT== __STW A1, 0
  52. __ASSERT== __STW OV, 0
  53. // Test SSD
  54. __STWRST
  55. L DW#16#8888F0F0
  56. SSD 3
  57. __ASSERT== __ACCU 1, DW#16#F1111E1E
  58. __ASSERT== __STW A0, 0
  59. __ASSERT== __STW A1, 0
  60. __ASSERT== __STW OV, 0
  61. __STWRST
  62. L DW#16#8888F0F4
  63. SSD 3
  64. __ASSERT== __ACCU 1, DW#16#F1111E1E
  65. __ASSERT== __STW A0, 0
  66. __ASSERT== __STW A1, 1
  67. __ASSERT== __STW OV, 0
  68. __STWRST
  69. L DW#16#88888000
  70. SSD 32
  71. __ASSERT== __ACCU 1, DW#16#FFFFFFFF
  72. __ASSERT== __STW A0, 0
  73. __ASSERT== __STW A1, 1
  74. __ASSERT== __STW OV, 0
  75. __STWRST
  76. L DW#16#88887FF0
  77. SSD 3
  78. __ASSERT== __ACCU 1, DW#16#F1110FFE
  79. __ASSERT== __STW A0, 0
  80. __ASSERT== __STW A1, 0
  81. __ASSERT== __STW OV, 0
  82. __STWRST
  83. L DW#16#64387823
  84. SSD 0
  85. __ASSERT== __ACCU 1, DW#16#64387823
  86. __ASSERT== __STW A0, 0
  87. __ASSERT== __STW A1, 0
  88. __ASSERT== __STW OV, 0
  89. __STWRST
  90. L 3
  91. L DW#16#88887FF0
  92. SSD
  93. __ASSERT== __ACCU 1, DW#16#F1110FFE
  94. __ASSERT== __STW A0, 0
  95. __ASSERT== __STW A1, 0
  96. __ASSERT== __STW OV, 0
  97. __STWRST
  98. L 0
  99. L DW#16#23119993
  100. SSD
  101. __ASSERT== __ACCU 1, DW#16#23119993
  102. __ASSERT== __STW A0, 0
  103. __ASSERT== __STW A1, 0
  104. __ASSERT== __STW OV, 0
  105. // Test SLW
  106. __STWRST
  107. L DW#16#888830F0
  108. SLW 3
  109. __ASSERT== __ACCU 1, DW#16#88888780
  110. __ASSERT== __STW A0, 0
  111. __ASSERT== __STW A1, 1
  112. __ASSERT== __STW OV, 0
  113. __STWRST
  114. L DW#16#888810F0
  115. SLW 3
  116. __ASSERT== __ACCU 1, DW#16#88888780
  117. __ASSERT== __STW A0, 0
  118. __ASSERT== __STW A1, 0
  119. __ASSERT== __STW OV, 0
  120. __STWRST
  121. L DW#16#88880001
  122. SLW 16
  123. __ASSERT== __ACCU 1, DW#16#88880000
  124. __ASSERT== __STW A0, 0
  125. __ASSERT== __STW A1, 1
  126. __ASSERT== __STW OV, 0
  127. __STWRST
  128. L DW#16#88887FF0
  129. SLW 3
  130. __ASSERT== __ACCU 1, DW#16#8888FF80
  131. __ASSERT== __STW A0, 0
  132. __ASSERT== __STW A1, 1
  133. __ASSERT== __STW OV, 0
  134. __STWRST
  135. L DW#16#91883334
  136. SLW 0
  137. __ASSERT== __ACCU 1, DW#16#91883334
  138. __ASSERT== __STW A0, 0
  139. __ASSERT== __STW A1, 0
  140. __ASSERT== __STW OV, 0
  141. __STWRST
  142. L 3
  143. L DW#16#88887FF0
  144. SLW
  145. __ASSERT== __ACCU 1, DW#16#8888FF80
  146. __ASSERT== __STW A0, 0
  147. __ASSERT== __STW A1, 1
  148. __ASSERT== __STW OV, 0
  149. __STWRST
  150. L 0
  151. L DW#16#11128993
  152. SLW
  153. __ASSERT== __ACCU 1, DW#16#11128993
  154. __ASSERT== __STW A0, 0
  155. __ASSERT== __STW A1, 0
  156. __ASSERT== __STW OV, 0
  157. // Test SRW
  158. __STWRST
  159. L DW#16#888830FC
  160. SRW 3
  161. __ASSERT== __ACCU 1, DW#16#8888061F
  162. __ASSERT== __STW A0, 0
  163. __ASSERT== __STW A1, 1
  164. __ASSERT== __STW OV, 0
  165. __STWRST
  166. L DW#16#888810F8
  167. SRW 3
  168. __ASSERT== __ACCU 1, DW#16#8888021F
  169. __ASSERT== __STW A0, 0
  170. __ASSERT== __STW A1, 0
  171. __ASSERT== __STW OV, 0
  172. __STWRST
  173. L DW#16#88888000
  174. SRW 16
  175. __ASSERT== __ACCU 1, DW#16#88880000
  176. __ASSERT== __STW A0, 0
  177. __ASSERT== __STW A1, 1
  178. __ASSERT== __STW OV, 0
  179. __STWRST
  180. L DW#16#88880FFE
  181. SRW 3
  182. __ASSERT== __ACCU 1, DW#16#888801FF
  183. __ASSERT== __STW A0, 0
  184. __ASSERT== __STW A1, 1
  185. __ASSERT== __STW OV, 0
  186. __STWRST
  187. L DW#16#66549932
  188. SRW 0
  189. __ASSERT== __ACCU 1, DW#16#66549932
  190. __ASSERT== __STW A0, 0
  191. __ASSERT== __STW A1, 0
  192. __ASSERT== __STW OV, 0
  193. __STWRST
  194. L 3
  195. L DW#16#88880FFE
  196. SRW
  197. __ASSERT== __ACCU 1, DW#16#888801FF
  198. __ASSERT== __STW A0, 0
  199. __ASSERT== __STW A1, 1
  200. __ASSERT== __STW OV, 0
  201. __STWRST
  202. L 0
  203. L DW#16#34389892
  204. SRW
  205. __ASSERT== __ACCU 1, DW#16#34389892
  206. __ASSERT== __STW A0, 0
  207. __ASSERT== __STW A1, 0
  208. __ASSERT== __STW OV, 0
  209. // Test SLD
  210. __STWRST
  211. L DW#16#388830F0
  212. SLD 3
  213. __ASSERT== __ACCU 1, DW#16#C4418780
  214. __ASSERT== __STW A0, 0
  215. __ASSERT== __STW A1, 1
  216. __ASSERT== __STW OV, 0
  217. __STWRST
  218. L DW#16#188810F0
  219. SLD 3
  220. __ASSERT== __ACCU 1, DW#16#C4408780
  221. __ASSERT== __STW A0, 0
  222. __ASSERT== __STW A1, 0
  223. __ASSERT== __STW OV, 0
  224. __STWRST
  225. L DW#16#00000001
  226. SLD 32
  227. __ASSERT== __ACCU 1, DW#16#00000000
  228. __ASSERT== __STW A0, 0
  229. __ASSERT== __STW A1, 1
  230. __ASSERT== __STW OV, 0
  231. __STWRST
  232. L DW#16#7FFFFFF0
  233. SLD 3
  234. __ASSERT== __ACCU 1, DW#16#FFFFFF80
  235. __ASSERT== __STW A0, 0
  236. __ASSERT== __STW A1, 1
  237. __ASSERT== __STW OV, 0
  238. __STWRST
  239. L DW#16#99378442
  240. SLD 0
  241. __ASSERT== __ACCU 1, DW#16#99378442
  242. __ASSERT== __STW A0, 0
  243. __ASSERT== __STW A1, 0
  244. __ASSERT== __STW OV, 0
  245. __STWRST
  246. L 3
  247. L DW#16#7FFFFFF0
  248. SLD
  249. __ASSERT== __ACCU 1, DW#16#FFFFFF80
  250. __ASSERT== __STW A0, 0
  251. __ASSERT== __STW A1, 1
  252. __ASSERT== __STW OV, 0
  253. __STWRST
  254. L 0
  255. L DW#16#87921345
  256. SLD
  257. __ASSERT== __ACCU 1, DW#16#87921345
  258. __ASSERT== __STW A0, 0
  259. __ASSERT== __STW A1, 0
  260. __ASSERT== __STW OV, 0
  261. // Test SRD
  262. __STWRST
  263. L DW#16#388830FC
  264. SRD 3
  265. __ASSERT== __ACCU 1, DW#16#0711061F
  266. __ASSERT== __STW A0, 0
  267. __ASSERT== __STW A1, 1
  268. __ASSERT== __STW OV, 0
  269. __STWRST
  270. L DW#16#188810F8
  271. SRD 3
  272. __ASSERT== __ACCU 1, DW#16#0311021F
  273. __ASSERT== __STW A0, 0
  274. __ASSERT== __STW A1, 0
  275. __ASSERT== __STW OV, 0
  276. __STWRST
  277. L DW#16#80000000
  278. SRD 32
  279. __ASSERT== __ACCU 1, DW#16#00000000
  280. __ASSERT== __STW A0, 0
  281. __ASSERT== __STW A1, 1
  282. __ASSERT== __STW OV, 0
  283. __STWRST
  284. L DW#16#0FFFFFFE
  285. SRD 3
  286. __ASSERT== __ACCU 1, DW#16#01FFFFFF
  287. __ASSERT== __STW A0, 0
  288. __ASSERT== __STW A1, 1
  289. __ASSERT== __STW OV, 0
  290. __STWRST
  291. L DW#16#83425353
  292. SRD 0
  293. __ASSERT== __ACCU 1, DW#16#83425353
  294. __ASSERT== __STW A0, 0
  295. __ASSERT== __STW A1, 0
  296. __ASSERT== __STW OV, 0
  297. __STWRST
  298. L 3
  299. L DW#16#0FFFFFFE
  300. SRD
  301. __ASSERT== __ACCU 1, DW#16#01FFFFFF
  302. __ASSERT== __STW A0, 0
  303. __ASSERT== __STW A1, 1
  304. __ASSERT== __STW OV, 0
  305. __STWRST
  306. L 0
  307. L DW#16#11234992
  308. SRD
  309. __ASSERT== __ACCU 1, DW#16#11234992
  310. __ASSERT== __STW A0, 0
  311. __ASSERT== __STW A1, 0
  312. __ASSERT== __STW OV, 0
  313. // Test RLD
  314. __STWRST
  315. L DW#16#388830F0
  316. RLD 3
  317. __ASSERT== __ACCU 1, DW#16#C4418781
  318. __ASSERT== __STW A0, 0
  319. __ASSERT== __STW A1, 1
  320. __ASSERT== __STW OV, 0
  321. __STWRST
  322. L DW#16#188810F0
  323. RLD 3
  324. __ASSERT== __ACCU 1, DW#16#C4408780
  325. __ASSERT== __STW A0, 0
  326. __ASSERT== __STW A1, 0
  327. __ASSERT== __STW OV, 0
  328. __STWRST
  329. L DW#16#00000001
  330. RLD 32
  331. __ASSERT== __ACCU 1, DW#16#00000001
  332. __ASSERT== __STW A0, 0
  333. __ASSERT== __STW A1, 1
  334. __ASSERT== __STW OV, 0
  335. __STWRST
  336. L DW#16#7FFFFFF0
  337. RLD 3
  338. __ASSERT== __ACCU 1, DW#16#FFFFFF83
  339. __ASSERT== __STW A0, 0
  340. __ASSERT== __STW A1, 1
  341. __ASSERT== __STW OV, 0
  342. __STWRST
  343. L DW#16#31244235
  344. RLD 0
  345. __ASSERT== __ACCU 1, DW#16#31244235
  346. __ASSERT== __STW A0, 0
  347. __ASSERT== __STW A1, 0
  348. __ASSERT== __STW OV, 0
  349. __STWRST
  350. L 3
  351. L DW#16#7FFFFFF0
  352. RLD
  353. __ASSERT== __ACCU 1, DW#16#FFFFFF83
  354. __ASSERT== __STW A0, 0
  355. __ASSERT== __STW A1, 1
  356. __ASSERT== __STW OV, 0
  357. __STWRST
  358. L 0
  359. L DW#16#82546623
  360. RLD
  361. __ASSERT== __ACCU 1, DW#16#82546623
  362. __ASSERT== __STW A0, 0
  363. __ASSERT== __STW A1, 0
  364. __ASSERT== __STW OV, 0
  365. // Test RRD
  366. __STWRST
  367. L DW#16#388830FC
  368. RRD 3
  369. __ASSERT== __ACCU 1, DW#16#8711061F
  370. __ASSERT== __STW A0, 0
  371. __ASSERT== __STW A1, 1
  372. __ASSERT== __STW OV, 0
  373. __STWRST
  374. L DW#16#188810F8
  375. RRD 3
  376. __ASSERT== __ACCU 1, DW#16#0311021F
  377. __ASSERT== __STW A0, 0
  378. __ASSERT== __STW A1, 0
  379. __ASSERT== __STW OV, 0
  380. __STWRST
  381. L DW#16#80000000
  382. RRD 32
  383. __ASSERT== __ACCU 1, DW#16#80000000
  384. __ASSERT== __STW A0, 0
  385. __ASSERT== __STW A1, 1
  386. __ASSERT== __STW OV, 0
  387. __STWRST
  388. L DW#16#0FFFFFFE
  389. RRD 3
  390. __ASSERT== __ACCU 1, DW#16#C1FFFFFF
  391. __ASSERT== __STW A0, 0
  392. __ASSERT== __STW A1, 1
  393. __ASSERT== __STW OV, 0
  394. __STWRST
  395. L DW#16#91233473
  396. RRD 0
  397. __ASSERT== __ACCU 1, DW#16#91233473
  398. __ASSERT== __STW A0, 0
  399. __ASSERT== __STW A1, 0
  400. __ASSERT== __STW OV, 0
  401. __STWRST
  402. L 3
  403. L DW#16#0FFFFFFE
  404. RRD
  405. __ASSERT== __ACCU 1, DW#16#C1FFFFFF
  406. __ASSERT== __STW A0, 0
  407. __ASSERT== __STW A1, 1
  408. __ASSERT== __STW OV, 0
  409. __STWRST
  410. L 0
  411. L DW#16#29984445
  412. RRD
  413. __ASSERT== __ACCU 1, DW#16#29984445
  414. __ASSERT== __STW A0, 0
  415. __ASSERT== __STW A1, 0
  416. __ASSERT== __STW OV, 0
  417. // Test RLDA
  418. __STWRST
  419. L DW#16#388830F0
  420. RLDA
  421. __ASSERT== __ACCU 1, DW#16#711061E0
  422. __ASSERT== __STW A0, 0
  423. __ASSERT== __STW A1, 0
  424. __ASSERT== __STW OV, 0
  425. __STWRST
  426. L DW#16#188810F0
  427. RLDA
  428. __ASSERT== __ACCU 1, DW#16#311021E0
  429. __ASSERT== __STW A0, 0
  430. __ASSERT== __STW A1, 0
  431. __ASSERT== __STW OV, 0
  432. __STWRST
  433. L DW#16#80000000
  434. RLDA
  435. __ASSERT== __ACCU 1, DW#16#00000000
  436. __ASSERT== __STW A0, 0
  437. __ASSERT== __STW A1, 1
  438. __ASSERT== __STW OV, 0
  439. __STWRST
  440. L DW#16#7FFFFFF0
  441. RLDA
  442. __ASSERT== __ACCU 1, DW#16#FFFFFFE0
  443. __ASSERT== __STW A0, 0
  444. __ASSERT== __STW A1, 0
  445. __ASSERT== __STW OV, 0
  446. __STWRST
  447. L STW
  448. OW W#16#0080
  449. OW W#16#0040
  450. OW W#16#0020
  451. T STW
  452. __ASSERT== __STW A1, 1
  453. __ASSERT== __STW A0, 1
  454. __ASSERT== __STW OV, 1
  455. L DW#16#7FFFFFF0
  456. RLDA
  457. __ASSERT== __ACCU 1, DW#16#FFFFFFE1
  458. __ASSERT== __STW A0, 0
  459. __ASSERT== __STW A1, 0
  460. __ASSERT== __STW OV, 0
  461. // Test RRDA
  462. __STWRST
  463. L DW#16#388830FC
  464. RRDA
  465. __ASSERT== __ACCU 1, DW#16#1C44187E
  466. __ASSERT== __STW A0, 0
  467. __ASSERT== __STW A1, 0
  468. __ASSERT== __STW OV, 0
  469. __STWRST
  470. L DW#16#188810F8
  471. RRDA
  472. __ASSERT== __ACCU 1, DW#16#0C44087C
  473. __ASSERT== __STW A0, 0
  474. __ASSERT== __STW A1, 0
  475. __ASSERT== __STW OV, 0
  476. __STWRST
  477. L DW#16#00000001
  478. RRDA
  479. __ASSERT== __ACCU 1, DW#16#00000000
  480. __ASSERT== __STW A0, 0
  481. __ASSERT== __STW A1, 1
  482. __ASSERT== __STW OV, 0
  483. __STWRST
  484. L DW#16#0FFFFFFE
  485. RRDA
  486. __ASSERT== __ACCU 1, DW#16#07FFFFFF
  487. __ASSERT== __STW A0, 0
  488. __ASSERT== __STW A1, 0
  489. __ASSERT== __STW OV, 0
  490. __STWRST
  491. L STW
  492. OW W#16#0080
  493. OW W#16#0040
  494. OW W#16#0020
  495. T STW
  496. __ASSERT== __STW A1, 1
  497. __ASSERT== __STW A0, 1
  498. __ASSERT== __STW OV, 1
  499. L DW#16#0FFFFFFE
  500. RRDA
  501. __ASSERT== __ACCU 1, DW#16#87FFFFFF
  502. __ASSERT== __STW A0, 0
  503. __ASSERT== __STW A1, 0
  504. __ASSERT== __STW OV, 0
  505. CALL SFC 46 // STOP CPU