tests 29 KB

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