tests 29 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602
  1. TEST 000: empty
  2. MAIN 0
  3. TEST 001: OK
  4. MAIN 0
  5. OK
  6. TEST 002: test loc, bne
  7. MAIN 0
  8. loc 0
  9. loc 0
  10. bne *1
  11. OK
  12. loc 1
  13. loc 1
  14. bne *1
  15. OK
  16. loc -1
  17. loc -1
  18. bne *1
  19. OK
  20. loc 127
  21. loc 127
  22. bne *1
  23. OK
  24. loc -127
  25. loc -127
  26. bne *1
  27. OK
  28. loc -128
  29. loc -128
  30. bne *1
  31. OK
  32. #if WS > 1
  33. loc 255
  34. loc 255
  35. bne *1
  36. OK
  37. loc 256
  38. loc 256
  39. bne *1
  40. OK
  41. loc 257
  42. loc 257
  43. bne *1
  44. OK
  45. loc 32767
  46. loc 32767
  47. bne *1
  48. OK
  49. loc -32767
  50. loc -32767
  51. bne *1
  52. OK
  53. loc -32768
  54. loc -32768
  55. bne *1
  56. OK
  57. #endif WS > 1
  58. #if WS > 2
  59. loc 65535
  60. loc 65535
  61. bne *1
  62. OK
  63. loc 65536
  64. loc 65536
  65. bne *1
  66. OK
  67. loc 65537
  68. loc 65537
  69. bne *1
  70. OK
  71. loc 2147483647
  72. loc 2147483647
  73. bne *1
  74. OK
  75. loc -2147483647
  76. loc -2147483647
  77. bne *1
  78. OK
  79. loc -2147483648
  80. loc -2147483648
  81. bne *1
  82. OK
  83. #endif WS > 2
  84. TEST 003: test signed and unsigned loc
  85. MAIN 0
  86. #if WS == 1
  87. loc 128
  88. loc -128
  89. bne *1
  90. OK
  91. loc 129
  92. loc -127
  93. bne *1
  94. OK
  95. loc 255
  96. loc -1
  97. bne *1
  98. OK
  99. #endif
  100. #if WS == 2
  101. loc 32768
  102. loc -32768
  103. bne *1
  104. OK
  105. loc 32769
  106. loc -32767
  107. bne *1
  108. OK
  109. loc 65535
  110. loc -1
  111. bne *1
  112. OK
  113. #endif
  114. #if WS == 4
  115. loc 2147483648
  116. loc -2147483648
  117. bne *1
  118. OK
  119. loc 2147483649
  120. loc -2147483647
  121. bne *1
  122. OK
  123. loc 4294967295
  124. loc -1
  125. bne *1
  126. OK
  127. #endif
  128. TEST 004: test lol, stl
  129. MAIN 8
  130. loc 95
  131. stl -4
  132. lol -4
  133. loc 95
  134. bne *1
  135. OK
  136. lol 0
  137. stl -4
  138. loc 125
  139. stl -8
  140. loc 125
  141. lol -8
  142. bne *1
  143. OK
  144. lol 0
  145. lol -4
  146. bne *1
  147. OK
  148. TEST 005: test loe, ste
  149. HOL 8
  150. MAIN 0
  151. loc 95
  152. ste WS
  153. loe WS
  154. loc 95
  155. bne *1
  156. OK
  157. loc 125
  158. ste 0
  159. loc 125
  160. loe 0
  161. bne *1
  162. OK
  163. loc 95
  164. ste 0
  165. loe WS
  166. loe 0
  167. bne *1
  168. OK
  169. TEST 006: test named global data: con, rom, bss
  170. a006
  171. bss 4,0,0
  172. b006
  173. con 35
  174. c006
  175. bss 4,0,1
  176. d006
  177. bss 4,35,1
  178. e006
  179. rom 57
  180. MAIN 0
  181. loc 0
  182. loe c006
  183. bne *1
  184. OK
  185. loe b006
  186. ste a006
  187. loe d006
  188. loe a006
  189. bne *1
  190. OK
  191. loe e006
  192. ste b006
  193. loc 57
  194. loe b006
  195. bne *1
  196. OK
  197. TEST 007: test lal, lil
  198. MAIN 12
  199. lal -8
  200. #if WS == PS
  201. stl -4
  202. #endif
  203. #if WS*2 == PS
  204. sdl -4
  205. #endif
  206. loc 117
  207. stl -8
  208. lil -4
  209. loc 117
  210. bne *1
  211. OK
  212. TEST 008: test sil
  213. MAIN 12
  214. loc 29
  215. stl -8
  216. lal -8
  217. #if WS == PS
  218. stl -4
  219. #endif
  220. #if WS*2 == PS
  221. sdl -4
  222. #endif
  223. loc 110
  224. sil -4
  225. lol -8
  226. loc 110
  227. bne *1
  228. OK
  229. TEST 009: test lof
  230. MAIN 20
  231. lal -16
  232. loc 120
  233. stl -12
  234. lof 4
  235. loc 120
  236. bne *1
  237. OK
  238. TEST 010: test stf
  239. MAIN 20
  240. loc 180
  241. lal -16
  242. stf 8
  243. lol -8
  244. loc 180
  245. bne *1
  246. OK
  247. TEST 011: test loi WS
  248. MAIN 20
  249. loc 140
  250. stl -12
  251. lal -12
  252. loi WS
  253. loc 140
  254. bne *1
  255. OK
  256. TEST 012: test loi 1, sti 1
  257. MAIN 20
  258. #if WS > 1
  259. loc 519
  260. lal -10
  261. sti 1
  262. lal -10
  263. loi 1
  264. loc 7
  265. bne *1
  266. OK
  267. #endif
  268. TEST 013: test loi 2*WS
  269. MAIN 20
  270. loc 77
  271. stl -12
  272. loc 119
  273. stl -12+WS
  274. lal -12
  275. loi 2*WS
  276. loc 77
  277. bne *1
  278. loc 119
  279. bne *1
  280. OK
  281. TEST 014: test loi 4*WS
  282. MAIN 20
  283. loc 150
  284. stl -16+(3*WS)
  285. loc 152
  286. stl -16+(2*WS)
  287. loc 154
  288. stl -16+WS
  289. loc 156
  290. stl -16
  291. lal -16
  292. loi 4*WS
  293. loc 156
  294. bne *1
  295. loc 154
  296. bne *1
  297. loc 152
  298. bne *1
  299. loc 150
  300. bne *1
  301. OK
  302. TEST 015: test los WS with 1
  303. MAIN 20
  304. loc 7
  305. lal -10
  306. sti 1
  307. lal -10
  308. loc 1
  309. los WS
  310. loc 7
  311. bne *1
  312. OK
  313. TEST 016: test los WS with 2
  314. MAIN 20
  315. #if WS == 1
  316. loc 77
  317. loc 78
  318. stl -12
  319. stl -11
  320. lal -12
  321. loc 2
  322. los WS
  323. loc 78
  324. bne *1
  325. loc 77
  326. bne *1
  327. #endif
  328. #if WS > 1
  329. loc 777
  330. stl -12
  331. lal -12
  332. loc 2
  333. los WS
  334. loc 777
  335. bne *1
  336. #endif
  337. OK
  338. TEST 017: test los WS with 4
  339. MAIN 20
  340. #if WS == 1
  341. loc 14
  342. loc 15
  343. loc 16
  344. loc 17
  345. lal -12
  346. sti 4
  347. lal -12
  348. loc 4
  349. los WS
  350. loc 17
  351. bne *1
  352. loc 16
  353. bne *1
  354. loc 15
  355. bne *1
  356. loc 14
  357. bne *1
  358. #endif
  359. #if WS == 2
  360. loc 3001
  361. loc 3002
  362. stl -12
  363. stl -10
  364. lal -12
  365. loc 4
  366. los WS
  367. loc 3002
  368. bne *1
  369. loc 3001
  370. bne *1
  371. #endif
  372. #if WS > 2
  373. loc 123001
  374. stl -12
  375. lal -12
  376. loc 4
  377. los WS
  378. loc 123001
  379. bne *1
  380. #endif
  381. OK
  382. TEST 018: test ldl
  383. MAIN 20
  384. loc 77
  385. stl -12
  386. loc 123
  387. stl -12+WS
  388. ldl -12
  389. loc 77
  390. bne *1
  391. loc 123
  392. bne *1
  393. OK
  394. TEST 019: test lde
  395. HOL 20
  396. MAIN 0
  397. loc 70
  398. ste 12
  399. loc 71
  400. ste 12+WS
  401. lde 12
  402. loc 70
  403. bne *1
  404. loc 71
  405. bne *1
  406. OK
  407. TEST 020: test ldf
  408. MAIN 20
  409. loc 123
  410. loc 77
  411. sdl -4
  412. lal -9
  413. ldf 5
  414. loc 77
  415. bne *1
  416. loc 123
  417. bne *1
  418. OK
  419. TEST 021: test ldf
  420. MAIN 20
  421. loc 75
  422. stl -12
  423. loc 77
  424. stl -12+WS
  425. lal -20
  426. ldf 8
  427. loc 75
  428. bne *1
  429. loc 77
  430. bne *1
  431. OK
  432. TEST 022: test sdl
  433. MAIN 20
  434. loc 30
  435. loc 31
  436. sdl -12
  437. lol -12+WS
  438. loc 30
  439. bne *1
  440. lol -12
  441. loc 31
  442. bne *1
  443. OK
  444. TEST 023: test sde
  445. HOL 24
  446. MAIN 0
  447. loc 40
  448. loc 41
  449. sde 16
  450. loe 16
  451. loc 41
  452. bne *1
  453. loe 16+WS
  454. loc 40
  455. bne *1
  456. OK
  457. TEST 024: test sdf
  458. HOL 24
  459. MAIN 0
  460. loc 51
  461. loc 50
  462. lae 6
  463. sdf 10
  464. loe 16
  465. loc 50
  466. bne *1
  467. loc 51
  468. loe 16+WS
  469. bne *1
  470. OK
  471. TEST 025: test sti 1
  472. MAIN 20
  473. loc 4136
  474. lal -11
  475. sti 1
  476. loc 1034
  477. lal -10
  478. sti 1
  479. lal -10
  480. loi 1
  481. loc 10
  482. bne *1
  483. lal -11
  484. loi 1
  485. loc 40
  486. bne *1
  487. OK
  488. TEST 026: test sti 1 and lol
  489. MAIN 20
  490. loc 257
  491. stl -12+WS
  492. loc 514
  493. stl -12-WS
  494. loc 50
  495. lal -12
  496. sti 1
  497. #if WS > 1
  498. loc -50
  499. lal -11
  500. sti 1
  501. #endif
  502. #if WS > 2
  503. loc 49
  504. lal -10
  505. sti 1
  506. loc -49
  507. lal -9
  508. sti 1
  509. #endif
  510. loc 257
  511. lol -12+WS
  512. bne *1
  513. loc 514
  514. lol -12-WS
  515. bne *1
  516. OK
  517. TEST 027: test sti 2
  518. MAIN 20
  519. #if WS == 1
  520. ldc 90
  521. #else
  522. loc 90
  523. #endif
  524. lal -12
  525. sti 2
  526. #if WS != 2
  527. lal -12
  528. loi 2
  529. #else
  530. lol -12
  531. #endif
  532. #if WS == 1
  533. ldc 90
  534. #else
  535. loc 90
  536. #endif
  537. bne *1
  538. OK
  539. TEST 028: test sti 4
  540. MAIN 20
  541. #if WS == 1
  542. loc 100
  543. loc 101
  544. #endif
  545. #if WS <= 2
  546. loc 102
  547. #endif
  548. loc 103
  549. lal -14
  550. sti 4
  551. lol -14
  552. loc 103
  553. bne *1
  554. OK
  555. TEST 029: test sts WS with 1
  556. MAIN 20
  557. loc 57
  558. lal -13
  559. sti 1
  560. loc 123
  561. lal -11
  562. sti 1
  563. loc 20
  564. lal -12
  565. loc 1
  566. sts WS
  567. lal -12
  568. loi 1
  569. loc 20
  570. bne *1
  571. lal -11
  572. loi 1
  573. loc 123
  574. bne *1
  575. lal -13
  576. loi 1
  577. loc 57
  578. bne *1
  579. OK
  580. TEST 030: test sts WS with WS
  581. MAIN 20
  582. loc 210
  583. lal -12
  584. loc WS
  585. sts WS
  586. lol -12
  587. loc 210
  588. bne *1
  589. OK
  590. TEST 031: test sts WS with 4
  591. MAIN 20
  592. #if WS == 1
  593. loc 100
  594. loc 101
  595. #endif
  596. #if WS <= 2
  597. loc 102
  598. #endif
  599. loc 103
  600. lal -14
  601. loc 4
  602. sts WS
  603. lol -14
  604. loc 103
  605. bne *1
  606. OK
  607. TEST 032: test adi WS
  608. MAIN 0
  609. loc 1
  610. loc 1
  611. adi WS
  612. loc 2
  613. bne *1
  614. OK
  615. loc 5
  616. loc -6
  617. adi WS
  618. loc -1
  619. bne *1
  620. OK
  621. #if WS >= 2
  622. loc -1007
  623. loc +999
  624. adi WS
  625. loc -8
  626. bne *1
  627. OK
  628. loc -1300
  629. loc +1405
  630. adi WS
  631. loc 105
  632. bne *1
  633. OK
  634. loc -30000
  635. loc -20
  636. adi WS
  637. loc -30020
  638. bne *1
  639. OK
  640. #endif
  641. #if WS >= 4
  642. loc -100007
  643. loc +99999
  644. adi WS
  645. loc -8
  646. bne *1
  647. OK
  648. loc -1300
  649. loc +140567
  650. adi WS
  651. loc 139267
  652. bne *1
  653. OK
  654. loc -30000000
  655. loc -20
  656. adi WS
  657. loc -30000020
  658. bne *1
  659. OK
  660. #endif
  661. TEST 033: test sbi WS
  662. MAIN 0
  663. loc 1
  664. loc 1
  665. sbi WS
  666. loc 0
  667. bne *1
  668. OK
  669. loc 5
  670. loc -6
  671. sbi WS
  672. loc +11
  673. bne *1
  674. OK
  675. #if WS >= 2
  676. loc -1007
  677. loc +999
  678. sbi WS
  679. loc -2006
  680. bne *1
  681. OK
  682. loc -1300
  683. loc +1405
  684. sbi WS
  685. loc -2705
  686. bne *1
  687. OK
  688. loc -30000
  689. loc -20
  690. sbi WS
  691. loc -29980
  692. bne *1
  693. OK
  694. #endif
  695. #if WS >= 4
  696. loc -100007
  697. loc +99999
  698. sbi WS
  699. loc -200006
  700. bne *1
  701. OK
  702. loc -1300
  703. loc +140567
  704. sbi WS
  705. loc -141867
  706. bne *1
  707. OK
  708. loc -30000000
  709. loc -20
  710. sbi WS
  711. loc -29999980
  712. bne *1
  713. OK
  714. #endif
  715. TEST 034: test mli WS
  716. MAIN 0
  717. loc 5
  718. loc 9
  719. mli WS
  720. loc 45
  721. bne *1
  722. OK
  723. loc 0
  724. loc 10
  725. mli WS
  726. loc 0
  727. bne *1
  728. OK
  729. #if WS > 1
  730. loc -99
  731. loc 7
  732. mli WS
  733. loc -693
  734. bne *1
  735. OK
  736. loc -100
  737. loc -90
  738. mli WS
  739. loc 9000
  740. bne *1
  741. OK
  742. #endif
  743. #if WS > 2
  744. loc 123456
  745. loc 200
  746. mli WS
  747. loc 24691200
  748. bne *1
  749. OK
  750. #endif
  751. TEST 035: test dvi WS
  752. MAIN 0
  753. loc 15
  754. loc 5
  755. dvi WS
  756. loc 3
  757. bne *1
  758. OK
  759. loc 100
  760. loc -7
  761. dvi WS
  762. loc -14
  763. bne *1
  764. OK
  765. loc -100
  766. loc 7
  767. dvi WS
  768. loc -14
  769. bne *1
  770. OK
  771. #if WS >= 2
  772. loc -1000
  773. loc -201
  774. dvi WS
  775. loc 4
  776. bne *1
  777. OK
  778. #endif
  779. #if WS >= 4
  780. loc 1234567
  781. loc -100
  782. dvi WS
  783. loc -12345
  784. bne *1
  785. OK
  786. #endif
  787. TEST 036: test rmi WS
  788. MAIN 0
  789. loc 100
  790. loc 7
  791. rmi WS
  792. loc 2
  793. bne *1
  794. OK
  795. loc -100
  796. loc 7
  797. rmi WS
  798. loc -2
  799. bne *1
  800. OK
  801. loc 100
  802. loc -7
  803. rmi WS
  804. loc 2
  805. bne *1
  806. OK
  807. loc -100
  808. loc -7
  809. rmi WS
  810. loc -2
  811. bne *1
  812. OK
  813. #if WS >= 2
  814. loc -1000
  815. loc -201
  816. rmi WS
  817. loc -196
  818. bne *1
  819. OK
  820. #endif
  821. #if WS >= 4
  822. loc 1234567
  823. loc -100
  824. rmi WS
  825. loc 67
  826. bne *1
  827. OK
  828. #endif
  829. TEST 037: test ngi WS
  830. MAIN 0
  831. loc 100
  832. ngi WS
  833. loc -100
  834. bne *1
  835. OK
  836. loc -100
  837. ngi WS
  838. loc 100
  839. bne *1
  840. OK
  841. TEST 038: test sli,slu WS
  842. MAIN 0
  843. loc 5
  844. loc 3
  845. sli WS
  846. loc 40
  847. bne *1
  848. OK
  849. loc -2
  850. loc 4
  851. sli WS
  852. loc -32
  853. bne *1
  854. OK
  855. loc 5
  856. loc 3
  857. slu WS
  858. loc 40
  859. bne *1
  860. OK
  861. loc -2
  862. loc 4
  863. slu WS
  864. loc -32
  865. bne *1
  866. OK
  867. TEST 039: test sri,sru WS
  868. MAIN 0
  869. loc 64
  870. loc 5
  871. sri WS
  872. loc 2
  873. bne *1
  874. OK
  875. loc -3
  876. loc 2
  877. sri WS
  878. loc -1
  879. bne *1
  880. OK
  881. loc -16
  882. loc 3
  883. sri WS
  884. loc -2
  885. bne *1
  886. OK
  887. loc 64
  888. loc 5
  889. sru WS
  890. loc 2
  891. bne *1
  892. OK
  893. loc -3
  894. loc 2
  895. sru WS
  896. #if WS == 1
  897. loc 63
  898. #endif
  899. #if WS == 2
  900. loc 16383
  901. #endif
  902. #if WS == 4
  903. loc 1073741823
  904. #endif
  905. bne *1
  906. OK
  907. TEST 040: test rol WS
  908. MAIN 0
  909. loc 1
  910. loc 3
  911. rol WS
  912. loc 8
  913. bne *1
  914. OK
  915. #if WS > 1
  916. loc 16384
  917. loc WS * 8 - 1
  918. rol WS
  919. loc 8192
  920. bne *1
  921. OK
  922. loc -2
  923. loc WS * 8 - 1
  924. rol WS
  925. #if WS == 2
  926. loc 32767
  927. #endif
  928. #if WS == 4
  929. loc 2147483647
  930. #endif
  931. bne *1
  932. OK
  933. loc -28671
  934. loc 0
  935. rol WS
  936. loc -28671
  937. bne *1
  938. OK
  939. #endif
  940. TEST 041: test ror WS
  941. MAIN 0
  942. loc 4
  943. loc 5
  944. ror WS
  945. #if WS == 1
  946. loc 32
  947. #endif
  948. #if WS == 2
  949. loc 8192
  950. #endif
  951. #if WS == 4
  952. loc 536870912
  953. #endif
  954. bne *1
  955. OK
  956. #if WS == 2
  957. loc 32767
  958. loc 15
  959. ror WS
  960. loc -2
  961. bne *1
  962. OK
  963. #endif
  964. loc -28
  965. loc 0
  966. ror WS
  967. loc -28
  968. bne *1
  969. OK
  970. TEST 042: test inc
  971. MAIN 0
  972. loc 20
  973. inc
  974. loc 21
  975. bne *1
  976. OK
  977. loc -50
  978. inc
  979. loc -49
  980. bne *1
  981. OK
  982. TEST 043: test dec
  983. MAIN 0
  984. loc 66
  985. dec
  986. loc 65
  987. bne *1
  988. OK
  989. loc -44
  990. dec
  991. loc -45
  992. bne *1
  993. OK
  994. TEST 044: test adp
  995. MAIN 20
  996. lal -10
  997. adp -2
  998. lal -12
  999. cmp
  1000. zne *1
  1001. OK
  1002. loc 519
  1003. lal -11
  1004. sti 1
  1005. lal -12
  1006. adp 1
  1007. loi 1
  1008. loc 7
  1009. bne *1
  1010. OK
  1011. TEST 045: test inn WS
  1012. MAIN 0
  1013. loc 8
  1014. loc 3
  1015. inn WS
  1016. loc 1
  1017. bne *1
  1018. OK
  1019. loc 8
  1020. loc 4
  1021. inn WS
  1022. loc 0
  1023. bne *1
  1024. OK
  1025. loc 2
  1026. loc -5
  1027. inn WS
  1028. loc 0
  1029. bne *1
  1030. OK
  1031. loc -5
  1032. loc 3
  1033. inn WS
  1034. loc 1
  1035. bne *1
  1036. OK
  1037. TEST 046: test inn ?
  1038. MAIN 0
  1039. loc 8
  1040. loc 3
  1041. loc WS
  1042. inn ?
  1043. loc 1
  1044. bne *1
  1045. OK
  1046. loc 8
  1047. loc 4
  1048. loc WS
  1049. inn ?
  1050. loc 0
  1051. bne *1
  1052. OK
  1053. loc 2
  1054. loc -5
  1055. loc WS
  1056. inn ?
  1057. loc 0
  1058. bne *1
  1059. OK
  1060. loc -5
  1061. loc 3
  1062. loc WS
  1063. inn ?
  1064. loc 1
  1065. bne *1
  1066. OK
  1067. TEST 047: test set
  1068. MAIN 0
  1069. loc 3
  1070. set WS
  1071. loc 8
  1072. bne *1
  1073. OK
  1074. loc 6
  1075. set 2*WS
  1076. loc 64
  1077. bne *1
  1078. loc 0
  1079. bne *1
  1080. OK
  1081. loc 0
  1082. set 4*WS
  1083. loc 1
  1084. bne *1
  1085. loc 0
  1086. bne *1
  1087. loc 0
  1088. bne *1
  1089. loc 0
  1090. bne *1
  1091. OK
  1092. TEST 048: test set ?
  1093. MAIN 0
  1094. loc 3
  1095. loc WS
  1096. set ?
  1097. loc 8
  1098. bne *1
  1099. OK
  1100. loc 6
  1101. loc 2*WS
  1102. set ?
  1103. loc 64
  1104. bne *1
  1105. loc 0
  1106. bne *1
  1107. OK
  1108. loc 0
  1109. loc 4*WS
  1110. set ?
  1111. loc 1
  1112. bne *1
  1113. loc 0
  1114. bne *1
  1115. loc 0
  1116. bne *1
  1117. loc 0
  1118. bne *1
  1119. OK
  1120. TEST 049: test aar
  1121. a049
  1122. rom 5,2,4
  1123. b049
  1124. con 5,2,1
  1125. MAIN 20
  1126. lal -12
  1127. loc 5
  1128. lae a049
  1129. aar WS
  1130. lal -12
  1131. cmp
  1132. zne *1
  1133. OK
  1134. lal -11
  1135. loc 7
  1136. lae b049
  1137. aar WS
  1138. lal -9
  1139. cmp
  1140. zne *1
  1141. OK
  1142. TEST 050: test aar ?
  1143. a050
  1144. rom 5,2,4
  1145. b050
  1146. con 5,2,1
  1147. MAIN 20
  1148. lal -12
  1149. loc 5
  1150. lae a050
  1151. loc WS
  1152. aar ?
  1153. lal -12
  1154. cmp
  1155. zne *1
  1156. OK
  1157. lal -11
  1158. loc 7
  1159. lae b050
  1160. loc WS
  1161. aar ?
  1162. lal -9
  1163. cmp
  1164. zne *1
  1165. OK
  1166. TEST 051: test lar
  1167. a051
  1168. rom 5,2,2*WS
  1169. b051
  1170. con 5,2,1
  1171. MAIN 20
  1172. loc 40
  1173. loc 41
  1174. sdl -12+(2*WS)
  1175. lal -12
  1176. loc 6
  1177. lae a051
  1178. lar WS
  1179. loc 41
  1180. bne *1
  1181. loc 40
  1182. bne *1
  1183. OK
  1184. loc 42
  1185. lal -9
  1186. sti 1
  1187. lal -11
  1188. loc 7
  1189. lae b051
  1190. lar WS
  1191. lal -9
  1192. loi 1
  1193. bne *1
  1194. OK
  1195. TEST 052: test lar ?
  1196. a052
  1197. rom 5,2,2*WS
  1198. b052
  1199. con 5,2,1
  1200. MAIN 20
  1201. loc 40
  1202. loc 41
  1203. sdl -12+(2*WS)
  1204. lal -12
  1205. loc 6
  1206. lae a052
  1207. loc WS
  1208. lar ?
  1209. loc 41
  1210. bne *1
  1211. loc 40
  1212. bne *1
  1213. OK
  1214. loc 42
  1215. lal -9
  1216. sti 1
  1217. lal -11
  1218. loc 7
  1219. lae b052
  1220. loc WS
  1221. lar ?
  1222. lal -9
  1223. loi 1
  1224. bne *1
  1225. OK
  1226. TEST 053: test sar
  1227. a053
  1228. rom 5,2,3*WS
  1229. b053
  1230. con 5,2,1
  1231. MAIN 28 : assert WS <= 8
  1232. loc 39
  1233. loc 40
  1234. loc 41
  1235. lal -28
  1236. loc 6
  1237. lae a053
  1238. sar WS
  1239. lal -28+(3*WS)
  1240. loi 3*WS
  1241. loc 41
  1242. bne *1
  1243. loc 40
  1244. bne *1
  1245. loc 39
  1246. bne *1
  1247. OK
  1248. loc -2
  1249. lal -11
  1250. loc 7
  1251. lae b053
  1252. sar WS
  1253. lal -9
  1254. loi 1
  1255. loc 254
  1256. bne *1
  1257. OK
  1258. TEST 054: test sar ?
  1259. a054
  1260. rom 5,2,3*WS
  1261. b054
  1262. con 5,2,1
  1263. MAIN 28
  1264. loc 39
  1265. loc 40
  1266. loc 41
  1267. lal -28
  1268. loc 6
  1269. lae a054
  1270. loc WS
  1271. sar ?
  1272. lal -28+(3*WS)
  1273. loi 3*WS
  1274. loc 41
  1275. bne *1
  1276. loc 40
  1277. bne *1
  1278. loc 39
  1279. bne *1
  1280. OK
  1281. loc -2
  1282. lal -11
  1283. loc 7
  1284. lae b054
  1285. loc WS
  1286. sar ?
  1287. lal -9
  1288. loi 1
  1289. loc 254
  1290. bne *1
  1291. OK
  1292. TEST 055: test tlt
  1293. MAIN 0
  1294. loc 1
  1295. tlt
  1296. loc 0
  1297. bne *1
  1298. OK
  1299. loc 0
  1300. tlt
  1301. loc 0
  1302. bne *1
  1303. OK
  1304. loc -3
  1305. tlt
  1306. loc 1
  1307. bne *1
  1308. OK
  1309. TEST 056: test tle
  1310. MAIN 0
  1311. loc 8
  1312. tle
  1313. loc 0
  1314. bne *1
  1315. OK
  1316. loc 0
  1317. tle
  1318. loc 1
  1319. bne *1
  1320. OK
  1321. loc -19
  1322. tle
  1323. loc 1
  1324. bne *1
  1325. OK
  1326. TEST 057: test teq
  1327. MAIN 0
  1328. loc 17
  1329. teq
  1330. loc 0
  1331. bne *1
  1332. OK
  1333. loc 0
  1334. teq
  1335. loc 1
  1336. bne *1
  1337. OK
  1338. loc -100
  1339. teq
  1340. loc 0
  1341. bne *1
  1342. OK
  1343. TEST 058: test tne
  1344. MAIN 0
  1345. loc 76
  1346. tne
  1347. loc 1
  1348. bne *1
  1349. OK
  1350. loc 0
  1351. tne
  1352. loc 0
  1353. bne *1
  1354. OK
  1355. loc -99
  1356. tne
  1357. loc 1
  1358. bne *1
  1359. OK
  1360. TEST 059: test tge
  1361. MAIN 0
  1362. loc 14
  1363. tge
  1364. loc 1
  1365. bne *1
  1366. OK
  1367. loc 0
  1368. tge
  1369. loc 1
  1370. bne *1
  1371. OK
  1372. loc -76
  1373. tge
  1374. loc 0
  1375. bne *1
  1376. OK
  1377. TEST 060: test tgt
  1378. MAIN 0
  1379. loc 20
  1380. tgt
  1381. loc 1
  1382. bne *1
  1383. OK
  1384. loc 0
  1385. tgt
  1386. loc 0
  1387. bne *1
  1388. OK
  1389. loc -66
  1390. tgt
  1391. loc 0
  1392. bne *1
  1393. OK
  1394. TEST 061: test cmi WS
  1395. MAIN 0
  1396. loc 10
  1397. loc 20
  1398. cmi WS
  1399. tlt
  1400. loc 1
  1401. bne *1
  1402. OK
  1403. loc 20
  1404. loc 10
  1405. cmi WS
  1406. tgt
  1407. loc 1
  1408. bne *1
  1409. OK
  1410. loc 44
  1411. loc 44
  1412. cmi WS
  1413. loc 0
  1414. bne *1
  1415. OK
  1416. TEST 062: test cmp, adp, cmu
  1417. MAIN 20
  1418. lal -5
  1419. lal -2
  1420. cmp
  1421. tlt
  1422. loc 1
  1423. bne *1
  1424. OK
  1425. lal -2
  1426. lal -5
  1427. cmp
  1428. tle
  1429. loc 0
  1430. bne *1
  1431. OK
  1432. lal -2
  1433. lal -2
  1434. cmp
  1435. loc 0
  1436. bne *1
  1437. OK
  1438. lal -5
  1439. adp 3
  1440. lal -2
  1441. cmp
  1442. loc 0
  1443. bne *1
  1444. OK
  1445. lal -5
  1446. adp 4
  1447. lal -2
  1448. cmp
  1449. tge
  1450. loc 1
  1451. bne *1
  1452. OK
  1453. loc 6
  1454. loc 6
  1455. cmu WS
  1456. loc 0
  1457. bne *1
  1458. OK
  1459. loc 17
  1460. loc 27
  1461. cmu WS
  1462. tlt
  1463. loc 1
  1464. bne *1
  1465. OK
  1466. loc 17
  1467. loc 6
  1468. loc 27
  1469. loc 6
  1470. cmu 2*WS
  1471. tlt
  1472. loc 1
  1473. bne *1
  1474. OK
  1475. loc 6
  1476. loc 27
  1477. loc 6
  1478. loc 17
  1479. cmu 2*WS
  1480. tgt
  1481. loc 1
  1482. bne *1
  1483. OK
  1484. TEST 063: test cms
  1485. MAIN 0
  1486. loc 6
  1487. loc -10
  1488. loc -125
  1489. loc 30
  1490. loc 6
  1491. loc -10
  1492. loc -126
  1493. loc 30
  1494. loc 4*WS
  1495. cms
  1496. tne
  1497. loc 1
  1498. bne *1
  1499. OK
  1500. TEST 064: test blt
  1501. MAIN 0
  1502. loc 3
  1503. loc 4
  1504. blt *1064
  1505. bra *1
  1506. 1064
  1507. loc 4
  1508. loc 3
  1509. blt *1
  1510. loc -5
  1511. loc -4
  1512. blt *2064
  1513. bra *1
  1514. 2064
  1515. loc -4
  1516. loc -5
  1517. blt *1
  1518. loc 4
  1519. loc 4
  1520. blt *1
  1521. OK
  1522. TEST 065: test ble
  1523. MAIN 0
  1524. loc 3
  1525. loc 4
  1526. ble *1065
  1527. bra *1
  1528. 1065
  1529. loc 4
  1530. loc 3
  1531. ble *1
  1532. loc -99
  1533. loc -5
  1534. ble *2065
  1535. bra *1
  1536. 2065
  1537. loc -99
  1538. loc -99
  1539. ble *3065
  1540. bra *1
  1541. 3065
  1542. loc 100
  1543. loc -100
  1544. ble *1
  1545. OK
  1546. TEST 066: test beq
  1547. MAIN 0
  1548. loc 3
  1549. loc 3
  1550. beq *1066
  1551. bra *1
  1552. 1066
  1553. loc 3
  1554. loc 4
  1555. beq *1
  1556. loc -18
  1557. loc -17
  1558. beq *1
  1559. loc 0
  1560. loc 0
  1561. beq *2066
  1562. bra *1
  1563. 2066
  1564. OK
  1565. TEST 067: test bne
  1566. MAIN 0
  1567. loc 50
  1568. loc 50
  1569. bne *1
  1570. loc 50
  1571. loc 51
  1572. bne *1067
  1573. bra *1
  1574. 1067
  1575. loc 0
  1576. loc 0
  1577. bne *1
  1578. OK
  1579. TEST 068: test bge
  1580. MAIN 0
  1581. loc 100
  1582. loc 101
  1583. bge *1
  1584. loc 101
  1585. loc 100
  1586. bge *1068
  1587. bra *1
  1588. 1068
  1589. loc -100
  1590. loc -99
  1591. bge *1
  1592. loc -100
  1593. loc 100
  1594. bge *1
  1595. loc 0
  1596. loc 0
  1597. bge *2068
  1598. bra *1
  1599. 2068
  1600. loc 50
  1601. loc 50
  1602. bge *3068
  1603. bra *1
  1604. 3068
  1605. OK
  1606. TEST 069: test bgt
  1607. MAIN 0
  1608. loc 3
  1609. loc 10
  1610. bgt *1
  1611. loc 10
  1612. loc 3
  1613. bgt *1069
  1614. bra *1
  1615. 1069
  1616. loc -100
  1617. loc -50
  1618. bgt *1
  1619. loc -100
  1620. loc 50
  1621. bgt *1
  1622. loc 5
  1623. loc 5
  1624. bgt *1
  1625. OK
  1626. TEST 070: test zlt
  1627. MAIN 0
  1628. loc 4
  1629. zlt *1
  1630. loc -4
  1631. zlt *1070
  1632. bra *1
  1633. 1070
  1634. loc 0
  1635. zlt *1
  1636. OK
  1637. TEST 071: test zle
  1638. MAIN 0
  1639. loc 4
  1640. zle *1
  1641. loc -4
  1642. zlt *1071
  1643. bra *1
  1644. 1071
  1645. loc 0
  1646. zle *2071
  1647. bra *1
  1648. 2071
  1649. OK
  1650. TEST 072: test zeq
  1651. MAIN 0
  1652. loc 4
  1653. zeq *1
  1654. loc -4
  1655. zeq *1
  1656. loc 0
  1657. zeq *1072
  1658. bra *1
  1659. 1072
  1660. OK
  1661. TEST 073: test zne
  1662. MAIN 0
  1663. loc 4
  1664. zne *1073
  1665. bra *1
  1666. 1073
  1667. loc -4
  1668. zne *2073
  1669. bra *1
  1670. 2073
  1671. loc 0
  1672. zne *1
  1673. OK
  1674. TEST 074: test zge
  1675. MAIN 0
  1676. loc 4
  1677. zge *1074
  1678. bra *1
  1679. 1074
  1680. loc -4
  1681. zge *1
  1682. loc 0
  1683. zge *2074
  1684. bra *1
  1685. 2074
  1686. OK
  1687. TEST 075: test zgt
  1688. MAIN 0
  1689. loc 4
  1690. zgt *1075
  1691. bra *1
  1692. 1075
  1693. loc -4
  1694. zgt *1
  1695. loc 0
  1696. zgt *1
  1697. OK
  1698. TEST 076: test asp
  1699. MAIN 12
  1700. loc 104
  1701. loc 4
  1702. loc 5
  1703. loc 6
  1704. asp 2*WS
  1705. stl -4
  1706. loc 104
  1707. bne *1
  1708. OK
  1709. TEST 077: test cal
  1710. HOL 8
  1711. MAIN 0
  1712. cal $p077
  1713. loe 4
  1714. loc 34
  1715. bne *1
  1716. OK
  1717. PROC
  1718. pro $p077,0
  1719. loc 34
  1720. ste 4
  1721. ret 0
  1722. end
  1723. TEST 078: test cai
  1724. HOL 8
  1725. MAIN 0
  1726. lpi $p078
  1727. cai
  1728. loe 4
  1729. loc 34
  1730. bne *1
  1731. OK
  1732. PROC
  1733. pro $p078,0
  1734. loc 34
  1735. ste 4
  1736. ret 0
  1737. end
  1738. TEST 079: test ads WS
  1739. MAIN 20
  1740. lal -6
  1741. loc -2
  1742. ads WS
  1743. lal -8
  1744. cmp
  1745. zne *1
  1746. OK
  1747. lal -6
  1748. loc 2
  1749. ads WS
  1750. lal -4
  1751. cmp
  1752. zne *1
  1753. OK
  1754. ; test adp
  1755. lal -5
  1756. adp 1
  1757. lal -4
  1758. cmp
  1759. zne *1
  1760. OK
  1761. TEST 080: test sbs
  1762. HOL 12
  1763. MAIN 20
  1764. lal -4
  1765. lal -6
  1766. sbs WS
  1767. loc 2
  1768. bne *1
  1769. OK
  1770. lae 7
  1771. lae 10
  1772. sbs WS
  1773. loc -3
  1774. bne *1
  1775. OK
  1776. TEST 081: test lor
  1777. #define LB 0
  1778. #define SP 1
  1779. MAIN 20
  1780. lor LB
  1781. lxl 0
  1782. cmp
  1783. zne *1
  1784. OK
  1785. loc 31
  1786. lor SP
  1787. loi WS
  1788. bne *1
  1789. OK
  1790. lor SP
  1791. lal -12
  1792. sti PS
  1793. asp -4
  1794. lor SP
  1795. lal -8
  1796. sti PS
  1797. asp 4
  1798. lal -12
  1799. loi PS
  1800. lal -8
  1801. loi PS
  1802. sbs WS
  1803. loc 4
  1804. bne *1
  1805. OK
  1806. TEST 082: test ass WS
  1807. #define SP 1
  1808. MAIN 20
  1809. loc 104
  1810. loc 50
  1811. loc 60
  1812. loc 2*WS
  1813. ass WS
  1814. loc 104
  1815. bne *1
  1816. OK
  1817. lor SP
  1818. lal -8
  1819. sti PS
  1820. loc -18
  1821. ass WS
  1822. lor SP
  1823. lal -4
  1824. sti PS
  1825. loc 18
  1826. ass WS
  1827. lal -8
  1828. loi PS
  1829. lal -4
  1830. loi PS
  1831. sbs WS
  1832. loc 18
  1833. bne *1
  1834. OK
  1835. TEST 083: test blm
  1836. HOL 28
  1837. MAIN 32
  1838. loc 61
  1839. ste 12
  1840. loc 0
  1841. stl -4
  1842. lae 12
  1843. lal -4
  1844. blm WS
  1845. lol -4
  1846. loc 61
  1847. bne *1
  1848. OK
  1849. loc 44
  1850. loc 43
  1851. loc 42
  1852. loc 41
  1853. lal -20
  1854. sti 4*WS
  1855. lal -20
  1856. lae 8
  1857. blm 4*WS
  1858. loe 8
  1859. loc 41
  1860. bne *1
  1861. loe 8+WS
  1862. loc 42
  1863. bne *1
  1864. loe 8+(2*WS)
  1865. loc 43
  1866. bne *1
  1867. loe 8+(3*WS)
  1868. loc 44
  1869. bne *1
  1870. OK
  1871. TEST 084: test bls WS
  1872. HOL 28
  1873. MAIN 32
  1874. loc 20
  1875. stl -8
  1876. lal -8
  1877. lae 20
  1878. loc WS
  1879. bls WS
  1880. loe 20
  1881. loc 20
  1882. bne *1
  1883. OK
  1884. loc 55
  1885. stl -8+WS
  1886. loc 56
  1887. stl -8
  1888. lal -8
  1889. lae 20
  1890. loc 2*WS
  1891. bls WS
  1892. loe 20
  1893. loc 56
  1894. bne *1
  1895. loe 20+WS
  1896. loc 55
  1897. bne *1
  1898. OK
  1899. TEST 085: test dup
  1900. MAIN 0
  1901. loc 199
  1902. dup WS
  1903. bne *1
  1904. OK
  1905. loc 130
  1906. loc 150
  1907. dup 2*WS
  1908. loc 150
  1909. bne *1
  1910. loc 130
  1911. bne *1
  1912. loc 150
  1913. bne *1
  1914. loc 130
  1915. bne *1
  1916. OK
  1917. ; test dus WS
  1918. loc 400
  1919. loc 399
  1920. loc 2*WS
  1921. dus WS
  1922. loc 399
  1923. bne *1
  1924. loc 400
  1925. bne *1
  1926. loc 399
  1927. bne *1
  1928. loc 400
  1929. bne *1
  1930. OK
  1931. TEST 087: test rck
  1932. a087
  1933. con 10,14
  1934. MAIN 12
  1935. loc 10
  1936. lae a087
  1937. rck WS
  1938. inc
  1939. lae a087
  1940. rck WS
  1941. inc
  1942. lae a087
  1943. rck WS
  1944. inc
  1945. lae a087
  1946. rck WS
  1947. inc
  1948. lae a087
  1949. rck WS
  1950. stl -4
  1951. OK
  1952. TEST 088: test csa
  1953. MAIN 20
  1954. a088
  1955. con *1088,4,2,*3088,*2088,*4088
  1956. zrl -8
  1957. loc 4
  1958. 5088
  1959. inc
  1960. dup WS
  1961. lae a088
  1962. csa WS
  1963. bra *1
  1964. 3088
  1965. bra *1
  1966. 2088
  1967. lol -8
  1968. loc 3
  1969. adi WS
  1970. stl -8
  1971. bra *5088
  1972. 1088
  1973. inl -8
  1974. bra *6088
  1975. 4088
  1976. lol -8
  1977. loc 2
  1978. adi WS
  1979. stl -8
  1980. bra *5088
  1981. 6088
  1982. loc 7
  1983. bne *1
  1984. OK
  1985. lol -8
  1986. loc 6
  1987. bne *1
  1988. OK
  1989. TEST 089: test csb
  1990. MAIN 20
  1991. b089
  1992. rom *1089,3,-1,*3089,0,*2089,1,*4089
  1993. loc -1
  1994. zrl -12
  1995. 5089
  1996. inc
  1997. dup WS
  1998. lae b089
  1999. csb WS
  2000. bra *1
  2001. 3089
  2002. bra *1
  2003. 2089
  2004. lol -12
  2005. loc 3
  2006. adi WS
  2007. stl -12
  2008. bra *5089
  2009. 1089
  2010. inl -12
  2011. bra *6089
  2012. 4089
  2013. lol -12
  2014. loc 2
  2015. adi WS
  2016. stl -12
  2017. bra *5089
  2018. 6089
  2019. loc 2
  2020. bne *1
  2021. OK
  2022. lol -12
  2023. loc 6
  2024. bne *1
  2025. OK
  2026. TEST 090: now test loi again, because it is so tricky
  2027. MAIN 20
  2028. loc 256
  2029. lal -3
  2030. sti 1
  2031. loc 1
  2032. lal -4
  2033. sti 1
  2034. loc 517
  2035. lal -5
  2036. sti 1
  2037. loc 2
  2038. lal -6
  2039. sti 1
  2040. loc 1030
  2041. lal -8
  2042. sti 2
  2043. loc 4
  2044. lal -9
  2045. sti 1
  2046. lal -3
  2047. loi 1
  2048. loc 0
  2049. bne *1
  2050. OK
  2051. lal -3
  2052. adp -1
  2053. loi 1
  2054. loc 1
  2055. bne *1
  2056. OK
  2057. lal -3
  2058. adp -2
  2059. loi 1
  2060. loc 5
  2061. bne *1
  2062. OK
  2063. lal -3
  2064. adp -3
  2065. loi 1
  2066. loc 2
  2067. bne *1
  2068. OK
  2069. lal -4
  2070. adp -4
  2071. loi 2
  2072. loc 1030
  2073. bne *1
  2074. OK
  2075. lal -6
  2076. adp -3
  2077. loi 1
  2078. loc 4
  2079. bne *1
  2080. OK
  2081. TEST 091: now test sti 1 again
  2082. MAIN 12
  2083. loc 3
  2084. loc 2
  2085. loc 1
  2086. loc 7
  2087. loc 8
  2088. loc 10
  2089. lal -4
  2090. sti 1
  2091. lal -4
  2092. adp -1
  2093. sti 1
  2094. lal -4
  2095. adp -2
  2096. sti 1
  2097. lal -4
  2098. adp -3
  2099. sti 1
  2100. lal -4
  2101. adp -4
  2102. sti 1
  2103. lal -4
  2104. adp -5
  2105. sti 1
  2106. lal -4
  2107. loi 1
  2108. loc 10
  2109. bne *1
  2110. OK
  2111. lal -6
  2112. loi 1
  2113. loc 7
  2114. bne *1
  2115. OK
  2116. lal -8
  2117. loi 1
  2118. loc 2
  2119. bne *1
  2120. OK
  2121. TEST 092: test ldc and cii
  2122. MAIN 0
  2123. #ifdef W2S
  2124. ldc 0
  2125. bne *1
  2126. OK
  2127. ldc 1
  2128. loc 1
  2129. loc WS
  2130. loc W2S
  2131. cii
  2132. cmi W2S
  2133. zne *1
  2134. OK
  2135. ldc -1
  2136. loc -1
  2137. loc WS
  2138. loc W2S
  2139. cii
  2140. cmi W2S
  2141. zne *1
  2142. OK
  2143. loc -1
  2144. ldc -1
  2145. loc W2S
  2146. loc WS
  2147. cii
  2148. cmi WS
  2149. zne *1
  2150. OK
  2151. #if WS == 1
  2152. ldc -128
  2153. loc -128
  2154. #endif
  2155. #if WS == 2
  2156. ldc -32768
  2157. loc -32768
  2158. #endif
  2159. #if WS == 4
  2160. ldc -2147483648
  2161. loc -2147483648
  2162. #endif
  2163. loc WS
  2164. loc W2S
  2165. cii
  2166. cmi W2S
  2167. zne *1
  2168. OK
  2169. ldc -1
  2170. loc -1
  2171. bne *1
  2172. OK
  2173. loc -1
  2174. bne *1
  2175. OK
  2176. ldc 1
  2177. zeq *1092
  2178. ; low order part on top of stack
  2179. loc 0
  2180. bne *1
  2181. OK
  2182. bra *2092
  2183. ; high order part on top of stack
  2184. 1092
  2185. loc 1
  2186. bne *1
  2187. OK
  2188. 2092
  2189. #endif
  2190. TEST 093: test cii
  2191. MAIN 0
  2192. loc 123
  2193. dup WS
  2194. loc WS
  2195. dup WS
  2196. cii
  2197. bne *1
  2198. OK
  2199. #ifdef W2S
  2200. loc 0
  2201. loc WS
  2202. loc W2S
  2203. cii
  2204. loc 0
  2205. bne *1
  2206. loc 0
  2207. bne *1
  2208. OK
  2209. ; dynamically determine format of doubles
  2210. loc 1
  2211. loc WS
  2212. loc W2S
  2213. cii
  2214. zeq *1093
  2215. ; low order part on top of stack
  2216. loc 0
  2217. bne *1
  2218. OK
  2219. loc -3
  2220. loc WS
  2221. loc W2S
  2222. cii
  2223. loc -3
  2224. bne *1
  2225. loc -1
  2226. bne *1
  2227. OK
  2228. bra *2093
  2229. ; high order part on top of stack
  2230. 1093
  2231. loc 1
  2232. bne *1
  2233. OK
  2234. loc -3
  2235. loc WS
  2236. loc W2S
  2237. cii
  2238. loc -1
  2239. bne *1
  2240. loc -3
  2241. bne *1
  2242. OK
  2243. 2093
  2244. #endif
  2245. TEST 094: test adi W2S
  2246. MAIN 0
  2247. #ifdef W2S
  2248. ldc 1
  2249. ldc 1
  2250. adi W2S
  2251. ldc 2
  2252. cmi W2S
  2253. zne *1
  2254. OK
  2255. ldc 5
  2256. ldc -6
  2257. adi W2S
  2258. ldc -1
  2259. cmi W2S
  2260. zne *1
  2261. OK
  2262. ldc -1007
  2263. ldc +999
  2264. adi W2S
  2265. ldc -8
  2266. cmi W2S
  2267. zne *1
  2268. OK
  2269. ldc -1300
  2270. ldc +1405
  2271. adi W2S
  2272. ldc 105
  2273. cmi W2S
  2274. zne *1
  2275. OK
  2276. ldc -30000
  2277. ldc -20
  2278. adi W2S
  2279. ldc -30020
  2280. cmi W2S
  2281. zne *1
  2282. OK
  2283. #if WS >= 2
  2284. ldc -100007
  2285. ldc +99999
  2286. adi W2S
  2287. ldc -8
  2288. cmi W2S
  2289. zne *1
  2290. OK
  2291. ldc -1300
  2292. ldc +140567
  2293. adi W2S
  2294. ldc 139267
  2295. cmi W2S
  2296. zne *1
  2297. OK
  2298. ldc -30000000
  2299. ldc -20
  2300. adi W2S
  2301. ldc -30000020
  2302. cmi W2S
  2303. zne *1
  2304. OK
  2305. #endif
  2306. #endif
  2307. TEST 095: test sbi W2S
  2308. MAIN 0
  2309. #ifdef W2S
  2310. ldc 1
  2311. ldc 1
  2312. sbi W2S
  2313. ldc 0
  2314. cmi W2S
  2315. zne *1
  2316. OK
  2317. ldc 5
  2318. ldc -6
  2319. sbi W2S
  2320. ldc +11
  2321. cmi W2S
  2322. zne *1
  2323. OK
  2324. ldc -1007
  2325. ldc +999
  2326. sbi W2S
  2327. ldc -2006
  2328. cmi W2S
  2329. zne *1
  2330. OK
  2331. ldc -1300
  2332. ldc +1405
  2333. sbi W2S
  2334. ldc -2705
  2335. cmi W2S
  2336. zne *1
  2337. OK
  2338. ldc -30000
  2339. ldc -20
  2340. sbi W2S
  2341. ldc -29980
  2342. cmi W2S
  2343. zne *1
  2344. OK
  2345. #if WS >= 2
  2346. ldc -100007
  2347. ldc +99999
  2348. sbi W2S
  2349. ldc -200006
  2350. cmi W2S
  2351. zne *1
  2352. OK
  2353. ldc -1300
  2354. ldc +140567
  2355. sbi W2S
  2356. ldc -141867
  2357. cmi W2S
  2358. zne *1
  2359. OK
  2360. ldc -30000000
  2361. ldc -20
  2362. sbi W2S
  2363. ldc -29999980
  2364. cmi W2S
  2365. zne *1
  2366. OK
  2367. #endif
  2368. #endif
  2369. TEST 096: test mli W2S
  2370. MAIN 0
  2371. #ifdef W2S
  2372. ldc 5
  2373. ldc 9
  2374. mli W2S
  2375. ldc 45
  2376. cmi W2S
  2377. zne *1
  2378. OK
  2379. ldc 0
  2380. ldc 10
  2381. mli W2S
  2382. ldc 0
  2383. cmi W2S
  2384. zne *1
  2385. OK
  2386. ldc -99
  2387. ldc 7
  2388. mli W2S
  2389. ldc -693
  2390. cmi W2S
  2391. zne *1
  2392. OK
  2393. ldc -100
  2394. ldc -90
  2395. mli W2S
  2396. ldc 9000
  2397. cmi W2S
  2398. zne *1
  2399. OK
  2400. #if WS >= 2
  2401. ldc 123456
  2402. ldc 200
  2403. mli W2S
  2404. ldc 24691200
  2405. cmi W2S
  2406. zne *1
  2407. OK
  2408. #endif
  2409. #endif
  2410. TEST 097: test dvi W2S
  2411. MAIN 0
  2412. #ifdef W2S
  2413. ldc 15
  2414. ldc 5
  2415. dvi W2S
  2416. ldc 3
  2417. cmi W2S
  2418. zne *1
  2419. OK
  2420. ldc 100
  2421. ldc -7
  2422. dvi W2S
  2423. ldc -14
  2424. cmi W2S
  2425. zne *1
  2426. OK
  2427. ldc -100
  2428. ldc 7
  2429. dvi W2S
  2430. ldc -14
  2431. cmi W2S
  2432. zne *1
  2433. OK
  2434. ldc -1000
  2435. ldc -201
  2436. dvi W2S
  2437. ldc 4
  2438. cmi W2S
  2439. zne *1
  2440. OK
  2441. #if WS >= 2
  2442. ldc 1234567
  2443. ldc -100
  2444. dvi W2S
  2445. ldc -12345
  2446. cmi W2S
  2447. zne *1
  2448. OK
  2449. #endif
  2450. #endif
  2451. TEST 098: test rmi W2S
  2452. MAIN 0
  2453. #ifdef W2S
  2454. ldc 100
  2455. ldc 7
  2456. rmi W2S
  2457. ldc 2
  2458. cmi W2S
  2459. zne *1
  2460. OK
  2461. ldc -100
  2462. ldc 7
  2463. rmi W2S
  2464. ldc -2
  2465. cmi W2S
  2466. zne *1
  2467. OK
  2468. ldc 100
  2469. ldc -7
  2470. rmi W2S
  2471. ldc 2
  2472. cmi W2S
  2473. zne *1
  2474. OK
  2475. ldc -100
  2476. ldc -7
  2477. rmi W2S
  2478. ldc -2
  2479. cmi W2S
  2480. zne *1
  2481. OK
  2482. ldc -1000
  2483. ldc -201
  2484. rmi W2S
  2485. ldc -196
  2486. cmi W2S
  2487. zne *1
  2488. OK
  2489. #if WS >= 4
  2490. ldc 1234567
  2491. ldc -100
  2492. rmi W2S
  2493. ldc 67
  2494. cmi W2S
  2495. zne *1
  2496. OK
  2497. #endif
  2498. #endif
  2499. TEST 099: test and
  2500. MAIN 0
  2501. loc 68
  2502. loc 65
  2503. and WS
  2504. loc 64
  2505. bne *1
  2506. OK
  2507. loc 17
  2508. loc 34
  2509. loc 3
  2510. loc 36
  2511. and 2*WS
  2512. loc 32
  2513. bne *1
  2514. loc 1
  2515. bne *1
  2516. OK
  2517. loc 17
  2518. loc 34
  2519. loc 68
  2520. loc -120
  2521. loc 1
  2522. loc 37
  2523. loc 12
  2524. loc -127
  2525. and 4*WS
  2526. loc -128
  2527. bne *1
  2528. loc 4
  2529. bne *1
  2530. loc 32
  2531. bne *1
  2532. loc 1
  2533. bne *1
  2534. OK
  2535. TEST 100: test ior
  2536. MAIN 0
  2537. loc 68
  2538. loc 65
  2539. ior WS
  2540. loc 69
  2541. bne *1
  2542. OK
  2543. loc 17
  2544. loc 34
  2545. loc 3
  2546. loc 36
  2547. ior 2*WS
  2548. loc 38
  2549. bne *1
  2550. loc 19
  2551. bne *1
  2552. OK
  2553. loc 17
  2554. loc 34
  2555. loc 68
  2556. loc -120
  2557. loc 1
  2558. loc 37
  2559. loc 12
  2560. loc -127
  2561. ior 4*WS
  2562. loc -119
  2563. bne *1
  2564. loc 76
  2565. bne *1
  2566. loc 39
  2567. bne *1
  2568. loc 17
  2569. bne *1
  2570. OK
  2571. TEST 101: test xor
  2572. MAIN 0
  2573. loc 68
  2574. loc 65
  2575. xor WS
  2576. loc 5
  2577. bne *1
  2578. OK
  2579. loc 17
  2580. loc 34
  2581. loc 3
  2582. loc 36
  2583. xor 2*WS
  2584. loc 6
  2585. bne *1
  2586. loc 18
  2587. bne *1
  2588. OK
  2589. loc 17
  2590. loc 34
  2591. loc 68
  2592. loc -120
  2593. loc 1
  2594. loc 37
  2595. loc 12
  2596. loc -127
  2597. xor 4*WS
  2598. loc 9
  2599. bne *1
  2600. loc 72
  2601. bne *1
  2602. loc 7
  2603. bne *1
  2604. loc 16
  2605. bne *1
  2606. OK
  2607. TEST 102: test com
  2608. MAIN 0
  2609. loc 68
  2610. com WS
  2611. loc -69
  2612. bne *1
  2613. OK
  2614. loc 17
  2615. loc 34
  2616. com 2*WS
  2617. loc -35
  2618. bne *1
  2619. loc -18
  2620. bne *1
  2621. OK
  2622. loc 17
  2623. loc 34
  2624. loc 68
  2625. loc -120
  2626. com 4*WS
  2627. loc 119
  2628. bne *1
  2629. loc -69
  2630. bne *1
  2631. loc -35
  2632. bne *1
  2633. loc -18
  2634. bne *1
  2635. OK
  2636. TEST 103: test sli,slu W2S
  2637. MAIN 0
  2638. #ifdef W2S
  2639. ldc 5
  2640. loc 3
  2641. sli W2S
  2642. ldc 40
  2643. cmi W2S
  2644. zne *1
  2645. OK
  2646. ldc -2
  2647. loc 4
  2648. sli W2S
  2649. ldc -32
  2650. cmi W2S
  2651. zne *1
  2652. OK
  2653. ldc 5
  2654. loc 3
  2655. slu W2S
  2656. ldc 40
  2657. cmi W2S
  2658. zne *1
  2659. OK
  2660. ldc -2
  2661. loc 4
  2662. slu W2S
  2663. ldc -32
  2664. cmi W2S
  2665. zne *1
  2666. OK
  2667. #endif
  2668. TEST 104: test sri,sru W2S
  2669. MAIN 0
  2670. #ifdef W2S
  2671. ldc 64
  2672. loc 5
  2673. sri W2S
  2674. ldc 2
  2675. cmi W2S
  2676. zne *1
  2677. OK
  2678. ldc -3
  2679. loc 2
  2680. sri W2S
  2681. ldc -1
  2682. cmi W2S
  2683. zne *1
  2684. OK
  2685. ldc -16
  2686. loc 3
  2687. sri W2S
  2688. ldc -2
  2689. cmi W2S
  2690. zne *1
  2691. OK
  2692. ldc 64
  2693. loc 5
  2694. sru W2S
  2695. ldc 2
  2696. cmi W2S
  2697. zne *1
  2698. OK
  2699. ldc -3
  2700. loc 2
  2701. sru W2S
  2702. #if W2S == 2
  2703. ldc 16383
  2704. #endif
  2705. #if W2S == 4
  2706. ldc 1073741823
  2707. #endif
  2708. cmi W2S
  2709. zne *1
  2710. OK
  2711. #endif
  2712. TEST 105: common test of double arithmetic
  2713. MAIN 0
  2714. #ifdef W2S
  2715. ldc 1000
  2716. ldc 10
  2717. mli W2S
  2718. ldc 4
  2719. dvi W2S
  2720. ldc 1500
  2721. adi W2S
  2722. ldc 2856
  2723. sbi W2S
  2724. ldc 100
  2725. rmi W2S
  2726. ldc 44
  2727. cmi W2S
  2728. zne *1
  2729. OK
  2730. #endif
  2731. TEST 106: test cmi W2S
  2732. MAIN 0
  2733. #if W2S==2
  2734. ldc 64
  2735. ldc 4
  2736. mli W2S
  2737. ldc 63
  2738. ldc 4
  2739. mli W2S
  2740. cmi W2S
  2741. tge
  2742. loc 1
  2743. bne *1
  2744. OK
  2745. #endif
  2746. #if W2S==4
  2747. ldc 16384
  2748. ldc 4
  2749. mli W2S
  2750. ldc 16383
  2751. ldc 4
  2752. mli W2S
  2753. cmi W2S
  2754. tge
  2755. loc 1
  2756. bne *1
  2757. OK
  2758. #endif
  2759. TEST 107: test cii W2S -> WS
  2760. MAIN 0
  2761. #ifdef W2S
  2762. ldc 100
  2763. loc W2S
  2764. loc WS
  2765. cii
  2766. loc 100
  2767. bne *1
  2768. OK
  2769. ldc 5000
  2770. ldc -6
  2771. mli W2S
  2772. ldc 1000
  2773. dvi W2S
  2774. loc W2S
  2775. loc WS
  2776. cii
  2777. loc -30
  2778. bne *1
  2779. OK
  2780. #endif
  2781. TEST 108: test cif, cfi, adf FS
  2782. MAIN 0
  2783. #ifdef FS
  2784. loc 100
  2785. loc WS
  2786. loc FS
  2787. cif
  2788. loc 44
  2789. loc WS
  2790. loc FS
  2791. cif
  2792. adf FS
  2793. loc FS
  2794. loc WS
  2795. cfi
  2796. loc 144
  2797. bne *1
  2798. OK
  2799. loc 65
  2800. loc WS
  2801. loc FS
  2802. cif
  2803. loc -65
  2804. loc WS
  2805. loc FS
  2806. cif
  2807. adf FS
  2808. loc FS
  2809. loc WS
  2810. cfi
  2811. loc 0
  2812. bne *1
  2813. OK
  2814. #endif
  2815. TEST 109: test cdf, cfd
  2816. MAIN 0
  2817. #ifdef FS
  2818. #ifdef W2S
  2819. loc 55
  2820. loc WS
  2821. loc W2S
  2822. cii
  2823. loc W2S
  2824. loc FS
  2825. cif
  2826. loc 55
  2827. loc WS
  2828. loc FS
  2829. cif
  2830. cmf FS
  2831. zne *1
  2832. OK
  2833. loc 24
  2834. loc WS
  2835. loc FS
  2836. cif
  2837. loc FS
  2838. loc W2S
  2839. cfi
  2840. loc W2S
  2841. loc WS
  2842. cii
  2843. loc 24
  2844. bne *1
  2845. OK
  2846. loc 57
  2847. loc WS
  2848. loc FS
  2849. cif
  2850. loc FS
  2851. loc W2S
  2852. cfi
  2853. loc W2S
  2854. loc WS
  2855. cii
  2856. loc 57
  2857. bne *1
  2858. OK
  2859. loc 40
  2860. loc WS
  2861. loc W2S
  2862. cii
  2863. loc W2S
  2864. loc FS
  2865. cif
  2866. loc FS
  2867. loc WS
  2868. cfi
  2869. loc 40
  2870. bne *1
  2871. OK
  2872. #endif
  2873. #endif
  2874. TEST 110: test sbf FS
  2875. MAIN 0
  2876. #ifdef FS
  2877. loc 100
  2878. loc WS
  2879. loc FS
  2880. cif
  2881. loc 50
  2882. loc WS
  2883. loc FS
  2884. cif
  2885. sbf FS
  2886. loc FS
  2887. loc WS
  2888. cfi
  2889. loc 50
  2890. bne *1
  2891. OK
  2892. loc 32
  2893. loc WS
  2894. loc FS
  2895. cif
  2896. loc 101
  2897. loc WS
  2898. loc FS
  2899. cif
  2900. sbf FS
  2901. loc -69
  2902. loc WS
  2903. loc FS
  2904. cif
  2905. cmf FS
  2906. zne *1
  2907. OK
  2908. #endif
  2909. TEST 111: test mlf FS
  2910. MAIN 0
  2911. #ifdef FS
  2912. loc 4
  2913. loc WS
  2914. loc FS
  2915. cif
  2916. loc 20
  2917. loc WS
  2918. loc FS
  2919. cif
  2920. mlf FS
  2921. loc FS
  2922. loc WS
  2923. cfi
  2924. loc 80
  2925. bne *1
  2926. OK
  2927. loc -12
  2928. loc WS
  2929. loc FS
  2930. cif
  2931. loc -9
  2932. loc WS
  2933. loc FS
  2934. cif
  2935. mlf FS
  2936. loc FS
  2937. loc WS
  2938. cfi
  2939. loc 108
  2940. bne *1
  2941. OK
  2942. #endif
  2943. TEST 112: test dvf FS
  2944. MAIN 0
  2945. #ifdef FS
  2946. loc 45
  2947. loc WS
  2948. loc FS
  2949. cif
  2950. loc 9
  2951. loc WS
  2952. loc FS
  2953. cif
  2954. dvf FS
  2955. loc 5
  2956. loc WS
  2957. loc FS
  2958. cif
  2959. cmf FS
  2960. zne *1
  2961. OK
  2962. loc -60
  2963. loc WS
  2964. loc FS
  2965. cif
  2966. loc 7
  2967. loc WS
  2968. loc FS
  2969. cif
  2970. dvf FS
  2971. loc FS
  2972. loc WS
  2973. cfi
  2974. loc -8
  2975. bne *1
  2976. OK
  2977. #endif
  2978. TEST 113: test fractions using FS floating arithmetic
  2979. MAIN 0
  2980. #ifdef FS
  2981. loc 7
  2982. loc WS
  2983. loc FS
  2984. cif
  2985. loc 2
  2986. loc WS
  2987. loc FS
  2988. cif
  2989. dvf FS
  2990. loc FS
  2991. loc WS
  2992. cfi
  2993. loc 3
  2994. bne *1
  2995. OK
  2996. loc -7
  2997. loc WS
  2998. loc FS
  2999. cif
  3000. loc 2
  3001. loc WS
  3002. loc FS
  3003. cif
  3004. dvf FS
  3005. loc FS
  3006. loc WS
  3007. cfi
  3008. loc -3
  3009. bne *1
  3010. OK
  3011. loc 11
  3012. loc WS
  3013. loc FS
  3014. cif
  3015. loc 2
  3016. loc WS
  3017. loc FS
  3018. cif
  3019. dvf FS
  3020. loc 5
  3021. loc WS
  3022. loc FS
  3023. cif
  3024. mlf FS
  3025. loc 4
  3026. loc WS
  3027. loc FS
  3028. cif
  3029. mlf FS
  3030. loc 110
  3031. loc WS
  3032. loc FS
  3033. cif
  3034. cmf FS
  3035. zne *1
  3036. OK
  3037. #endif
  3038. TEST 114: test cif, cfi, adf F2S
  3039. MAIN 0
  3040. #ifdef F2S
  3041. loc 10
  3042. loc WS
  3043. loc F2S
  3044. cif
  3045. loc 44
  3046. loc WS
  3047. loc F2S
  3048. cif
  3049. adf F2S
  3050. loc F2S
  3051. loc WS
  3052. cfi
  3053. loc 54
  3054. bne *1
  3055. OK
  3056. loc 65
  3057. loc WS
  3058. loc F2S
  3059. cif
  3060. loc -65
  3061. loc WS
  3062. loc F2S
  3063. cif
  3064. adf F2S
  3065. loc F2S
  3066. loc WS
  3067. cfi
  3068. loc 0
  3069. bne *1
  3070. OK
  3071. #endif
  3072. TEST 115: test cif, cfi W2S F2S
  3073. MAIN 0
  3074. #ifdef F2S
  3075. #ifdef W2S
  3076. loc 55
  3077. loc WS
  3078. loc W2S
  3079. cii
  3080. loc W2S
  3081. loc F2S
  3082. cif
  3083. loc 55
  3084. loc WS
  3085. loc F2S
  3086. cif
  3087. cmf F2S
  3088. zne *1
  3089. OK
  3090. loc 24
  3091. loc WS
  3092. loc F2S
  3093. cif
  3094. loc F2S
  3095. loc W2S
  3096. cfi
  3097. loc W2S
  3098. loc WS
  3099. cii
  3100. loc 24
  3101. bne *1
  3102. OK
  3103. loc 57
  3104. loc WS
  3105. loc F2S
  3106. cif
  3107. loc F2S
  3108. loc W2S
  3109. cfi
  3110. loc W2S
  3111. loc WS
  3112. cii
  3113. loc 57
  3114. bne *1
  3115. OK
  3116. loc 41
  3117. loc WS
  3118. loc W2S
  3119. cii
  3120. loc W2S
  3121. loc F2S
  3122. cif
  3123. loc F2S
  3124. loc WS
  3125. cfi
  3126. loc 41
  3127. bne *1
  3128. OK
  3129. #endif
  3130. #endif
  3131. TEST 116: test sbf F2S
  3132. MAIN 0
  3133. #ifdef F2S
  3134. loc 100
  3135. loc WS
  3136. loc F2S
  3137. cif
  3138. loc 50
  3139. loc WS
  3140. loc F2S
  3141. cif
  3142. sbf F2S
  3143. loc F2S
  3144. loc WS
  3145. cfi
  3146. loc 50
  3147. bne *1
  3148. OK
  3149. loc 32
  3150. loc WS
  3151. loc F2S
  3152. cif
  3153. loc 101
  3154. loc WS
  3155. loc F2S
  3156. cif
  3157. sbf F2S
  3158. loc -69
  3159. loc WS
  3160. loc F2S
  3161. cif
  3162. cmf F2S
  3163. zne *1
  3164. OK
  3165. #endif
  3166. TEST 117: test fmu F2S
  3167. MAIN 0
  3168. #ifdef F2S
  3169. loc 4
  3170. loc WS
  3171. loc F2S
  3172. cif
  3173. loc 20
  3174. loc WS
  3175. loc F2S
  3176. cif
  3177. mlf F2S
  3178. loc F2S
  3179. loc WS
  3180. cfi
  3181. loc 80
  3182. bne *1
  3183. OK
  3184. loc -20
  3185. loc WS
  3186. loc F2S
  3187. cif
  3188. loc -6
  3189. loc WS
  3190. loc F2S
  3191. cif
  3192. mlf F2S
  3193. loc F2S
  3194. loc WS
  3195. cfi
  3196. loc 120
  3197. bne *1
  3198. OK
  3199. #endif
  3200. TEST 118: test dvf F2S
  3201. MAIN 0
  3202. #ifdef F2S
  3203. loc 45
  3204. loc WS
  3205. loc F2S
  3206. cif
  3207. loc 9
  3208. loc WS
  3209. loc F2S
  3210. cif
  3211. dvf F2S
  3212. loc 5
  3213. loc WS
  3214. loc F2S
  3215. cif
  3216. cmf F2S
  3217. zne *1
  3218. OK
  3219. loc -60
  3220. loc WS
  3221. loc F2S
  3222. cif
  3223. loc 7
  3224. loc WS
  3225. loc F2S
  3226. cif
  3227. dvf F2S
  3228. loc F2S
  3229. loc WS
  3230. cfi
  3231. loc -8
  3232. bne *1
  3233. OK
  3234. #endif
  3235. TEST 119: test fractions using F2S floating arithmetic
  3236. MAIN 0
  3237. #ifdef F2S
  3238. loc 7
  3239. loc WS
  3240. loc F2S
  3241. cif
  3242. loc 2
  3243. loc WS
  3244. loc F2S
  3245. cif
  3246. dvf F2S
  3247. loc F2S
  3248. loc WS
  3249. cfi
  3250. loc 3
  3251. bne *1
  3252. OK
  3253. loc -7
  3254. loc WS
  3255. loc F2S
  3256. cif
  3257. loc 2
  3258. loc WS
  3259. loc F2S
  3260. cif
  3261. dvf F2S
  3262. loc F2S
  3263. loc WS
  3264. cfi
  3265. loc -3
  3266. bne *1
  3267. OK
  3268. loc 11
  3269. loc WS
  3270. loc F2S
  3271. cif
  3272. loc 2
  3273. loc WS
  3274. loc F2S
  3275. cif
  3276. dvf F2S
  3277. loc 5
  3278. loc WS
  3279. loc F2S
  3280. cif
  3281. mlf F2S
  3282. loc 4
  3283. loc WS
  3284. loc F2S
  3285. cif
  3286. mlf F2S
  3287. loc 110
  3288. loc WS
  3289. loc F2S
  3290. cif
  3291. cmf F2S
  3292. zne *1
  3293. OK
  3294. #endif
  3295. TEST 120: test cal
  3296. HOL 8
  3297. MAIN 0
  3298. loc 0
  3299. ste 4
  3300. cal $p120
  3301. loe 4
  3302. loc 34
  3303. bne *1
  3304. OK
  3305. PROC
  3306. pro $p120,0
  3307. loc 34
  3308. ste 4
  3309. ret 0
  3310. end
  3311. TEST 121: test cal
  3312. MAIN 0
  3313. cal $p121
  3314. lfr WS
  3315. loc 7
  3316. bne *1
  3317. OK
  3318. PROC
  3319. pro $p121,0
  3320. loc 7
  3321. ret WS
  3322. end
  3323. TEST 122: test cal
  3324. MAIN 0
  3325. loc 7
  3326. cal $p122
  3327. asp WS
  3328. lfr WS
  3329. loc 7
  3330. bne *1
  3331. OK
  3332. PROC
  3333. pro $p122,0
  3334. lol 0
  3335. ret WS
  3336. end
  3337. TEST 123: test cal
  3338. MAIN 4
  3339. loc 7
  3340. stl -4
  3341. lor 0
  3342. cal $p123
  3343. asp PS
  3344. lfr WS
  3345. loc 7
  3346. bne *1
  3347. OK
  3348. lxl 0
  3349. cal $p123
  3350. asp PS
  3351. lfr WS
  3352. loc 7
  3353. bne *1
  3354. OK
  3355. PROC
  3356. pro $p123,0
  3357. lxl 1
  3358. lof -4
  3359. ret WS
  3360. end
  3361. TEST 124: test cal
  3362. MAIN 0
  3363. loc 7
  3364. cal $p124
  3365. asp WS
  3366. PROC
  3367. pro $p124,0
  3368. lol 0
  3369. loc 7
  3370. bne *1
  3371. OK
  3372. ret 0
  3373. ERRLAB
  3374. end
  3375. TEST 125: test cal
  3376. MAIN 4
  3377. loc 10
  3378. stl -WS
  3379. loc 90
  3380. lxl 0
  3381. cal $p1125
  3382. asp PS+WS
  3383. OK
  3384. PROC
  3385. pro $p1125,WS
  3386. lol PS
  3387. loc 90
  3388. bne *1
  3389. OK
  3390. loc 11
  3391. stl -WS
  3392. loc 21
  3393. loc 91
  3394. lxl 0
  3395. cal $p2125
  3396. asp PS+WS
  3397. lfr WS
  3398. OK
  3399. loc 82
  3400. bne *1
  3401. OK
  3402. loc 21
  3403. bne *1
  3404. OK
  3405. ret 0
  3406. ERRLAB
  3407. end
  3408. pro $p2125,0
  3409. lol PS
  3410. loc 91
  3411. bne *1
  3412. OK
  3413. loc 12
  3414. loc 92
  3415. lxl 0
  3416. cal $p3125
  3417. asp PS+WS
  3418. lfr WS+WS
  3419. OK
  3420. loc 86
  3421. bne *1
  3422. loc 83
  3423. bne *1
  3424. OK
  3425. loc 12
  3426. bne *1
  3427. OK
  3428. lal PS
  3429. loi WS
  3430. loc 91
  3431. bne *1
  3432. OK
  3433. loc 82
  3434. ret WS
  3435. ERRLAB
  3436. end
  3437. pro $p3125,WS
  3438. lol PS
  3439. loc 92
  3440. bne *1
  3441. OK
  3442. loc 13
  3443. stl -WS
  3444. lxa 0
  3445. adp PS
  3446. loi WS
  3447. loc 92
  3448. bne *1
  3449. OK
  3450. lxa 1
  3451. adp PS
  3452. loi WS
  3453. loc 91
  3454. bne *1
  3455. OK
  3456. lxa 2
  3457. adp PS
  3458. loi WS
  3459. loc 90
  3460. bne *1
  3461. OK
  3462. lxl 2
  3463. lof -WS
  3464. loc 11
  3465. bne *1
  3466. OK
  3467. lxl 3
  3468. adp -WS
  3469. loi WS
  3470. loc 10
  3471. bne *1
  3472. OK
  3473. loc 83
  3474. lxl 1
  3475. cal $p4125
  3476. asp PS
  3477. lxl 2
  3478. cal $p5125
  3479. asp PS
  3480. lxl 3
  3481. cal $p6125
  3482. asp PS
  3483. lfr WS
  3484. ret WS+WS
  3485. ERRLAB
  3486. end
  3487. pro $p4125,0
  3488. lxa 1
  3489. adp PS
  3490. loi WS
  3491. loc 91
  3492. bne *1
  3493. OK
  3494. ret 0
  3495. ERRLAB
  3496. end
  3497. pro $p5125,0
  3498. lxa 1
  3499. adp PS
  3500. loi WS
  3501. loc 90
  3502. bne *1
  3503. OK
  3504. ret 0
  3505. ERRLAB
  3506. end
  3507. pro $p6125,0
  3508. lxl 1
  3509. adp -WS
  3510. loi WS
  3511. loc 10
  3512. bne *1
  3513. OK
  3514. loc 86
  3515. ret WS
  3516. ERRLAB
  3517. end
  3518. TEST 126: test bra
  3519. MAIN 0
  3520. bra *0126
  3521. bra *1
  3522. 9126
  3523. bra *8126
  3524. 0126
  3525. bra *6126
  3526. bra *1
  3527. 1126
  3528. bra *5126
  3529. bra *1
  3530. 2126
  3531. bra *4126
  3532. bra *1
  3533. 3126
  3534. bra *7126
  3535. bra *1
  3536. 4126
  3537. bra *3126
  3538. bra *1
  3539. 5126
  3540. bra *2126
  3541. bra *1
  3542. 6126
  3543. bra *1126
  3544. bra *1
  3545. 7126
  3546. bra *9126
  3547. bra *1
  3548. 8126
  3549. OK
  3550. TEST 127: test ret and lfr
  3551. a127
  3552. bss 4,0,0
  3553. MAIN 0
  3554. ; return nothing
  3555. loc 123
  3556. cal $retw0
  3557. loc 123
  3558. bne *1
  3559. OK
  3560. ; return single word
  3561. cal $retw1
  3562. lfr WS
  3563. loc 45
  3564. bne *1
  3565. OK
  3566. ; return single pointer
  3567. cal $retp1
  3568. lfr PS
  3569. lae a127
  3570. cmp
  3571. zne *1
  3572. OK
  3573. ; return procedure instance identifier (two pointers)
  3574. ; this value may not be disturbed by ASP
  3575. lxl 0
  3576. cal $retp2
  3577. asp PS
  3578. lfr 2*PS
  3579. lpi $retp2
  3580. cmp
  3581. zne *1
  3582. lxl 0
  3583. cmp
  3584. zne *1
  3585. OK
  3586. PROC
  3587. pro $retw0,0
  3588. ret 0
  3589. end
  3590. pro $retw1,0
  3591. loc 45
  3592. ret WS
  3593. end
  3594. pro $retp1,0
  3595. lae a127
  3596. ret PS
  3597. end
  3598. pro $retp2,0
  3599. lxl 1
  3600. lpi $retp2
  3601. ret 2*PS
  3602. end