tests 37 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597
  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, del, inl, zrl
  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. zrl -4
  149. lol -4
  150. loc 0
  151. bne *1
  152. OK
  153. inl -4
  154. lol -4
  155. loc 1
  156. bne *1
  157. loc -1
  158. stl -4
  159. inl -4
  160. lol -4
  161. loc 0
  162. bne *1
  163. OK
  164. del -4
  165. lol -4
  166. loc -1
  167. bne *1
  168. loc 1
  169. stl -4
  170. del -4
  171. lol -4
  172. loc 0
  173. bne *1
  174. OK
  175. TEST 005: test loe, ste, zre, ine, dee
  176. HOL 8
  177. MAIN 0
  178. loc 95
  179. ste WS
  180. loe WS
  181. loc 95
  182. bne *1
  183. OK
  184. loc 125
  185. ste 0
  186. loc 125
  187. loe 0
  188. bne *1
  189. OK
  190. loc 95
  191. ste 0
  192. loe WS
  193. loe 0
  194. bne *1
  195. OK
  196. zre WS
  197. loe WS
  198. loc 0
  199. bne *1
  200. OK
  201. ine WS
  202. loe WS
  203. loc 1
  204. bne *1
  205. loc -1
  206. ste WS
  207. ine WS
  208. loe WS
  209. loc 0
  210. bne *1
  211. OK
  212. dee WS
  213. loe WS
  214. loc -1
  215. bne *1
  216. loc 1
  217. ste WS
  218. dee WS
  219. loe WS
  220. loc 0
  221. bne *1
  222. OK
  223. TEST 006: test named global data: con, rom, bss
  224. a006
  225. bss 4,0,0
  226. b006
  227. con 35
  228. c006
  229. bss 4,0,1
  230. d006
  231. bss 4,35,1
  232. e006
  233. rom 57
  234. MAIN 0
  235. loc 0
  236. loe c006
  237. bne *1
  238. OK
  239. loe b006
  240. ste a006
  241. loe d006
  242. loe a006
  243. bne *1
  244. OK
  245. loe e006
  246. ste b006
  247. loc 57
  248. loe b006
  249. bne *1
  250. OK
  251. TEST 007: test lal, lil
  252. MAIN 12
  253. lal -8
  254. #if WS == PS
  255. stl -4
  256. #endif
  257. #if WS*2 == PS
  258. sdl -4
  259. #endif
  260. loc 117
  261. stl -8
  262. lil -4
  263. loc 117
  264. bne *1
  265. OK
  266. TEST 008: test sil
  267. MAIN 12
  268. loc 29
  269. stl -8
  270. lal -8
  271. #if WS == PS
  272. stl -4
  273. #endif
  274. #if WS*2 == PS
  275. sdl -4
  276. #endif
  277. loc 110
  278. sil -4
  279. lol -8
  280. loc 110
  281. bne *1
  282. OK
  283. TEST 009: test lof
  284. MAIN 20
  285. lal -16
  286. loc 120
  287. stl -12
  288. lof 4
  289. loc 120
  290. bne *1
  291. OK
  292. TEST 010: test stf
  293. MAIN 20
  294. loc 180
  295. lal -16
  296. stf 8
  297. lol -8
  298. loc 180
  299. bne *1
  300. OK
  301. TEST 011: test loi WS
  302. MAIN 20
  303. loc 140
  304. stl -12
  305. lal -12
  306. loi WS
  307. loc 140
  308. bne *1
  309. OK
  310. TEST 012: test loi 1, sti 1
  311. MAIN 20
  312. #if WS > 1
  313. loc 519
  314. lal -10
  315. sti 1
  316. lal -10
  317. loi 1
  318. loc 7
  319. bne *1
  320. loc 129
  321. lal -10
  322. sti 1
  323. lal -10
  324. loi 1
  325. loc 9
  326. ble *1
  327. OK
  328. #endif
  329. TEST 013: test loi 2*WS
  330. MAIN 20
  331. loc 77
  332. stl -12
  333. loc 119
  334. stl -12+WS
  335. lal -12
  336. loi 2*WS
  337. loc 77
  338. bne *1
  339. loc 119
  340. bne *1
  341. OK
  342. TEST 014: test loi 4*WS
  343. MAIN 20
  344. loc 150
  345. stl -16+(3*WS)
  346. loc 152
  347. stl -16+(2*WS)
  348. loc 154
  349. stl -16+WS
  350. loc 156
  351. stl -16
  352. lal -16
  353. loi 4*WS
  354. loc 156
  355. bne *1
  356. loc 154
  357. bne *1
  358. loc 152
  359. bne *1
  360. loc 150
  361. bne *1
  362. OK
  363. TEST 015: test los WS with 1
  364. MAIN 20
  365. loc 7
  366. lal -10
  367. sti 1
  368. lal -10
  369. loc 1
  370. los WS
  371. loc 7
  372. bne *1
  373. OK
  374. TEST 016: test los WS with 2
  375. MAIN 20
  376. #if WS == 1
  377. loc 77
  378. loc 78
  379. stl -12
  380. stl -11
  381. lal -12
  382. loc 2
  383. los WS
  384. loc 78
  385. bne *1
  386. loc 77
  387. bne *1
  388. #endif
  389. #if WS > 1
  390. loc 777
  391. lal -12
  392. sti 2
  393. lal -12
  394. loc 2
  395. los WS
  396. loc 777
  397. bne *1
  398. #endif
  399. OK
  400. TEST 017: test los WS with 4
  401. MAIN 20
  402. #if WS == 1
  403. loc 14
  404. loc 15
  405. loc 16
  406. loc 17
  407. lal -12
  408. sti 4
  409. lal -12
  410. loc 4
  411. los WS
  412. loc 17
  413. bne *1
  414. loc 16
  415. bne *1
  416. loc 15
  417. bne *1
  418. loc 14
  419. bne *1
  420. #endif
  421. #if WS == 2
  422. loc 3001
  423. loc 3002
  424. stl -12
  425. stl -10
  426. lal -12
  427. loc 4
  428. los WS
  429. loc 3002
  430. bne *1
  431. loc 3001
  432. bne *1
  433. #endif
  434. #if WS > 2
  435. loc 123001
  436. stl -12
  437. lal -12
  438. loc 4
  439. los WS
  440. loc 123001
  441. bne *1
  442. #endif
  443. OK
  444. TEST 018: test ldl
  445. MAIN 20
  446. loc 77
  447. stl -12
  448. loc 123
  449. stl -12+WS
  450. ldl -12
  451. loc 77
  452. bne *1
  453. loc 123
  454. bne *1
  455. OK
  456. TEST 019: test lde
  457. HOL 20
  458. MAIN 0
  459. loc 70
  460. ste 12
  461. loc 71
  462. ste 12+WS
  463. lde 12
  464. loc 70
  465. bne *1
  466. loc 71
  467. bne *1
  468. OK
  469. TEST 020: test ldf
  470. MAIN 20
  471. loc 123
  472. loc 77
  473. sdl -8
  474. lal -13
  475. ldf 5
  476. loc 77
  477. bne *1
  478. loc 123
  479. bne *1
  480. OK
  481. TEST 021: test ldf
  482. MAIN 20
  483. loc 75
  484. stl -12
  485. loc 77
  486. stl -12+WS
  487. lal -20
  488. ldf 8
  489. loc 75
  490. bne *1
  491. loc 77
  492. bne *1
  493. OK
  494. TEST 022: test sdl
  495. MAIN 20
  496. loc 30
  497. loc 31
  498. sdl -12
  499. lol -12+WS
  500. loc 30
  501. bne *1
  502. lol -12
  503. loc 31
  504. bne *1
  505. OK
  506. TEST 023: test sde
  507. HOL 24
  508. MAIN 0
  509. loc 40
  510. loc 41
  511. sde 16
  512. loe 16
  513. loc 41
  514. bne *1
  515. loe 16+WS
  516. loc 40
  517. bne *1
  518. OK
  519. TEST 024: test sdf
  520. HOL 24
  521. MAIN 0
  522. loc 51
  523. loc 50
  524. lae 6
  525. sdf 10
  526. loe 16
  527. loc 50
  528. bne *1
  529. loc 51
  530. loe 16+WS
  531. bne *1
  532. OK
  533. TEST 025: test sti 1
  534. MAIN 20
  535. loc 4136
  536. lal -11
  537. sti 1
  538. loc 1034
  539. lal -10
  540. sti 1
  541. lal -10
  542. loi 1
  543. loc 10
  544. bne *1
  545. lal -11
  546. loi 1
  547. loc 40
  548. bne *1
  549. OK
  550. TEST 026: test sti 1 and lol
  551. MAIN 20
  552. loc 257
  553. stl -12+WS
  554. loc 514
  555. stl -12-WS
  556. loc 50
  557. lal -12
  558. sti 1
  559. #if WS > 1
  560. loc -50
  561. lal -11
  562. sti 1
  563. #endif
  564. #if WS > 2
  565. loc 49
  566. lal -10
  567. sti 1
  568. loc -49
  569. lal -9
  570. sti 1
  571. #endif
  572. loc 257
  573. lol -12+WS
  574. bne *1
  575. loc 514
  576. lol -12-WS
  577. bne *1
  578. OK
  579. TEST 027: test sti 2
  580. MAIN 20
  581. #if WS == 1
  582. ldc 90
  583. #else
  584. loc 90
  585. #endif
  586. lal -12
  587. sti 2
  588. #if WS != 2
  589. lal -12
  590. loi 2
  591. #else
  592. lol -12
  593. #endif
  594. #if WS == 1
  595. ldc 90
  596. #else
  597. loc 90
  598. #endif
  599. bne *1
  600. OK
  601. TEST 028: test sti 4
  602. MAIN 20
  603. #if WS == 1
  604. loc 100
  605. loc 101
  606. #endif
  607. #if WS <= 2
  608. loc 102
  609. #endif
  610. loc 103
  611. lal -16
  612. sti 4
  613. lol -16
  614. loc 103
  615. bne *1
  616. OK
  617. TEST 029: test sts WS with 1
  618. MAIN 20
  619. loc 57
  620. lal -13
  621. sti 1
  622. loc 123
  623. lal -11
  624. sti 1
  625. loc 20
  626. lal -12
  627. loc 1
  628. sts WS
  629. lal -12
  630. loi 1
  631. loc 20
  632. bne *1
  633. lal -11
  634. loi 1
  635. loc 123
  636. bne *1
  637. lal -13
  638. loi 1
  639. loc 57
  640. bne *1
  641. OK
  642. TEST 030: test sts WS with WS
  643. MAIN 20
  644. loc 210
  645. lal -12
  646. loc WS
  647. sts WS
  648. lol -12
  649. loc 210
  650. bne *1
  651. OK
  652. TEST 031: test sts WS with 4
  653. MAIN 20
  654. #if WS == 1
  655. loc 100
  656. loc 101
  657. #endif
  658. #if WS <= 2
  659. loc 102
  660. #endif
  661. loc 103
  662. lal -16
  663. loc 4
  664. sts WS
  665. lol -16
  666. loc 103
  667. bne *1
  668. OK
  669. TEST 032: test adi WS
  670. MAIN 0
  671. loc 1
  672. loc 1
  673. adi WS
  674. loc 2
  675. bne *1
  676. OK
  677. loc 5
  678. loc -6
  679. adi WS
  680. loc -1
  681. bne *1
  682. OK
  683. #if WS >= 2
  684. loc -1007
  685. loc +999
  686. adi WS
  687. loc -8
  688. bne *1
  689. OK
  690. loc -1300
  691. loc +1405
  692. adi WS
  693. loc 105
  694. bne *1
  695. OK
  696. loc -30000
  697. loc -20
  698. adi WS
  699. loc -30020
  700. bne *1
  701. OK
  702. #endif
  703. #if WS >= 4
  704. loc -100007
  705. loc +99999
  706. adi WS
  707. loc -8
  708. bne *1
  709. OK
  710. loc -1300
  711. loc +140567
  712. adi WS
  713. loc 139267
  714. bne *1
  715. OK
  716. loc -30000000
  717. loc -20
  718. adi WS
  719. loc -30000020
  720. bne *1
  721. OK
  722. #endif
  723. TEST 033: test sbi WS
  724. MAIN 0
  725. loc 1
  726. loc 1
  727. sbi WS
  728. loc 0
  729. bne *1
  730. OK
  731. loc 5
  732. loc -6
  733. sbi WS
  734. loc +11
  735. bne *1
  736. OK
  737. #if WS >= 2
  738. loc -1007
  739. loc +999
  740. sbi WS
  741. loc -2006
  742. bne *1
  743. OK
  744. loc -1300
  745. loc +1405
  746. sbi WS
  747. loc -2705
  748. bne *1
  749. OK
  750. loc -30000
  751. loc -20
  752. sbi WS
  753. loc -29980
  754. bne *1
  755. OK
  756. #endif
  757. #if WS >= 4
  758. loc -100007
  759. loc +99999
  760. sbi WS
  761. loc -200006
  762. bne *1
  763. OK
  764. loc -1300
  765. loc +140567
  766. sbi WS
  767. loc -141867
  768. bne *1
  769. OK
  770. loc -30000000
  771. loc -20
  772. sbi WS
  773. loc -29999980
  774. bne *1
  775. OK
  776. #endif
  777. TEST 034: test mli WS
  778. MAIN 0
  779. loc 5
  780. loc 9
  781. mli WS
  782. loc 45
  783. bne *1
  784. OK
  785. loc 0
  786. loc 10
  787. mli WS
  788. loc 0
  789. bne *1
  790. OK
  791. #if WS > 1
  792. loc -99
  793. loc 7
  794. mli WS
  795. loc -693
  796. bne *1
  797. OK
  798. loc -100
  799. loc -90
  800. mli WS
  801. loc 9000
  802. bne *1
  803. OK
  804. #endif
  805. #if WS > 2
  806. loc 123456
  807. loc 200
  808. mli WS
  809. loc 24691200
  810. bne *1
  811. OK
  812. #endif
  813. TEST 035: test dvi WS
  814. MAIN 0
  815. loc 15
  816. loc 5
  817. dvi WS
  818. loc 3
  819. bne *1
  820. OK
  821. loc 100
  822. loc -7
  823. dvi WS
  824. loc -14
  825. bne *1
  826. OK
  827. loc -100
  828. loc 7
  829. dvi WS
  830. loc -14
  831. bne *1
  832. OK
  833. #if WS >= 2
  834. loc -1000
  835. loc -201
  836. dvi WS
  837. loc 4
  838. bne *1
  839. OK
  840. #endif
  841. #if WS >= 4
  842. loc 1234567
  843. loc -100
  844. dvi WS
  845. loc -12345
  846. bne *1
  847. OK
  848. #endif
  849. TEST 036: test rmi WS
  850. MAIN 0
  851. loc 100
  852. loc 7
  853. rmi WS
  854. loc 2
  855. bne *1
  856. OK
  857. loc -100
  858. loc 7
  859. rmi WS
  860. loc -2
  861. bne *1
  862. OK
  863. loc 100
  864. loc -7
  865. rmi WS
  866. loc 2
  867. bne *1
  868. OK
  869. loc -100
  870. loc -7
  871. rmi WS
  872. loc -2
  873. bne *1
  874. OK
  875. #if WS >= 2
  876. loc -1000
  877. loc -201
  878. rmi WS
  879. loc -196
  880. bne *1
  881. OK
  882. #endif
  883. #if WS >= 4
  884. loc 1234567
  885. loc -100
  886. rmi WS
  887. loc 67
  888. bne *1
  889. OK
  890. #endif
  891. TEST 037: test ngi WS
  892. MAIN 0
  893. loc 100
  894. ngi WS
  895. loc -100
  896. bne *1
  897. OK
  898. loc -100
  899. ngi WS
  900. loc 100
  901. bne *1
  902. OK
  903. TEST 038: test sli,slu WS
  904. MAIN 0
  905. loc 5
  906. loc 3
  907. sli WS
  908. loc 40
  909. bne *1
  910. OK
  911. loc -2
  912. loc 4
  913. sli WS
  914. loc -32
  915. bne *1
  916. OK
  917. loc 5
  918. loc 3
  919. slu WS
  920. loc 40
  921. bne *1
  922. OK
  923. loc -2
  924. loc 4
  925. slu WS
  926. loc -32
  927. bne *1
  928. OK
  929. TEST 039: test sri,sru WS
  930. MAIN 0
  931. loc 64
  932. loc 5
  933. sri WS
  934. loc 2
  935. bne *1
  936. OK
  937. loc -3
  938. loc 2
  939. sri WS
  940. loc -1
  941. bne *1
  942. OK
  943. loc -16
  944. loc 3
  945. sri WS
  946. loc -2
  947. bne *1
  948. OK
  949. loc 64
  950. loc 5
  951. sru WS
  952. loc 2
  953. bne *1
  954. OK
  955. loc -3
  956. loc 2
  957. sru WS
  958. #if WS == 1
  959. loc 63
  960. #endif
  961. #if WS == 2
  962. loc 16383
  963. #endif
  964. #if WS == 4
  965. loc 1073741823
  966. #endif
  967. bne *1
  968. OK
  969. TEST 040: test rol WS
  970. MAIN 0
  971. loc 1
  972. loc 3
  973. rol WS
  974. loc 8
  975. bne *1
  976. OK
  977. #if WS > 1
  978. loc 16384
  979. loc WS * 8 - 1
  980. rol WS
  981. loc 8192
  982. bne *1
  983. OK
  984. loc -2
  985. loc WS * 8 - 1
  986. rol WS
  987. #if WS == 2
  988. loc 32767
  989. #endif
  990. #if WS == 4
  991. loc 2147483647
  992. #endif
  993. bne *1
  994. OK
  995. loc -28671
  996. loc 0
  997. rol WS
  998. loc -28671
  999. bne *1
  1000. OK
  1001. #endif
  1002. TEST 041: test ror WS
  1003. MAIN 0
  1004. loc 4
  1005. loc 5
  1006. ror WS
  1007. #if WS == 1
  1008. loc 32
  1009. #endif
  1010. #if WS == 2
  1011. loc 8192
  1012. #endif
  1013. #if WS == 4
  1014. loc 536870912
  1015. #endif
  1016. bne *1
  1017. OK
  1018. #if WS == 2
  1019. loc 32767
  1020. loc 15
  1021. ror WS
  1022. loc -2
  1023. bne *1
  1024. OK
  1025. #endif
  1026. loc -28
  1027. loc 0
  1028. ror WS
  1029. loc -28
  1030. bne *1
  1031. OK
  1032. TEST 042: test inc
  1033. MAIN 0
  1034. loc 20
  1035. inc
  1036. loc 21
  1037. bne *1
  1038. OK
  1039. loc -50
  1040. inc
  1041. loc -49
  1042. bne *1
  1043. OK
  1044. TEST 043: test dec
  1045. MAIN 0
  1046. loc 66
  1047. dec
  1048. loc 65
  1049. bne *1
  1050. OK
  1051. loc -44
  1052. dec
  1053. loc -45
  1054. bne *1
  1055. OK
  1056. TEST 044: test adp
  1057. MAIN 20
  1058. lal -10
  1059. adp -2
  1060. lal -12
  1061. cmp
  1062. zne *1
  1063. OK
  1064. loc 519
  1065. lal -11
  1066. sti 1
  1067. lal -12
  1068. adp 1
  1069. loi 1
  1070. loc 7
  1071. bne *1
  1072. OK
  1073. TEST 045: test inn WS
  1074. MAIN 0
  1075. loc 8
  1076. loc 3
  1077. inn WS
  1078. loc 1
  1079. bne *1
  1080. OK
  1081. loc 8
  1082. loc 4
  1083. inn WS
  1084. loc 0
  1085. bne *1
  1086. OK
  1087. loc 2
  1088. loc -5
  1089. inn WS
  1090. loc 0
  1091. bne *1
  1092. OK
  1093. loc -5
  1094. loc 3
  1095. inn WS
  1096. loc 1
  1097. bne *1
  1098. OK
  1099. TEST 046: test inn ?
  1100. MAIN 0
  1101. loc 8
  1102. loc 3
  1103. loc WS
  1104. inn ?
  1105. loc 1
  1106. bne *1
  1107. OK
  1108. loc 8
  1109. loc 4
  1110. loc WS
  1111. inn ?
  1112. loc 0
  1113. bne *1
  1114. OK
  1115. loc 2
  1116. loc -5
  1117. loc WS
  1118. inn ?
  1119. loc 0
  1120. bne *1
  1121. OK
  1122. loc -5
  1123. loc 3
  1124. loc WS
  1125. inn ?
  1126. loc 1
  1127. bne *1
  1128. OK
  1129. TEST 047: test set
  1130. MAIN 0
  1131. loc 3
  1132. set WS
  1133. loc 8
  1134. bne *1
  1135. OK
  1136. loc 6
  1137. set 2*WS
  1138. loc 64
  1139. bne *1
  1140. loc 0
  1141. bne *1
  1142. OK
  1143. loc 0
  1144. set 4*WS
  1145. loc 1
  1146. bne *1
  1147. loc 0
  1148. bne *1
  1149. loc 0
  1150. bne *1
  1151. loc 0
  1152. bne *1
  1153. OK
  1154. TEST 048: test set ?
  1155. MAIN 0
  1156. loc 3
  1157. loc WS
  1158. set ?
  1159. loc 8
  1160. bne *1
  1161. OK
  1162. loc 6
  1163. loc 2*WS
  1164. set ?
  1165. loc 64
  1166. bne *1
  1167. loc 0
  1168. bne *1
  1169. OK
  1170. loc 0
  1171. loc 4*WS
  1172. set ?
  1173. loc 1
  1174. bne *1
  1175. loc 0
  1176. bne *1
  1177. loc 0
  1178. bne *1
  1179. loc 0
  1180. bne *1
  1181. OK
  1182. TEST 049: test aar
  1183. a049
  1184. rom 5,2,4
  1185. b049
  1186. con 5,2,1
  1187. MAIN 20
  1188. lal -12
  1189. loc 5
  1190. lae a049
  1191. aar WS
  1192. lal -12
  1193. cmp
  1194. zne *1
  1195. OK
  1196. lal -11
  1197. loc 7
  1198. lae b049
  1199. aar WS
  1200. lal -9
  1201. cmp
  1202. zne *1
  1203. OK
  1204. TEST 050: test aar ?
  1205. a050
  1206. rom 5,2,4
  1207. b050
  1208. con 5,2,1
  1209. MAIN 20
  1210. lal -12
  1211. loc 5
  1212. lae a050
  1213. loc WS
  1214. aar ?
  1215. lal -12
  1216. cmp
  1217. zne *1
  1218. OK
  1219. lal -11
  1220. loc 7
  1221. lae b050
  1222. loc WS
  1223. aar ?
  1224. lal -9
  1225. cmp
  1226. zne *1
  1227. OK
  1228. TEST 051: test lar
  1229. a051
  1230. rom 5,2,2*WS
  1231. b051
  1232. con 5,2,1
  1233. MAIN 20
  1234. loc 40
  1235. loc 41
  1236. sdl -16+(2*WS)
  1237. lal -16
  1238. loc 6
  1239. lae a051
  1240. lar WS
  1241. loc 41
  1242. bne *1
  1243. loc 40
  1244. bne *1
  1245. OK
  1246. loc 42
  1247. lal -13
  1248. sti 1
  1249. lal -15
  1250. loc 7
  1251. lae b051
  1252. lar WS
  1253. lal -13
  1254. loi 1
  1255. bne *1
  1256. OK
  1257. TEST 052: test lar ?
  1258. a052
  1259. rom 5,2,2*WS
  1260. b052
  1261. con 5,2,1
  1262. MAIN 20
  1263. loc 40
  1264. loc 41
  1265. sdl -16+(2*WS)
  1266. lal -16
  1267. loc 6
  1268. lae a052
  1269. loc WS
  1270. lar ?
  1271. loc 41
  1272. bne *1
  1273. loc 40
  1274. bne *1
  1275. OK
  1276. loc 42
  1277. lal -13
  1278. sti 1
  1279. lal -15
  1280. loc 7
  1281. lae b052
  1282. loc WS
  1283. lar ?
  1284. lal -13
  1285. loi 1
  1286. bne *1
  1287. OK
  1288. TEST 053: test sar
  1289. a053
  1290. rom 5,2,3*WS
  1291. b053
  1292. con 5,2,1
  1293. MAIN 28 : assert WS <= 8
  1294. loc 39
  1295. loc 40
  1296. loc 41
  1297. lal -28
  1298. loc 6
  1299. lae a053
  1300. sar WS
  1301. lal -28+(3*WS)
  1302. loi 3*WS
  1303. loc 41
  1304. bne *1
  1305. loc 40
  1306. bne *1
  1307. loc 39
  1308. bne *1
  1309. OK
  1310. loc -2
  1311. lal -11
  1312. loc 7
  1313. lae b053
  1314. sar WS
  1315. lal -9
  1316. loi 1
  1317. loc 254
  1318. bne *1
  1319. OK
  1320. TEST 054: test sar ?
  1321. a054
  1322. rom 5,2,3*WS
  1323. b054
  1324. con 5,2,1
  1325. MAIN 28
  1326. loc 39
  1327. loc 40
  1328. loc 41
  1329. lal -28
  1330. loc 6
  1331. lae a054
  1332. loc WS
  1333. sar ?
  1334. lal -28+(3*WS)
  1335. loi 3*WS
  1336. loc 41
  1337. bne *1
  1338. loc 40
  1339. bne *1
  1340. loc 39
  1341. bne *1
  1342. OK
  1343. loc -2
  1344. lal -11
  1345. loc 7
  1346. lae b054
  1347. loc WS
  1348. sar ?
  1349. lal -9
  1350. loi 1
  1351. loc 254
  1352. bne *1
  1353. OK
  1354. TEST 055: test tlt
  1355. MAIN 0
  1356. loc 1
  1357. tlt
  1358. loc 0
  1359. bne *1
  1360. OK
  1361. loc 0
  1362. tlt
  1363. loc 0
  1364. bne *1
  1365. OK
  1366. loc -3
  1367. tlt
  1368. loc 1
  1369. bne *1
  1370. OK
  1371. TEST 056: test tle
  1372. MAIN 0
  1373. loc 8
  1374. tle
  1375. loc 0
  1376. bne *1
  1377. OK
  1378. loc 0
  1379. tle
  1380. loc 1
  1381. bne *1
  1382. OK
  1383. loc -19
  1384. tle
  1385. loc 1
  1386. bne *1
  1387. OK
  1388. TEST 057: test teq
  1389. MAIN 0
  1390. loc 17
  1391. teq
  1392. loc 0
  1393. bne *1
  1394. OK
  1395. loc 0
  1396. teq
  1397. loc 1
  1398. bne *1
  1399. OK
  1400. loc -100
  1401. teq
  1402. loc 0
  1403. bne *1
  1404. OK
  1405. TEST 058: test tne
  1406. MAIN 0
  1407. loc 76
  1408. tne
  1409. loc 1
  1410. bne *1
  1411. OK
  1412. loc 0
  1413. tne
  1414. loc 0
  1415. bne *1
  1416. OK
  1417. loc -99
  1418. tne
  1419. loc 1
  1420. bne *1
  1421. OK
  1422. TEST 059: test tge
  1423. MAIN 0
  1424. loc 14
  1425. tge
  1426. loc 1
  1427. bne *1
  1428. OK
  1429. loc 0
  1430. tge
  1431. loc 1
  1432. bne *1
  1433. OK
  1434. loc -76
  1435. tge
  1436. loc 0
  1437. bne *1
  1438. OK
  1439. TEST 060: test tgt
  1440. MAIN 0
  1441. loc 20
  1442. tgt
  1443. loc 1
  1444. bne *1
  1445. OK
  1446. loc 0
  1447. tgt
  1448. loc 0
  1449. bne *1
  1450. OK
  1451. loc -66
  1452. tgt
  1453. loc 0
  1454. bne *1
  1455. OK
  1456. TEST 061: test cmi WS
  1457. MAIN 0
  1458. loc 10
  1459. loc 20
  1460. cmi WS
  1461. tlt
  1462. loc 1
  1463. bne *1
  1464. OK
  1465. loc 20
  1466. loc 10
  1467. cmi WS
  1468. tgt
  1469. loc 1
  1470. bne *1
  1471. OK
  1472. loc 44
  1473. loc 44
  1474. cmi WS
  1475. loc 0
  1476. bne *1
  1477. OK
  1478. TEST 062: test cmp, adp, cmu
  1479. MAIN 20
  1480. lal -5
  1481. lal -2
  1482. cmp
  1483. tlt
  1484. loc 1
  1485. bne *1
  1486. OK
  1487. lal -2
  1488. lal -5
  1489. cmp
  1490. tle
  1491. loc 0
  1492. bne *1
  1493. OK
  1494. lal -2
  1495. lal -2
  1496. cmp
  1497. loc 0
  1498. bne *1
  1499. OK
  1500. lal -5
  1501. adp 3
  1502. lal -2
  1503. cmp
  1504. loc 0
  1505. bne *1
  1506. OK
  1507. lal -5
  1508. adp 4
  1509. lal -2
  1510. cmp
  1511. tge
  1512. loc 1
  1513. bne *1
  1514. OK
  1515. loc 6
  1516. loc 6
  1517. cmu WS
  1518. loc 0
  1519. bne *1
  1520. OK
  1521. loc 17
  1522. loc 27
  1523. cmu WS
  1524. tlt
  1525. loc 1
  1526. bne *1
  1527. OK
  1528. #ifdef W2S
  1529. loc 17
  1530. loc 6
  1531. loc 27
  1532. loc 6
  1533. cmu W2S
  1534. tlt
  1535. loc 1
  1536. bne *1
  1537. OK
  1538. loc 6
  1539. loc 27
  1540. loc 6
  1541. loc 17
  1542. cmu W2S
  1543. tgt
  1544. loc 1
  1545. bne *1
  1546. OK
  1547. #endif
  1548. TEST 063: test cms, zer
  1549. MAIN 0
  1550. loc 6
  1551. loc -10
  1552. loc -125
  1553. loc 30
  1554. loc 6
  1555. loc -10
  1556. loc -125
  1557. loc 30
  1558. loc 4*WS
  1559. cms
  1560. teq
  1561. loc 1
  1562. bne *1
  1563. OK
  1564. loc 6
  1565. loc -10
  1566. loc -125
  1567. loc 30
  1568. loc 6
  1569. loc -10
  1570. loc -125
  1571. loc 30
  1572. cms 4*WS
  1573. teq
  1574. loc 1
  1575. bne *1
  1576. OK
  1577. loc 6
  1578. loc -10
  1579. loc -125
  1580. loc 30
  1581. loc 6
  1582. loc -10
  1583. loc -126
  1584. loc 30
  1585. loc 4*WS
  1586. cms
  1587. tne
  1588. loc 1
  1589. bne *1
  1590. OK
  1591. loc 6
  1592. loc -10
  1593. loc -125
  1594. loc 30
  1595. loc 6
  1596. loc -10
  1597. loc -126
  1598. loc 30
  1599. cms 4*WS
  1600. tne
  1601. loc 1
  1602. bne *1
  1603. OK
  1604. loc 0
  1605. loc 0
  1606. loc 0
  1607. loc 0
  1608. zer 4*WS
  1609. cms 4*WS
  1610. teq
  1611. loc 1
  1612. bne *1
  1613. OK
  1614. TEST 064: test blt
  1615. MAIN 0
  1616. loc 3
  1617. loc 4
  1618. blt *1064
  1619. bra *1
  1620. 1064
  1621. loc 4
  1622. loc 3
  1623. blt *1
  1624. loc -5
  1625. loc -4
  1626. blt *2064
  1627. bra *1
  1628. 2064
  1629. loc -4
  1630. loc -5
  1631. blt *1
  1632. loc 4
  1633. loc 4
  1634. blt *1
  1635. OK
  1636. TEST 065: test ble
  1637. MAIN 0
  1638. loc 3
  1639. loc 4
  1640. ble *1065
  1641. bra *1
  1642. 1065
  1643. loc 4
  1644. loc 3
  1645. ble *1
  1646. loc -99
  1647. loc -5
  1648. ble *2065
  1649. bra *1
  1650. 2065
  1651. loc -99
  1652. loc -99
  1653. ble *3065
  1654. bra *1
  1655. 3065
  1656. loc 100
  1657. loc -100
  1658. ble *1
  1659. OK
  1660. TEST 066: test beq
  1661. MAIN 0
  1662. loc 3
  1663. loc 3
  1664. beq *1066
  1665. bra *1
  1666. 1066
  1667. loc 3
  1668. loc 4
  1669. beq *1
  1670. loc -18
  1671. loc -17
  1672. beq *1
  1673. loc 0
  1674. loc 0
  1675. beq *2066
  1676. bra *1
  1677. 2066
  1678. OK
  1679. TEST 067: test bne
  1680. MAIN 0
  1681. loc 50
  1682. loc 50
  1683. bne *1
  1684. loc 50
  1685. loc 51
  1686. bne *1067
  1687. bra *1
  1688. 1067
  1689. loc 0
  1690. loc 0
  1691. bne *1
  1692. OK
  1693. TEST 068: test bge
  1694. MAIN 0
  1695. loc 100
  1696. loc 101
  1697. bge *1
  1698. loc 101
  1699. loc 100
  1700. bge *1068
  1701. bra *1
  1702. 1068
  1703. loc -100
  1704. loc -99
  1705. bge *1
  1706. loc -100
  1707. loc 100
  1708. bge *1
  1709. loc 0
  1710. loc 0
  1711. bge *2068
  1712. bra *1
  1713. 2068
  1714. loc 50
  1715. loc 50
  1716. bge *3068
  1717. bra *1
  1718. 3068
  1719. OK
  1720. TEST 069: test bgt
  1721. MAIN 0
  1722. loc 3
  1723. loc 10
  1724. bgt *1
  1725. loc 10
  1726. loc 3
  1727. bgt *1069
  1728. bra *1
  1729. 1069
  1730. loc -100
  1731. loc -50
  1732. bgt *1
  1733. loc -100
  1734. loc 50
  1735. bgt *1
  1736. loc 5
  1737. loc 5
  1738. bgt *1
  1739. OK
  1740. TEST 070: test zlt
  1741. MAIN 0
  1742. loc 4
  1743. zlt *1
  1744. loc -4
  1745. zlt *1070
  1746. bra *1
  1747. 1070
  1748. loc 0
  1749. zlt *1
  1750. OK
  1751. TEST 071: test zle
  1752. MAIN 0
  1753. loc 4
  1754. zle *1
  1755. loc -4
  1756. zlt *1071
  1757. bra *1
  1758. 1071
  1759. loc 0
  1760. zle *2071
  1761. bra *1
  1762. 2071
  1763. OK
  1764. TEST 072: test zeq
  1765. MAIN 0
  1766. loc 4
  1767. zeq *1
  1768. loc -4
  1769. zeq *1
  1770. loc 0
  1771. zeq *1072
  1772. bra *1
  1773. 1072
  1774. OK
  1775. TEST 073: test zne
  1776. MAIN 0
  1777. loc 4
  1778. zne *1073
  1779. bra *1
  1780. 1073
  1781. loc -4
  1782. zne *2073
  1783. bra *1
  1784. 2073
  1785. loc 0
  1786. zne *1
  1787. OK
  1788. TEST 074: test zge
  1789. MAIN 0
  1790. loc 4
  1791. zge *1074
  1792. bra *1
  1793. 1074
  1794. loc -4
  1795. zge *1
  1796. loc 0
  1797. zge *2074
  1798. bra *1
  1799. 2074
  1800. OK
  1801. TEST 075: test zgt
  1802. MAIN 0
  1803. loc 4
  1804. zgt *1075
  1805. bra *1
  1806. 1075
  1807. loc -4
  1808. zgt *1
  1809. loc 0
  1810. zgt *1
  1811. OK
  1812. TEST 076: test asp
  1813. MAIN 12
  1814. loc 104
  1815. loc 4
  1816. loc 5
  1817. loc 6
  1818. asp 2*WS
  1819. stl -4
  1820. loc 104
  1821. bne *1
  1822. OK
  1823. TEST 077: test cal
  1824. HOL 8
  1825. MAIN 0
  1826. cal $p077
  1827. loe 4
  1828. loc 34
  1829. bne *1
  1830. OK
  1831. PROC
  1832. pro $p077,0
  1833. loc 34
  1834. ste 4
  1835. ret 0
  1836. end
  1837. TEST 078: test cai
  1838. HOL 8
  1839. MAIN 0
  1840. lpi $p078
  1841. cai
  1842. loe 4
  1843. loc 34
  1844. bne *1
  1845. OK
  1846. PROC
  1847. pro $p078,0
  1848. loc 34
  1849. ste 4
  1850. ret 0
  1851. end
  1852. TEST 079: test ads WS
  1853. MAIN 20
  1854. lal -6
  1855. loc -2
  1856. ads WS
  1857. lal -8
  1858. cmp
  1859. zne *1
  1860. OK
  1861. lal -6
  1862. loc 2
  1863. ads WS
  1864. lal -4
  1865. cmp
  1866. zne *1
  1867. OK
  1868. ; test adp
  1869. lal -5
  1870. adp 1
  1871. lal -4
  1872. cmp
  1873. zne *1
  1874. OK
  1875. TEST 080: test sbs
  1876. HOL 12
  1877. MAIN 20
  1878. lal -4
  1879. lal -6
  1880. sbs WS
  1881. loc 2
  1882. bne *1
  1883. OK
  1884. lae 7
  1885. lae 10
  1886. sbs WS
  1887. loc -3
  1888. bne *1
  1889. OK
  1890. TEST 081: test lor
  1891. #define LB 0
  1892. #define SP 1
  1893. MAIN 20
  1894. lor LB
  1895. lxl 0
  1896. cmp
  1897. zne *1
  1898. OK
  1899. loc 31
  1900. lor SP
  1901. loi WS
  1902. bne *1
  1903. OK
  1904. lor SP
  1905. lal -12
  1906. sti PS
  1907. asp -4
  1908. lor SP
  1909. lal -8
  1910. sti PS
  1911. asp 4
  1912. lal -12
  1913. loi PS
  1914. lal -8
  1915. loi PS
  1916. sbs WS
  1917. loc 4
  1918. bne *1
  1919. OK
  1920. TEST 082: test ass WS
  1921. #define SP 1
  1922. MAIN 20
  1923. loc 104
  1924. loc 50
  1925. loc 60
  1926. loc 2*WS
  1927. ass WS
  1928. loc 104
  1929. bne *1
  1930. OK
  1931. lor SP
  1932. lal -8
  1933. sti PS
  1934. loc -24
  1935. ass WS
  1936. lor SP
  1937. lal -4
  1938. sti PS
  1939. lal -8
  1940. loi PS
  1941. lal -4
  1942. loi PS
  1943. sbs WS
  1944. loc 24
  1945. bne *1
  1946. loc 24
  1947. ass WS
  1948. OK
  1949. lor SP
  1950. lal -8
  1951. loi PS
  1952. cmp
  1953. zne *1
  1954. OK
  1955. TEST 083: test blm
  1956. HOL 28
  1957. MAIN 32
  1958. loc 61
  1959. ste 12
  1960. loc 0
  1961. stl -4
  1962. lae 12
  1963. lal -4
  1964. blm WS
  1965. lol -4
  1966. loc 61
  1967. bne *1
  1968. OK
  1969. loc 44
  1970. loc 43
  1971. loc 42
  1972. loc 41
  1973. lal -20
  1974. sti 4*WS
  1975. lal -20
  1976. lae 8
  1977. blm 4*WS
  1978. loe 8
  1979. loc 41
  1980. bne *1
  1981. loe 8+WS
  1982. loc 42
  1983. bne *1
  1984. loe 8+(2*WS)
  1985. loc 43
  1986. bne *1
  1987. loe 8+(3*WS)
  1988. loc 44
  1989. bne *1
  1990. OK
  1991. TEST 084: test bls WS
  1992. HOL 28
  1993. MAIN 32
  1994. loc 20
  1995. stl -8
  1996. lal -8
  1997. lae 20
  1998. loc WS
  1999. bls WS
  2000. loe 20
  2001. loc 20
  2002. bne *1
  2003. OK
  2004. loc 55
  2005. stl -8+WS
  2006. loc 56
  2007. stl -8
  2008. lal -8
  2009. lae 20
  2010. loc 2*WS
  2011. bls WS
  2012. loe 20
  2013. loc 56
  2014. bne *1
  2015. loe 20+WS
  2016. loc 55
  2017. bne *1
  2018. OK
  2019. TEST 085: test dup
  2020. MAIN 0
  2021. loc 199
  2022. dup WS
  2023. bne *1
  2024. OK
  2025. loc 130
  2026. loc 150
  2027. dup 2*WS
  2028. loc 150
  2029. bne *1
  2030. loc 130
  2031. bne *1
  2032. loc 150
  2033. bne *1
  2034. loc 130
  2035. bne *1
  2036. OK
  2037. ; test dus WS
  2038. loc 400
  2039. loc 399
  2040. loc 2*WS
  2041. dus WS
  2042. loc 399
  2043. bne *1
  2044. loc 400
  2045. bne *1
  2046. loc 399
  2047. bne *1
  2048. loc 400
  2049. bne *1
  2050. OK
  2051. TEST 087: test rck
  2052. a087
  2053. con 10,14
  2054. MAIN 12
  2055. loc 10
  2056. lae a087
  2057. rck WS
  2058. inc
  2059. lae a087
  2060. rck WS
  2061. inc
  2062. lae a087
  2063. rck WS
  2064. inc
  2065. lae a087
  2066. rck WS
  2067. inc
  2068. lae a087
  2069. rck WS
  2070. stl -4
  2071. OK
  2072. TEST 088: test csa
  2073. MAIN 20
  2074. a088
  2075. con *1088,4,2,*3088,*2088,*4088
  2076. zrl -8
  2077. loc 4
  2078. 5088
  2079. inc
  2080. dup WS
  2081. lae a088
  2082. csa WS
  2083. bra *1
  2084. 3088
  2085. bra *1
  2086. 2088
  2087. lol -8
  2088. loc 3
  2089. adi WS
  2090. stl -8
  2091. bra *5088
  2092. 1088
  2093. inl -8
  2094. bra *6088
  2095. 4088
  2096. lol -8
  2097. loc 2
  2098. adi WS
  2099. stl -8
  2100. bra *5088
  2101. 6088
  2102. loc 7
  2103. bne *1
  2104. OK
  2105. lol -8
  2106. loc 6
  2107. bne *1
  2108. OK
  2109. TEST 089: test csb
  2110. MAIN 20
  2111. b089
  2112. rom *1089,3,-1,*3089,0,*2089,1,*4089
  2113. loc -1
  2114. zrl -12
  2115. 5089
  2116. inc
  2117. dup WS
  2118. lae b089
  2119. csb WS
  2120. bra *1
  2121. 3089
  2122. bra *1
  2123. 2089
  2124. lol -12
  2125. loc 3
  2126. adi WS
  2127. stl -12
  2128. bra *5089
  2129. 1089
  2130. inl -12
  2131. bra *6089
  2132. 4089
  2133. lol -12
  2134. loc 2
  2135. adi WS
  2136. stl -12
  2137. bra *5089
  2138. 6089
  2139. loc 2
  2140. bne *1
  2141. OK
  2142. lol -12
  2143. loc 6
  2144. bne *1
  2145. OK
  2146. TEST 090: now test loi again, because it is so tricky
  2147. MAIN 20
  2148. loc 256
  2149. lal -3
  2150. sti 1
  2151. loc 1
  2152. lal -4
  2153. sti 1
  2154. loc 517
  2155. lal -5
  2156. sti 1
  2157. loc 2
  2158. lal -6
  2159. sti 1
  2160. loc 1030
  2161. lal -8
  2162. sti 2
  2163. loc 4
  2164. lal -9
  2165. sti 1
  2166. lal -3
  2167. loi 1
  2168. loc 0
  2169. bne *1
  2170. OK
  2171. lal -3
  2172. adp -1
  2173. loi 1
  2174. loc 1
  2175. bne *1
  2176. OK
  2177. lal -3
  2178. adp -2
  2179. loi 1
  2180. loc 5
  2181. bne *1
  2182. OK
  2183. lal -3
  2184. adp -3
  2185. loi 1
  2186. loc 2
  2187. bne *1
  2188. OK
  2189. lal -4
  2190. adp -4
  2191. loi 2
  2192. loc 1030
  2193. bne *1
  2194. OK
  2195. lal -6
  2196. adp -3
  2197. loi 1
  2198. loc 4
  2199. bne *1
  2200. OK
  2201. TEST 091: now test sti 1 again
  2202. MAIN 12
  2203. loc 3
  2204. loc 2
  2205. loc 1
  2206. loc 7
  2207. loc 8
  2208. loc 10
  2209. lal -4
  2210. sti 1
  2211. lal -4
  2212. adp -1
  2213. sti 1
  2214. lal -4
  2215. adp -2
  2216. sti 1
  2217. lal -4
  2218. adp -3
  2219. sti 1
  2220. lal -4
  2221. adp -4
  2222. sti 1
  2223. lal -4
  2224. adp -5
  2225. sti 1
  2226. lal -4
  2227. loi 1
  2228. loc 10
  2229. bne *1
  2230. OK
  2231. lal -6
  2232. loi 1
  2233. loc 7
  2234. bne *1
  2235. OK
  2236. lal -8
  2237. loi 1
  2238. loc 2
  2239. bne *1
  2240. OK
  2241. TEST 092: test ldc and cii
  2242. MAIN 0
  2243. #ifdef W2S
  2244. ldc 0
  2245. bne *1
  2246. OK
  2247. ldc 1
  2248. loc 1
  2249. loc WS
  2250. loc W2S
  2251. cii
  2252. cmi W2S
  2253. zne *1
  2254. OK
  2255. ldc -1
  2256. loc -1
  2257. loc WS
  2258. loc W2S
  2259. cii
  2260. cmi W2S
  2261. zne *1
  2262. OK
  2263. loc -1
  2264. ldc -1
  2265. loc W2S
  2266. loc WS
  2267. cii
  2268. cmi WS
  2269. zne *1
  2270. OK
  2271. #if WS == 1
  2272. ldc -127
  2273. loc -127
  2274. #endif
  2275. #if WS == 2
  2276. ldc -32767
  2277. loc -32767
  2278. #endif
  2279. #if WS == 4
  2280. ldc -2147483647
  2281. loc -2147483647
  2282. #endif
  2283. loc WS
  2284. loc W2S
  2285. cii
  2286. cmi W2S
  2287. zne *1
  2288. OK
  2289. ldc -1
  2290. loc -1
  2291. bne *1
  2292. OK
  2293. loc -1
  2294. bne *1
  2295. OK
  2296. ldc 1
  2297. zeq *1092
  2298. ; low order part on top of stack
  2299. loc 0
  2300. bne *1
  2301. OK
  2302. bra *2092
  2303. ; high order part on top of stack
  2304. 1092
  2305. loc 1
  2306. bne *1
  2307. OK
  2308. 2092
  2309. #endif
  2310. TEST 093: test cii
  2311. MAIN 0
  2312. loc 123
  2313. dup WS
  2314. loc WS
  2315. dup WS
  2316. cii
  2317. bne *1
  2318. OK
  2319. #ifdef W2S
  2320. loc 0
  2321. loc WS
  2322. loc W2S
  2323. cii
  2324. loc 0
  2325. bne *1
  2326. loc 0
  2327. bne *1
  2328. OK
  2329. ; dynamically determine format of doubles
  2330. loc 1
  2331. loc WS
  2332. loc W2S
  2333. cii
  2334. zeq *1093
  2335. ; low order part on top of stack
  2336. loc 0
  2337. bne *1
  2338. OK
  2339. loc -3
  2340. loc WS
  2341. loc W2S
  2342. cii
  2343. loc -3
  2344. bne *1
  2345. loc -1
  2346. bne *1
  2347. OK
  2348. bra *2093
  2349. ; high order part on top of stack
  2350. 1093
  2351. loc 1
  2352. bne *1
  2353. OK
  2354. loc -3
  2355. loc WS
  2356. loc W2S
  2357. cii
  2358. loc -1
  2359. bne *1
  2360. loc -3
  2361. bne *1
  2362. OK
  2363. 2093
  2364. #endif
  2365. TEST 094: test adi W2S
  2366. MAIN 0
  2367. #ifdef W2S
  2368. ldc 1
  2369. ldc 1
  2370. adi W2S
  2371. ldc 2
  2372. cmi W2S
  2373. zne *1
  2374. OK
  2375. ldc 5
  2376. ldc -6
  2377. adi W2S
  2378. ldc -1
  2379. cmi W2S
  2380. zne *1
  2381. OK
  2382. ldc -1007
  2383. ldc +999
  2384. adi W2S
  2385. ldc -8
  2386. cmi W2S
  2387. zne *1
  2388. OK
  2389. ldc -1300
  2390. ldc +1405
  2391. adi W2S
  2392. ldc 105
  2393. cmi W2S
  2394. zne *1
  2395. OK
  2396. ldc -30000
  2397. ldc -20
  2398. adi W2S
  2399. ldc -30020
  2400. cmi W2S
  2401. zne *1
  2402. OK
  2403. #if WS >= 2
  2404. ldc -100007
  2405. ldc +99999
  2406. adi W2S
  2407. ldc -8
  2408. cmi W2S
  2409. zne *1
  2410. OK
  2411. ldc -1300
  2412. ldc +140567
  2413. adi W2S
  2414. ldc 139267
  2415. cmi W2S
  2416. zne *1
  2417. OK
  2418. ldc -30000000
  2419. ldc -20
  2420. adi W2S
  2421. ldc -30000020
  2422. cmi W2S
  2423. zne *1
  2424. OK
  2425. #endif
  2426. #endif
  2427. TEST 095: test sbi W2S
  2428. MAIN 0
  2429. #ifdef W2S
  2430. ldc 1
  2431. ldc 1
  2432. sbi W2S
  2433. ldc 0
  2434. cmi W2S
  2435. zne *1
  2436. OK
  2437. ldc 5
  2438. ldc -6
  2439. sbi W2S
  2440. ldc +11
  2441. cmi W2S
  2442. zne *1
  2443. OK
  2444. ldc -1007
  2445. ldc +999
  2446. sbi W2S
  2447. ldc -2006
  2448. cmi W2S
  2449. zne *1
  2450. OK
  2451. ldc -1300
  2452. ldc +1405
  2453. sbi W2S
  2454. ldc -2705
  2455. cmi W2S
  2456. zne *1
  2457. OK
  2458. ldc -30000
  2459. ldc -20
  2460. sbi W2S
  2461. ldc -29980
  2462. cmi W2S
  2463. zne *1
  2464. OK
  2465. #if WS >= 2
  2466. ldc -100007
  2467. ldc +99999
  2468. sbi W2S
  2469. ldc -200006
  2470. cmi W2S
  2471. zne *1
  2472. OK
  2473. ldc -1300
  2474. ldc +140567
  2475. sbi W2S
  2476. ldc -141867
  2477. cmi W2S
  2478. zne *1
  2479. OK
  2480. ldc -30000000
  2481. ldc -20
  2482. sbi W2S
  2483. ldc -29999980
  2484. cmi W2S
  2485. zne *1
  2486. OK
  2487. #endif
  2488. #endif
  2489. TEST 096: test mli W2S
  2490. MAIN 0
  2491. #ifdef W2S
  2492. ldc 5
  2493. ldc 9
  2494. mli W2S
  2495. ldc 45
  2496. cmi W2S
  2497. zne *1
  2498. OK
  2499. ldc 0
  2500. ldc 10
  2501. mli W2S
  2502. ldc 0
  2503. cmi W2S
  2504. zne *1
  2505. OK
  2506. ldc -99
  2507. ldc 7
  2508. mli W2S
  2509. ldc -693
  2510. cmi W2S
  2511. zne *1
  2512. OK
  2513. ldc -100
  2514. ldc -90
  2515. mli W2S
  2516. ldc 9000
  2517. cmi W2S
  2518. zne *1
  2519. OK
  2520. #if WS >= 2
  2521. ldc 123456
  2522. ldc 200
  2523. mli W2S
  2524. ldc 24691200
  2525. cmi W2S
  2526. zne *1
  2527. OK
  2528. #endif
  2529. #endif
  2530. TEST 097: test dvi W2S
  2531. MAIN 0
  2532. #ifdef W2S
  2533. ldc 15
  2534. ldc 5
  2535. dvi W2S
  2536. ldc 3
  2537. cmi W2S
  2538. zne *1
  2539. OK
  2540. ldc 100
  2541. ldc -7
  2542. dvi W2S
  2543. ldc -14
  2544. cmi W2S
  2545. zne *1
  2546. OK
  2547. ldc -100
  2548. ldc 7
  2549. dvi W2S
  2550. ldc -14
  2551. cmi W2S
  2552. zne *1
  2553. OK
  2554. ldc -1000
  2555. ldc -201
  2556. dvi W2S
  2557. ldc 4
  2558. cmi W2S
  2559. zne *1
  2560. OK
  2561. #if WS >= 2
  2562. ldc 1234567
  2563. ldc -100
  2564. dvi W2S
  2565. ldc -12345
  2566. cmi W2S
  2567. zne *1
  2568. OK
  2569. #endif
  2570. #endif
  2571. TEST 098: test rmi W2S
  2572. MAIN 0
  2573. #ifdef W2S
  2574. ldc 100
  2575. ldc 7
  2576. rmi W2S
  2577. ldc 2
  2578. cmi W2S
  2579. zne *1
  2580. OK
  2581. ldc -100
  2582. ldc 7
  2583. rmi W2S
  2584. ldc -2
  2585. cmi W2S
  2586. zne *1
  2587. OK
  2588. ldc 100
  2589. ldc -7
  2590. rmi W2S
  2591. ldc 2
  2592. cmi W2S
  2593. zne *1
  2594. OK
  2595. ldc -100
  2596. ldc -7
  2597. rmi W2S
  2598. ldc -2
  2599. cmi W2S
  2600. zne *1
  2601. OK
  2602. ldc -1000
  2603. ldc -201
  2604. rmi W2S
  2605. ldc -196
  2606. cmi W2S
  2607. zne *1
  2608. OK
  2609. #if WS >= 4
  2610. ldc 1234567
  2611. ldc -100
  2612. rmi W2S
  2613. ldc 67
  2614. cmi W2S
  2615. zne *1
  2616. OK
  2617. #endif
  2618. #endif
  2619. TEST 099: test and
  2620. MAIN 0
  2621. loc 68
  2622. loc 65
  2623. and WS
  2624. loc 64
  2625. bne *1
  2626. OK
  2627. loc 17
  2628. loc 34
  2629. loc 3
  2630. loc 36
  2631. and 2*WS
  2632. loc 32
  2633. bne *1
  2634. loc 1
  2635. bne *1
  2636. OK
  2637. loc 17
  2638. loc 34
  2639. loc 68
  2640. loc -120
  2641. loc 1
  2642. loc 37
  2643. loc 12
  2644. loc -127
  2645. and 4*WS
  2646. loc -128
  2647. bne *1
  2648. loc 4
  2649. bne *1
  2650. loc 32
  2651. bne *1
  2652. loc 1
  2653. bne *1
  2654. OK
  2655. TEST 100: test ior
  2656. MAIN 0
  2657. loc 68
  2658. loc 65
  2659. ior WS
  2660. loc 69
  2661. bne *1
  2662. OK
  2663. loc 17
  2664. loc 34
  2665. loc 3
  2666. loc 36
  2667. ior 2*WS
  2668. loc 38
  2669. bne *1
  2670. loc 19
  2671. bne *1
  2672. OK
  2673. loc 17
  2674. loc 34
  2675. loc 68
  2676. loc -120
  2677. loc 1
  2678. loc 37
  2679. loc 12
  2680. loc -127
  2681. ior 4*WS
  2682. loc -119
  2683. bne *1
  2684. loc 76
  2685. bne *1
  2686. loc 39
  2687. bne *1
  2688. loc 17
  2689. bne *1
  2690. OK
  2691. TEST 101: test xor
  2692. MAIN 0
  2693. loc 68
  2694. loc 65
  2695. xor WS
  2696. loc 5
  2697. bne *1
  2698. OK
  2699. loc 17
  2700. loc 34
  2701. loc 3
  2702. loc 36
  2703. xor 2*WS
  2704. loc 6
  2705. bne *1
  2706. loc 18
  2707. bne *1
  2708. OK
  2709. loc 17
  2710. loc 34
  2711. loc 68
  2712. loc -120
  2713. loc 1
  2714. loc 37
  2715. loc 12
  2716. loc -127
  2717. xor 4*WS
  2718. loc 9
  2719. bne *1
  2720. loc 72
  2721. bne *1
  2722. loc 7
  2723. bne *1
  2724. loc 16
  2725. bne *1
  2726. OK
  2727. TEST 102: test com
  2728. MAIN 0
  2729. loc 68
  2730. com WS
  2731. loc -69
  2732. bne *1
  2733. OK
  2734. loc 17
  2735. loc 34
  2736. com 2*WS
  2737. loc -35
  2738. bne *1
  2739. loc -18
  2740. bne *1
  2741. OK
  2742. loc 17
  2743. loc 34
  2744. loc 68
  2745. loc -120
  2746. com 4*WS
  2747. loc 119
  2748. bne *1
  2749. loc -69
  2750. bne *1
  2751. loc -35
  2752. bne *1
  2753. loc -18
  2754. bne *1
  2755. OK
  2756. TEST 103: test sli,slu W2S
  2757. MAIN 0
  2758. #ifdef W2S
  2759. ldc 5
  2760. loc 3
  2761. sli W2S
  2762. ldc 40
  2763. cmi W2S
  2764. zne *1
  2765. OK
  2766. ldc -2
  2767. loc 4
  2768. sli W2S
  2769. ldc -32
  2770. cmi W2S
  2771. zne *1
  2772. OK
  2773. ldc 5
  2774. loc 3
  2775. slu W2S
  2776. ldc 40
  2777. cmi W2S
  2778. zne *1
  2779. OK
  2780. ldc -2
  2781. loc 4
  2782. slu W2S
  2783. ldc -32
  2784. cmi W2S
  2785. zne *1
  2786. OK
  2787. #endif
  2788. TEST 104: test sri,sru W2S
  2789. MAIN 0
  2790. #ifdef W2S
  2791. ldc 64
  2792. loc 5
  2793. sri W2S
  2794. ldc 2
  2795. cmi W2S
  2796. zne *1
  2797. OK
  2798. ldc -3
  2799. loc 2
  2800. sri W2S
  2801. ldc -1
  2802. cmi W2S
  2803. zne *1
  2804. OK
  2805. ldc -16
  2806. loc 3
  2807. sri W2S
  2808. ldc -2
  2809. cmi W2S
  2810. zne *1
  2811. OK
  2812. ldc 64
  2813. loc 5
  2814. sru W2S
  2815. ldc 2
  2816. cmi W2S
  2817. zne *1
  2818. OK
  2819. ldc -3
  2820. loc 2
  2821. sru W2S
  2822. #if W2S == 2
  2823. ldc 16383
  2824. #endif
  2825. #if W2S == 4
  2826. ldc 1073741823
  2827. #endif
  2828. cmi W2S
  2829. zne *1
  2830. OK
  2831. #endif
  2832. TEST 105: common test of double arithmetic
  2833. MAIN 0
  2834. #ifdef W2S
  2835. ldc 1000
  2836. ldc 10
  2837. mli W2S
  2838. ldc 4
  2839. dvi W2S
  2840. ldc 1500
  2841. adi W2S
  2842. ldc 2856
  2843. sbi W2S
  2844. ldc 100
  2845. rmi W2S
  2846. ldc 44
  2847. cmi W2S
  2848. zne *1
  2849. OK
  2850. #endif
  2851. TEST 106: test cmi W2S
  2852. MAIN 0
  2853. #if W2S==2
  2854. ldc 64
  2855. ldc 4
  2856. mli W2S
  2857. ldc 63
  2858. ldc 4
  2859. mli W2S
  2860. cmi W2S
  2861. tge
  2862. loc 1
  2863. bne *1
  2864. OK
  2865. #endif
  2866. #if W2S==4
  2867. ldc 16384
  2868. ldc 4
  2869. mli W2S
  2870. ldc 16383
  2871. ldc 4
  2872. mli W2S
  2873. cmi W2S
  2874. tge
  2875. loc 1
  2876. bne *1
  2877. OK
  2878. #endif
  2879. TEST 107: test cii W2S -> WS
  2880. MAIN 0
  2881. #ifdef W2S
  2882. ldc 100
  2883. loc W2S
  2884. loc WS
  2885. cii
  2886. loc 100
  2887. bne *1
  2888. OK
  2889. ldc 5000
  2890. ldc -6
  2891. mli W2S
  2892. ldc 1000
  2893. dvi W2S
  2894. loc W2S
  2895. loc WS
  2896. cii
  2897. loc -30
  2898. bne *1
  2899. OK
  2900. #endif
  2901. TEST 108: test cif, cfi, adf FS
  2902. MAIN 0
  2903. #ifdef FS
  2904. loc 100
  2905. loc WS
  2906. loc FS
  2907. cif
  2908. loc 44
  2909. loc WS
  2910. loc FS
  2911. cif
  2912. adf FS
  2913. loc FS
  2914. loc WS
  2915. cfi
  2916. loc 144
  2917. bne *1
  2918. OK
  2919. loc 65
  2920. loc WS
  2921. loc FS
  2922. cif
  2923. loc -65
  2924. loc WS
  2925. loc FS
  2926. cif
  2927. adf FS
  2928. loc FS
  2929. loc WS
  2930. cfi
  2931. loc 0
  2932. bne *1
  2933. OK
  2934. #endif
  2935. TEST 109: test cdf, cfd
  2936. MAIN 0
  2937. #ifdef FS
  2938. #ifdef W2S
  2939. loc 55
  2940. loc WS
  2941. loc W2S
  2942. cii
  2943. loc W2S
  2944. loc FS
  2945. cif
  2946. loc 55
  2947. loc WS
  2948. loc FS
  2949. cif
  2950. cmf FS
  2951. zne *1
  2952. OK
  2953. loc 24
  2954. loc WS
  2955. loc FS
  2956. cif
  2957. loc FS
  2958. loc W2S
  2959. cfi
  2960. loc W2S
  2961. loc WS
  2962. cii
  2963. loc 24
  2964. bne *1
  2965. OK
  2966. loc 57
  2967. loc WS
  2968. loc FS
  2969. cif
  2970. loc FS
  2971. loc W2S
  2972. cfi
  2973. loc W2S
  2974. loc WS
  2975. cii
  2976. loc 57
  2977. bne *1
  2978. OK
  2979. loc 40
  2980. loc WS
  2981. loc W2S
  2982. cii
  2983. loc W2S
  2984. loc FS
  2985. cif
  2986. loc FS
  2987. loc WS
  2988. cfi
  2989. loc 40
  2990. bne *1
  2991. OK
  2992. #endif
  2993. #endif
  2994. TEST 110: test sbf FS
  2995. MAIN 0
  2996. #ifdef FS
  2997. loc 100
  2998. loc WS
  2999. loc FS
  3000. cif
  3001. loc 50
  3002. loc WS
  3003. loc FS
  3004. cif
  3005. sbf FS
  3006. loc FS
  3007. loc WS
  3008. cfi
  3009. loc 50
  3010. bne *1
  3011. OK
  3012. loc 32
  3013. loc WS
  3014. loc FS
  3015. cif
  3016. loc 101
  3017. loc WS
  3018. loc FS
  3019. cif
  3020. sbf FS
  3021. loc -69
  3022. loc WS
  3023. loc FS
  3024. cif
  3025. cmf FS
  3026. zne *1
  3027. OK
  3028. #endif
  3029. TEST 111: test mlf FS
  3030. MAIN 0
  3031. #ifdef FS
  3032. loc 4
  3033. loc WS
  3034. loc FS
  3035. cif
  3036. loc 20
  3037. loc WS
  3038. loc FS
  3039. cif
  3040. mlf FS
  3041. loc FS
  3042. loc WS
  3043. cfi
  3044. loc 80
  3045. bne *1
  3046. OK
  3047. loc -12
  3048. loc WS
  3049. loc FS
  3050. cif
  3051. loc -9
  3052. loc WS
  3053. loc FS
  3054. cif
  3055. mlf FS
  3056. loc FS
  3057. loc WS
  3058. cfi
  3059. loc 108
  3060. bne *1
  3061. OK
  3062. #endif
  3063. TEST 112: test dvf FS
  3064. MAIN 0
  3065. #ifdef FS
  3066. loc 45
  3067. loc WS
  3068. loc FS
  3069. cif
  3070. loc 9
  3071. loc WS
  3072. loc FS
  3073. cif
  3074. dvf FS
  3075. loc 5
  3076. loc WS
  3077. loc FS
  3078. cif
  3079. cmf FS
  3080. zne *1
  3081. OK
  3082. loc -60
  3083. loc WS
  3084. loc FS
  3085. cif
  3086. loc 7
  3087. loc WS
  3088. loc FS
  3089. cif
  3090. dvf FS
  3091. loc FS
  3092. loc WS
  3093. cfi
  3094. loc -8
  3095. bne *1
  3096. OK
  3097. #endif
  3098. TEST 113: test fractions using FS floating arithmetic
  3099. MAIN 0
  3100. #ifdef FS
  3101. loc 7
  3102. loc WS
  3103. loc FS
  3104. cif
  3105. loc 2
  3106. loc WS
  3107. loc FS
  3108. cif
  3109. dvf FS
  3110. loc FS
  3111. loc WS
  3112. cfi
  3113. loc 3
  3114. bne *1
  3115. OK
  3116. loc -7
  3117. loc WS
  3118. loc FS
  3119. cif
  3120. loc 2
  3121. loc WS
  3122. loc FS
  3123. cif
  3124. dvf FS
  3125. loc FS
  3126. loc WS
  3127. cfi
  3128. loc -3
  3129. bne *1
  3130. OK
  3131. loc 11
  3132. loc WS
  3133. loc FS
  3134. cif
  3135. loc 2
  3136. loc WS
  3137. loc FS
  3138. cif
  3139. dvf FS
  3140. loc 5
  3141. loc WS
  3142. loc FS
  3143. cif
  3144. mlf FS
  3145. loc 4
  3146. loc WS
  3147. loc FS
  3148. cif
  3149. mlf FS
  3150. loc 110
  3151. loc WS
  3152. loc FS
  3153. cif
  3154. cmf FS
  3155. zne *1
  3156. OK
  3157. #endif
  3158. TEST 114: test cif, cfi, adf F2S
  3159. MAIN 0
  3160. #ifdef F2S
  3161. loc 10
  3162. loc WS
  3163. loc F2S
  3164. cif
  3165. loc 44
  3166. loc WS
  3167. loc F2S
  3168. cif
  3169. adf F2S
  3170. loc F2S
  3171. loc WS
  3172. cfi
  3173. loc 54
  3174. bne *1
  3175. OK
  3176. loc 65
  3177. loc WS
  3178. loc F2S
  3179. cif
  3180. loc -65
  3181. loc WS
  3182. loc F2S
  3183. cif
  3184. adf F2S
  3185. loc F2S
  3186. loc WS
  3187. cfi
  3188. loc 0
  3189. bne *1
  3190. OK
  3191. #endif
  3192. TEST 115: test cif, cfi W2S F2S
  3193. MAIN 0
  3194. #ifdef F2S
  3195. #ifdef W2S
  3196. loc 55
  3197. loc WS
  3198. loc W2S
  3199. cii
  3200. loc W2S
  3201. loc F2S
  3202. cif
  3203. loc 55
  3204. loc WS
  3205. loc F2S
  3206. cif
  3207. cmf F2S
  3208. zne *1
  3209. OK
  3210. loc 24
  3211. loc WS
  3212. loc F2S
  3213. cif
  3214. loc F2S
  3215. loc W2S
  3216. cfi
  3217. loc W2S
  3218. loc WS
  3219. cii
  3220. loc 24
  3221. bne *1
  3222. OK
  3223. loc 57
  3224. loc WS
  3225. loc F2S
  3226. cif
  3227. loc F2S
  3228. loc W2S
  3229. cfi
  3230. loc W2S
  3231. loc WS
  3232. cii
  3233. loc 57
  3234. bne *1
  3235. OK
  3236. loc 41
  3237. loc WS
  3238. loc W2S
  3239. cii
  3240. loc W2S
  3241. loc F2S
  3242. cif
  3243. loc F2S
  3244. loc WS
  3245. cfi
  3246. loc 41
  3247. bne *1
  3248. OK
  3249. #endif
  3250. #endif
  3251. TEST 116: test sbf F2S
  3252. MAIN 0
  3253. #ifdef F2S
  3254. loc 100
  3255. loc WS
  3256. loc F2S
  3257. cif
  3258. loc 50
  3259. loc WS
  3260. loc F2S
  3261. cif
  3262. sbf F2S
  3263. loc F2S
  3264. loc WS
  3265. cfi
  3266. loc 50
  3267. bne *1
  3268. OK
  3269. loc 32
  3270. loc WS
  3271. loc F2S
  3272. cif
  3273. loc 101
  3274. loc WS
  3275. loc F2S
  3276. cif
  3277. sbf F2S
  3278. loc -69
  3279. loc WS
  3280. loc F2S
  3281. cif
  3282. cmf F2S
  3283. zne *1
  3284. OK
  3285. #endif
  3286. TEST 117: test fmu F2S
  3287. MAIN 0
  3288. #ifdef F2S
  3289. loc 4
  3290. loc WS
  3291. loc F2S
  3292. cif
  3293. loc 20
  3294. loc WS
  3295. loc F2S
  3296. cif
  3297. mlf F2S
  3298. loc F2S
  3299. loc WS
  3300. cfi
  3301. loc 80
  3302. bne *1
  3303. OK
  3304. loc -20
  3305. loc WS
  3306. loc F2S
  3307. cif
  3308. loc -6
  3309. loc WS
  3310. loc F2S
  3311. cif
  3312. mlf F2S
  3313. loc F2S
  3314. loc WS
  3315. cfi
  3316. loc 120
  3317. bne *1
  3318. OK
  3319. #endif
  3320. TEST 118: test dvf F2S
  3321. MAIN 0
  3322. #ifdef F2S
  3323. loc 45
  3324. loc WS
  3325. loc F2S
  3326. cif
  3327. loc 9
  3328. loc WS
  3329. loc F2S
  3330. cif
  3331. dvf F2S
  3332. loc 5
  3333. loc WS
  3334. loc F2S
  3335. cif
  3336. cmf F2S
  3337. zne *1
  3338. OK
  3339. loc -60
  3340. loc WS
  3341. loc F2S
  3342. cif
  3343. loc 7
  3344. loc WS
  3345. loc F2S
  3346. cif
  3347. dvf F2S
  3348. loc F2S
  3349. loc WS
  3350. cfi
  3351. loc -8
  3352. bne *1
  3353. OK
  3354. #endif
  3355. TEST 119: test fractions using F2S floating arithmetic
  3356. MAIN 0
  3357. #ifdef F2S
  3358. loc 7
  3359. loc WS
  3360. loc F2S
  3361. cif
  3362. loc 2
  3363. loc WS
  3364. loc F2S
  3365. cif
  3366. dvf F2S
  3367. loc F2S
  3368. loc WS
  3369. cfi
  3370. loc 3
  3371. bne *1
  3372. OK
  3373. loc -7
  3374. loc WS
  3375. loc F2S
  3376. cif
  3377. loc 2
  3378. loc WS
  3379. loc F2S
  3380. cif
  3381. dvf F2S
  3382. loc F2S
  3383. loc WS
  3384. cfi
  3385. loc -3
  3386. bne *1
  3387. OK
  3388. loc 11
  3389. loc WS
  3390. loc F2S
  3391. cif
  3392. loc 2
  3393. loc WS
  3394. loc F2S
  3395. cif
  3396. dvf F2S
  3397. loc 5
  3398. loc WS
  3399. loc F2S
  3400. cif
  3401. mlf F2S
  3402. loc 4
  3403. loc WS
  3404. loc F2S
  3405. cif
  3406. mlf F2S
  3407. loc 110
  3408. loc WS
  3409. loc F2S
  3410. cif
  3411. cmf F2S
  3412. zne *1
  3413. OK
  3414. #endif
  3415. TEST 120: test cal
  3416. HOL 8
  3417. MAIN 0
  3418. loc 0
  3419. ste 4
  3420. cal $p120
  3421. loe 4
  3422. loc 34
  3423. bne *1
  3424. OK
  3425. PROC
  3426. pro $p120,0
  3427. loc 34
  3428. ste 4
  3429. ret 0
  3430. end
  3431. TEST 121: test cal
  3432. MAIN 0
  3433. cal $p121
  3434. lfr WS
  3435. loc 7
  3436. bne *1
  3437. OK
  3438. PROC
  3439. pro $p121,0
  3440. loc 7
  3441. ret WS
  3442. end
  3443. TEST 122: test cal
  3444. MAIN 0
  3445. loc 7
  3446. cal $p122
  3447. asp WS
  3448. lfr WS
  3449. loc 7
  3450. bne *1
  3451. OK
  3452. PROC
  3453. pro $p122,0
  3454. lol 0
  3455. ret WS
  3456. end
  3457. TEST 123: test cal
  3458. MAIN 4
  3459. loc 7
  3460. stl -4
  3461. lor 0
  3462. cal $p123
  3463. asp PS
  3464. lfr WS
  3465. loc 7
  3466. bne *1
  3467. OK
  3468. lxl 0
  3469. cal $p123
  3470. asp PS
  3471. lfr WS
  3472. loc 7
  3473. bne *1
  3474. OK
  3475. PROC
  3476. pro $p123,0
  3477. lxl 1
  3478. lof -4
  3479. ret WS
  3480. end
  3481. TEST 124: test cal
  3482. MAIN 0
  3483. loc 7
  3484. cal $p124
  3485. asp WS
  3486. PROC
  3487. pro $p124,0
  3488. lol 0
  3489. loc 7
  3490. bne *1
  3491. OK
  3492. ret 0
  3493. ERRLAB
  3494. end
  3495. TEST 125: test cal
  3496. MAIN 4
  3497. loc 10
  3498. stl -WS
  3499. loc 90
  3500. lxl 0
  3501. cal $p1125
  3502. asp PS+WS
  3503. OK
  3504. PROC
  3505. pro $p1125,WS
  3506. lol PS
  3507. loc 90
  3508. bne *1
  3509. OK
  3510. loc 11
  3511. stl -WS
  3512. loc 21
  3513. loc 91
  3514. lxl 0
  3515. cal $p2125
  3516. asp PS+WS
  3517. lfr WS
  3518. OK
  3519. loc 82
  3520. bne *1
  3521. OK
  3522. loc 21
  3523. bne *1
  3524. OK
  3525. ret 0
  3526. ERRLAB
  3527. end
  3528. pro $p2125,0
  3529. lol PS
  3530. loc 91
  3531. bne *1
  3532. OK
  3533. loc 12
  3534. loc 92
  3535. lxl 0
  3536. cal $p3125
  3537. asp PS+WS
  3538. lfr WS+WS
  3539. OK
  3540. loc 86
  3541. bne *1
  3542. loc 83
  3543. bne *1
  3544. OK
  3545. loc 12
  3546. bne *1
  3547. OK
  3548. lal PS
  3549. loi WS
  3550. loc 91
  3551. bne *1
  3552. OK
  3553. loc 82
  3554. ret WS
  3555. ERRLAB
  3556. end
  3557. pro $p3125,WS
  3558. lol PS
  3559. loc 92
  3560. bne *1
  3561. OK
  3562. loc 13
  3563. stl -WS
  3564. lxa 0
  3565. adp PS
  3566. loi WS
  3567. loc 92
  3568. bne *1
  3569. OK
  3570. lxa 1
  3571. adp PS
  3572. loi WS
  3573. loc 91
  3574. bne *1
  3575. OK
  3576. lxa 2
  3577. adp PS
  3578. loi WS
  3579. loc 90
  3580. bne *1
  3581. OK
  3582. lxl 2
  3583. lof -WS
  3584. loc 11
  3585. bne *1
  3586. OK
  3587. lxl 3
  3588. adp -WS
  3589. loi WS
  3590. loc 10
  3591. bne *1
  3592. OK
  3593. loc 83
  3594. lxl 1
  3595. cal $p4125
  3596. asp PS
  3597. lxl 2
  3598. cal $p5125
  3599. asp PS
  3600. lxl 3
  3601. cal $p6125
  3602. asp PS
  3603. lfr WS
  3604. ret WS+WS
  3605. ERRLAB
  3606. end
  3607. pro $p4125,0
  3608. lxa 1
  3609. adp PS
  3610. loi WS
  3611. loc 91
  3612. bne *1
  3613. OK
  3614. ret 0
  3615. ERRLAB
  3616. end
  3617. pro $p5125,0
  3618. lxa 1
  3619. adp PS
  3620. loi WS
  3621. loc 90
  3622. bne *1
  3623. OK
  3624. ret 0
  3625. ERRLAB
  3626. end
  3627. pro $p6125,0
  3628. lxl 1
  3629. adp -WS
  3630. loi WS
  3631. loc 10
  3632. bne *1
  3633. OK
  3634. loc 86
  3635. ret WS
  3636. ERRLAB
  3637. end
  3638. TEST 126: test bra
  3639. MAIN 0
  3640. bra *0126
  3641. bra *1
  3642. 9126
  3643. bra *8126
  3644. 0126
  3645. bra *6126
  3646. bra *1
  3647. 1126
  3648. bra *5126
  3649. bra *1
  3650. 2126
  3651. bra *4126
  3652. bra *1
  3653. 3126
  3654. bra *7126
  3655. bra *1
  3656. 4126
  3657. bra *3126
  3658. bra *1
  3659. 5126
  3660. bra *2126
  3661. bra *1
  3662. 6126
  3663. bra *1126
  3664. bra *1
  3665. 7126
  3666. bra *9126
  3667. bra *1
  3668. 8126
  3669. OK
  3670. TEST 127: test ret and lfr
  3671. a127
  3672. bss 4,0,0
  3673. MAIN 0
  3674. ; return nothing
  3675. loc 123
  3676. cal $retw0
  3677. loc 123
  3678. bne *1
  3679. OK
  3680. ; return single word
  3681. cal $retw1
  3682. lfr WS
  3683. loc 45
  3684. bne *1
  3685. OK
  3686. ; return single pointer
  3687. cal $retp1
  3688. lfr PS
  3689. lae a127
  3690. cmp
  3691. zne *1
  3692. OK
  3693. ; return procedure instance identifier (two pointers)
  3694. ; this value may not be disturbed by ASP
  3695. lxl 0
  3696. cal $retp2
  3697. asp PS
  3698. lfr 2*PS
  3699. lpi $retp2
  3700. cmp
  3701. zne *1
  3702. lxl 0
  3703. cmp
  3704. zne *1
  3705. OK
  3706. PROC
  3707. pro $retw0,0
  3708. ret 0
  3709. end
  3710. pro $retw1,0
  3711. loc 45
  3712. ret WS
  3713. end
  3714. pro $retp1,0
  3715. lae a127
  3716. ret PS
  3717. end
  3718. pro $retp2,0
  3719. lxl 1
  3720. lpi $retp2
  3721. ret 2*PS
  3722. end
  3723. TEST 128: test adu WS
  3724. MAIN 0
  3725. loc 1
  3726. loc 1
  3727. adu WS
  3728. loc 2
  3729. bne *1
  3730. OK
  3731. #if WS >= 2
  3732. loc 32767
  3733. loc +999
  3734. adu WS
  3735. loc 33766
  3736. bne *1
  3737. OK
  3738. #endif
  3739. #if WS >= 4
  3740. loc 2147483640
  3741. loc 1111111111
  3742. adu WS
  3743. loc 3258594751
  3744. bne *1
  3745. OK
  3746. #endif
  3747. TEST 129: test sbu WS
  3748. MAIN 0
  3749. loc 1
  3750. loc 1
  3751. sbu WS
  3752. loc 0
  3753. bne *1
  3754. OK
  3755. #if WS >= 2
  3756. loc 32767
  3757. loc -100
  3758. sbu WS
  3759. loc 32867
  3760. bne *1
  3761. OK
  3762. #endif
  3763. #if WS >= 4
  3764. loc 2147483647
  3765. loc -100
  3766. sbu WS
  3767. loc 2147483747
  3768. bne *1
  3769. OK
  3770. #endif
  3771. TEST 130: test mlu WS
  3772. MAIN 0
  3773. loc 5
  3774. loc 9
  3775. mlu WS
  3776. loc 45
  3777. bne *1
  3778. OK
  3779. loc 0
  3780. loc 10
  3781. mlu WS
  3782. loc 0
  3783. bne *1
  3784. OK
  3785. #if WS > 1
  3786. loc 1024
  3787. loc 63
  3788. mlu WS
  3789. loc 64512
  3790. bne *1
  3791. OK
  3792. #endif
  3793. #if WS > 2
  3794. loc 65536
  3795. loc 32768
  3796. mlu WS
  3797. loc 2147483648
  3798. bne *1
  3799. OK
  3800. #endif
  3801. TEST 131: test dvu WS
  3802. MAIN 0
  3803. loc 15
  3804. loc 5
  3805. dvu WS
  3806. loc 3
  3807. bne *1
  3808. OK
  3809. #if WS >= 2
  3810. loc 65530
  3811. loc 100
  3812. dvu WS
  3813. loc 655
  3814. bne *1
  3815. OK
  3816. #endif
  3817. #if WS >= 4
  3818. loc 2447684712
  3819. loc 100
  3820. dvu WS
  3821. loc 24476847
  3822. bne *1
  3823. OK
  3824. #endif
  3825. TEST 132: test rmu WS
  3826. MAIN 0
  3827. loc 15
  3828. loc 5
  3829. rmu WS
  3830. loc 0
  3831. bne *1
  3832. OK
  3833. #if WS >= 2
  3834. loc 65530
  3835. loc 100
  3836. rmu WS
  3837. loc 30
  3838. bne *1
  3839. OK
  3840. #endif
  3841. #if WS >= 4
  3842. loc 2447684712
  3843. loc 100
  3844. rmu WS
  3845. loc 12
  3846. bne *1
  3847. OK
  3848. #endif
  3849. TEST 133: test adu W2S
  3850. MAIN 0
  3851. #ifdef W2S
  3852. ldc 1
  3853. ldc 1
  3854. adu W2S
  3855. ldc 2
  3856. cmu W2S
  3857. zne *1
  3858. OK
  3859. ldc 32767
  3860. ldc +999
  3861. adu W2S
  3862. ldc 33766
  3863. cmu W2S
  3864. zne *1
  3865. OK
  3866. #if WS >= 2
  3867. ldc 2147483640
  3868. ldc 1111111111
  3869. adu W2S
  3870. ldc 3258594751
  3871. cmu W2S
  3872. zne *1
  3873. OK
  3874. #endif
  3875. #endif
  3876. TEST 134: test sbu W2S
  3877. MAIN 0
  3878. #ifdef W2S
  3879. ldc 1
  3880. ldc 1
  3881. sbu W2S
  3882. ldc 0
  3883. cmu W2S
  3884. zne *1
  3885. OK
  3886. ldc 32767
  3887. ldc -100
  3888. sbu W2S
  3889. ldc 32867
  3890. cmu W2S
  3891. zne *1
  3892. OK
  3893. #if WS >= 2
  3894. ldc 2147483647
  3895. ldc -100
  3896. sbu W2S
  3897. ldc 2147483747
  3898. cmu W2S
  3899. zne *1
  3900. OK
  3901. #endif
  3902. #endif
  3903. TEST 135: test mlu W2S
  3904. MAIN 0
  3905. #ifdef W2S
  3906. ldc 5
  3907. ldc 9
  3908. mlu W2S
  3909. ldc 45
  3910. cmu W2S
  3911. zne *1
  3912. OK
  3913. ldc 0
  3914. ldc 10
  3915. mlu W2S
  3916. ldc 0
  3917. cmu W2S
  3918. zne *1
  3919. OK
  3920. #if WS > 1
  3921. ldc 1024
  3922. ldc 63
  3923. mlu W2S
  3924. ldc 64512
  3925. cmu W2S
  3926. zne *1
  3927. OK
  3928. #endif
  3929. #if WS >= 2
  3930. ldc 65536
  3931. ldc 32768
  3932. mlu W2S
  3933. ldc 2147483648
  3934. cmu W2S
  3935. zne *1
  3936. OK
  3937. #endif
  3938. #endif
  3939. TEST 136: test dvu W2S
  3940. MAIN 0
  3941. #ifdef W2S
  3942. ldc 15
  3943. ldc 5
  3944. dvu W2S
  3945. ldc 3
  3946. cmu W2S
  3947. zne *1
  3948. OK
  3949. ldc 65530
  3950. ldc 100
  3951. dvu W2S
  3952. ldc 655
  3953. cmu W2S
  3954. zne *1
  3955. OK
  3956. #if WS >= 2
  3957. ldc 2447684712
  3958. ldc 100
  3959. dvu W2S
  3960. ldc 24476847
  3961. cmu W2S
  3962. zne *1
  3963. OK
  3964. #endif
  3965. #endif
  3966. TEST 137: test rmu W2S
  3967. MAIN 0
  3968. #ifdef W2S
  3969. ldc 15
  3970. ldc 5
  3971. rmu W2S
  3972. ldc 0
  3973. cmu W2S
  3974. zne *1
  3975. OK
  3976. #if WS >= 2
  3977. ldc 65530
  3978. ldc 100
  3979. rmu W2S
  3980. ldc 30
  3981. cmu W2S
  3982. zne *1
  3983. OK
  3984. #endif
  3985. #if WS >= 4
  3986. ldc 2447684712
  3987. ldc 100
  3988. rmu W2S
  3989. ldc 12
  3990. cmu W2S
  3991. zne *1
  3992. OK
  3993. #endif
  3994. #endif
  3995. TEST 138: test cuu
  3996. MAIN 0
  3997. #ifdef W2S
  3998. loc 100
  3999. loc WS
  4000. loc W2S
  4001. cuu
  4002. ldc 100
  4003. cmu W2S
  4004. zne *1
  4005. OK
  4006. ldc 100
  4007. loc W2S
  4008. loc WS
  4009. cuu
  4010. loc 100
  4011. bne *1
  4012. OK
  4013. #if WS >= 2
  4014. loc 32768
  4015. loc WS
  4016. loc W2S
  4017. cuu
  4018. ldc 32768
  4019. cmu W2S
  4020. zne *1
  4021. OK
  4022. ldc 32768
  4023. loc W2S
  4024. loc WS
  4025. cuu
  4026. loc 32768
  4027. bne *1
  4028. OK
  4029. #endif
  4030. #endif
  4031. TEST 139: test gto, dch, lpb
  4032. MAIN 0
  4033. .1139
  4034. rom *1139
  4035. lae .1139
  4036. loi PS
  4037. lxa 0
  4038. lxl 0
  4039. cal $p139_1
  4040. 1139
  4041. asp 3*PS
  4042. OK
  4043. PROC
  4044. pro $p139_1,0
  4045. lal 0
  4046. loi PS
  4047. lxl 0
  4048. dch
  4049. cmp
  4050. zne *1
  4051. OK
  4052. lal PS
  4053. loi PS
  4054. lal 0
  4055. loi PS
  4056. lpb
  4057. cmp
  4058. zne *1
  4059. OK
  4060. lal 2*PS
  4061. loi PS
  4062. lal PS
  4063. loi PS
  4064. lal 0
  4065. loi PS
  4066. cal $p139_2
  4067. asp 3*PS
  4068. ret 0
  4069. ERRLAB
  4070. end 0
  4071. pro $p139_2,0
  4072. lal 0
  4073. loi PS
  4074. lxl 0
  4075. dch
  4076. dch
  4077. cmp
  4078. zne *1
  4079. OK
  4080. lal PS
  4081. loi PS
  4082. lal 0
  4083. loi PS
  4084. lpb
  4085. cmp
  4086. zne *1
  4087. OK
  4088. ; now create GTO descriptor
  4089. lal 0
  4090. loi PS ; LB
  4091. lxl 0
  4092. dch
  4093. lpb ; SP
  4094. lal 2*PS
  4095. loi PS ; PC
  4096. .2139
  4097. bss 3*PS,0,0
  4098. lae .2139
  4099. sti 3*PS
  4100. gto .2139
  4101. ERRLAB
  4102. end 0
  4103. TEST 140: test exg
  4104. MAIN 0
  4105. loc 0
  4106. loc 1
  4107. exg WS
  4108. loc 0
  4109. bne *1
  4110. loc 1
  4111. bne *1
  4112. OK
  4113. loc 0
  4114. loc 1
  4115. loc 2
  4116. loc 3
  4117. exg 2*WS
  4118. loc 1
  4119. bne *1
  4120. loc 0
  4121. bne *1
  4122. loc 3
  4123. bne *1
  4124. loc 2
  4125. bne *1
  4126. OK
  4127. zer 4*WS
  4128. loc 1
  4129. loc 1
  4130. dup 2*WS
  4131. exg 4*WS
  4132. zer 4*WS
  4133. cms 4*WS
  4134. zne *1
  4135. loc 1
  4136. loc 1
  4137. dup 2*WS
  4138. cms 4*WS
  4139. zne *1
  4140. OK
  4141. TEST 141: test lim,sim,sig,trp,rtt
  4142. MAIN 0
  4143. a140
  4144. con 0
  4145. lim
  4146. dup WS
  4147. loc 9
  4148. set WS
  4149. ior WS
  4150. dup WS
  4151. sim
  4152. lim
  4153. bne *1
  4154. OK
  4155. lpi $p1_141
  4156. sig
  4157. loc 9
  4158. trp
  4159. sig
  4160. asp PS
  4161. OK
  4162. sim
  4163. lpi $p2_141
  4164. sig
  4165. loc 9
  4166. trp
  4167. sig
  4168. asp PS
  4169. loe a140
  4170. zeq *1
  4171. OK
  4172. PROC
  4173. pro $p1_141,0
  4174. bra *1
  4175. ERRLAB
  4176. end
  4177. pro $p2_141,0
  4178. loc 1
  4179. ste a140
  4180. rtt
  4181. end
  4182. TEST 142: test ciu, cui
  4183. MAIN 0
  4184. loc 100
  4185. loc WS
  4186. loc WS
  4187. ciu
  4188. loc 100
  4189. bne *1
  4190. loc -1
  4191. loc WS
  4192. loc WS
  4193. ciu
  4194. ; should not cause a trap
  4195. asp WS
  4196. OK
  4197. #ifdef W2S
  4198. loc 100
  4199. loc WS
  4200. loc W2S
  4201. ciu
  4202. ldc 100
  4203. cmu W2S
  4204. zne *1
  4205. ldc 100
  4206. loc W2S
  4207. loc WS
  4208. ciu
  4209. loc 100
  4210. bne *1
  4211. ldc 100
  4212. loc W2S
  4213. loc W2S
  4214. ciu
  4215. ldc 100
  4216. cmu W2S
  4217. zne *1
  4218. OK
  4219. #endif
  4220. loc 100
  4221. loc WS
  4222. loc WS
  4223. cui
  4224. loc 100
  4225. bne *1
  4226. OK
  4227. #ifdef W2S
  4228. loc 100
  4229. loc WS
  4230. loc W2S
  4231. cui
  4232. ldc 100
  4233. cmi W2S
  4234. zne *1
  4235. ldc 100
  4236. loc W2S
  4237. loc WS
  4238. cui
  4239. loc 100
  4240. bne *1
  4241. ldc 100
  4242. loc W2S
  4243. loc W2S
  4244. cui
  4245. ldc 100
  4246. cmi W2S
  4247. zne *1
  4248. OK
  4249. #if WS >= 2
  4250. loc 32768
  4251. loc WS
  4252. loc W2S
  4253. cui
  4254. ldc 32768
  4255. cmi W2S
  4256. zne *1
  4257. OK
  4258. #endif
  4259. #endif
  4260. TEST 143: test zrf
  4261. MAIN 0
  4262. #ifdef FS
  4263. loc 0
  4264. loc WS
  4265. loc FS
  4266. cif
  4267. zrf FS
  4268. cmf FS
  4269. zne *1
  4270. OK
  4271. #endif
  4272. #ifdef F2S
  4273. loc 0
  4274. loc WS
  4275. loc F2S
  4276. cif
  4277. zrf F2S
  4278. cmf F2S
  4279. zne *1
  4280. OK
  4281. #endif
  4282. TEST 144: test ngf
  4283. MAIN 0
  4284. #ifdef FS
  4285. zrf FS
  4286. loc 100
  4287. loc WS
  4288. loc FS
  4289. cif
  4290. sbf FS
  4291. loc 100
  4292. loc WS
  4293. loc FS
  4294. cif
  4295. ngf FS
  4296. cmf FS
  4297. zne *1
  4298. OK
  4299. #endif
  4300. #ifdef F2S
  4301. zrf F2S
  4302. loc 100
  4303. loc WS
  4304. loc F2S
  4305. cif
  4306. sbf F2S
  4307. loc 100
  4308. loc WS
  4309. loc F2S
  4310. cif
  4311. ngf F2S
  4312. cmf F2S
  4313. zne *1
  4314. OK
  4315. #endif
  4316. TEST 145: test cuf, cfu WS,FS
  4317. MAIN 0
  4318. #ifdef FS
  4319. loc 100
  4320. loc WS
  4321. loc FS
  4322. cuf
  4323. loc FS
  4324. loc WS
  4325. cfu
  4326. loc 100
  4327. bne *1
  4328. OK
  4329. loc 0
  4330. loc WS
  4331. loc FS
  4332. cuf
  4333. loc FS
  4334. loc WS
  4335. cfu
  4336. loc 0
  4337. bne *1
  4338. OK
  4339. #endif
  4340. TEST 146: test cuf, cfu W2S,FS
  4341. MAIN 0
  4342. #ifdef FS
  4343. #ifdef W2S
  4344. loc 55
  4345. loc WS
  4346. loc W2S
  4347. cuu
  4348. loc W2S
  4349. loc FS
  4350. cuf
  4351. loc 55
  4352. loc WS
  4353. loc FS
  4354. cuf
  4355. cmf FS
  4356. zne *1
  4357. OK
  4358. loc 24
  4359. loc WS
  4360. loc FS
  4361. cuf
  4362. loc FS
  4363. loc W2S
  4364. cfu
  4365. loc W2S
  4366. loc WS
  4367. cuu
  4368. loc 24
  4369. bne *1
  4370. OK
  4371. loc 57
  4372. loc WS
  4373. loc FS
  4374. cuf
  4375. loc FS
  4376. loc W2S
  4377. cfu
  4378. loc W2S
  4379. loc WS
  4380. cuu
  4381. loc 57
  4382. bne *1
  4383. OK
  4384. loc 40
  4385. loc WS
  4386. loc W2S
  4387. cuu
  4388. loc W2S
  4389. loc FS
  4390. cuf
  4391. loc FS
  4392. loc WS
  4393. cfu
  4394. loc 40
  4395. bne *1
  4396. OK
  4397. #endif
  4398. #endif
  4399. TEST 147: test cuf, cfu WS,F2S
  4400. MAIN 0
  4401. #ifdef F2S
  4402. loc 10
  4403. loc WS
  4404. loc F2S
  4405. cuf
  4406. loc F2S
  4407. loc WS
  4408. cfu
  4409. loc 10
  4410. bne *1
  4411. OK
  4412. loc 0
  4413. loc WS
  4414. loc F2S
  4415. cuf
  4416. loc F2S
  4417. loc WS
  4418. cfu
  4419. loc 0
  4420. bne *1
  4421. OK
  4422. #endif
  4423. TEST 148: test cuf, cfu W2S F2S
  4424. MAIN 0
  4425. #ifdef F2S
  4426. #ifdef W2S
  4427. ldc 55
  4428. loc W2S
  4429. loc F2S
  4430. cuf
  4431. loc 55
  4432. loc WS
  4433. loc F2S
  4434. cuf
  4435. cmf F2S
  4436. zne *1
  4437. OK
  4438. loc 24
  4439. loc WS
  4440. loc F2S
  4441. cuf
  4442. loc F2S
  4443. loc W2S
  4444. cfu
  4445. loc W2S
  4446. loc WS
  4447. cuu
  4448. loc 24
  4449. bne *1
  4450. OK
  4451. loc 57
  4452. loc WS
  4453. loc F2S
  4454. cuf
  4455. loc F2S
  4456. loc W2S
  4457. cfu
  4458. loc W2S
  4459. loc WS
  4460. cuu
  4461. loc 57
  4462. bne *1
  4463. OK
  4464. ldc 41
  4465. loc W2S
  4466. loc F2S
  4467. cuf
  4468. loc F2S
  4469. loc WS
  4470. cfu
  4471. loc 41
  4472. bne *1
  4473. OK
  4474. #endif
  4475. #endif
  4476. TEST 149: test cff
  4477. MAIN 0
  4478. #ifdef FS
  4479. #ifdef F2S
  4480. loc 0
  4481. loc WS
  4482. loc FS
  4483. cif
  4484. loc FS
  4485. loc F2S
  4486. cff
  4487. dup F2S
  4488. zrf F2S
  4489. cmf F2S
  4490. zne *1
  4491. loc F2S
  4492. loc FS
  4493. cff
  4494. zrf FS
  4495. cmf FS
  4496. zne *1
  4497. OK
  4498. loc 100
  4499. loc WS
  4500. loc FS
  4501. cif
  4502. loc FS
  4503. loc F2S
  4504. cff
  4505. loc 100
  4506. loc WS
  4507. loc F2S
  4508. cif
  4509. cmf F2S
  4510. zne *1
  4511. OK
  4512. loc 100
  4513. loc WS
  4514. loc F2S
  4515. cif
  4516. loc F2S
  4517. loc FS
  4518. cff
  4519. loc 100
  4520. loc WS
  4521. loc FS
  4522. cif
  4523. cmf FS
  4524. zne *1
  4525. OK
  4526. #endif
  4527. #endif
  4528. TEST 150: test fif
  4529. MAIN 0
  4530. #ifdef FS
  4531. loc 50
  4532. loc WS
  4533. loc FS
  4534. cif
  4535. loc 2
  4536. loc WS
  4537. loc FS
  4538. cif
  4539. fif FS
  4540. loc 100
  4541. loc WS
  4542. loc FS
  4543. cif
  4544. cmf FS
  4545. zne *1
  4546. zrf FS
  4547. cmf FS
  4548. zne *1
  4549. OK
  4550. #endif
  4551. #ifdef F2S
  4552. loc 50
  4553. loc WS
  4554. loc F2S
  4555. cif
  4556. loc 2
  4557. loc WS
  4558. loc F2S
  4559. cif
  4560. fif F2S
  4561. loc 100
  4562. loc WS
  4563. loc F2S
  4564. cif
  4565. cmf F2S
  4566. zne *1
  4567. zrf F2S
  4568. cmf F2S
  4569. zne *1
  4570. OK
  4571. #endif
  4572. TEST 151; test fef (needs more work)
  4573. MAIN 0
  4574. #ifdef FS
  4575. loc 10
  4576. loc WS
  4577. loc FS
  4578. cif
  4579. fef FS
  4580. loc 4
  4581. bne *1
  4582. asp FS
  4583. OK
  4584. #endif
  4585. #ifdef F2S
  4586. loc 10
  4587. loc WS
  4588. loc F2S
  4589. cif
  4590. fef F2S
  4591. loc 4
  4592. bne *1
  4593. asp F2S
  4594. OK
  4595. #endif