rx-decode.c 599 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691196921969319694196951969619697196981969919700197011970219703197041970519706197071970819709197101971119712197131971419715197161971719718197191972019721197221972319724197251972619727197281972919730197311973219733197341973519736197371973819739197401974119742197431974419745197461974719748197491975019751197521975319754197551975619757197581975919760197611976219763197641976519766197671976819769197701977119772197731977419775197761977719778197791978019781197821978319784197851978619787197881978919790197911979219793197941979519796197971979819799198001980119802198031980419805198061980719808198091981019811198121981319814198151981619817198181981919820198211982219823198241982519826198271982819829198301983119832198331983419835198361983719838198391984019841198421984319844198451984619847198481984919850198511985219853198541985519856198571985819859198601986119862198631986419865198661986719868198691987019871198721987319874198751987619877198781987919880198811988219883198841988519886198871988819889198901989119892198931989419895198961989719898198991990019901199021990319904199051990619907199081990919910199111991219913199141991519916199171991819919199201992119922199231992419925199261992719928199291993019931199321993319934199351993619937199381993919940199411994219943199441994519946199471994819949199501995119952199531995419955199561995719958199591996019961199621996319964199651996619967199681996919970199711997219973199741997519976199771997819979199801998119982199831998419985199861998719988199891999019991199921999319994199951999619997199981999920000200012000220003200042000520006200072000820009200102001120012200132001420015200162001720018200192002020021200222002320024200252002620027200282002920030200312003220033200342003520036200372003820039200402004120042200432004420045200462004720048200492005020051200522005320054200552005620057200582005920060200612006220063200642006520066200672006820069200702007120072200732007420075
  1. /* DO NOT EDIT! -*- buffer-read-only: t -*- vi:set ro: */
  2. #line 1 "rx-decode.opc"
  3. /* -*- c -*- */
  4. /* Copyright (C) 2012-2022 Free Software Foundation, Inc.
  5. Contributed by Red Hat.
  6. Written by DJ Delorie.
  7. This file is part of the GNU opcodes library.
  8. This library is free software; you can redistribute it and/or modify
  9. it under the terms of the GNU General Public License as published by
  10. the Free Software Foundation; either version 3, or (at your option)
  11. any later version.
  12. It is distributed in the hope that it will be useful, but WITHOUT
  13. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
  14. or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
  15. License for more details.
  16. You should have received a copy of the GNU General Public License
  17. along with this program; if not, write to the Free Software
  18. Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
  19. MA 02110-1301, USA. */
  20. #include "sysdep.h"
  21. #include <stdio.h>
  22. #include <stdlib.h>
  23. #include <string.h>
  24. #include "ansidecl.h"
  25. #include "opcode/rx.h"
  26. #include "libiberty.h"
  27. #define RX_OPCODE_BIG_ENDIAN 0
  28. typedef struct
  29. {
  30. RX_Opcode_Decoded * rx;
  31. int (* getbyte)(void *);
  32. void * ptr;
  33. unsigned char * op;
  34. } LocalData;
  35. static int trace = 0;
  36. #define BSIZE 0
  37. #define WSIZE 1
  38. #define LSIZE 2
  39. #define DSIZE 3
  40. /* These are for when the upper bits are "don't care" or "undefined". */
  41. static int bwl[4] =
  42. {
  43. RX_Byte,
  44. RX_Word,
  45. RX_Long,
  46. RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
  47. };
  48. static int sbwl[4] =
  49. {
  50. RX_SByte,
  51. RX_SWord,
  52. RX_Long,
  53. RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
  54. };
  55. static int ubw[4] =
  56. {
  57. RX_UByte,
  58. RX_UWord,
  59. RX_Bad_Size,/* Bogus instructions can have a size field set to 2. */
  60. RX_Bad_Size /* Bogus instructions can have a size field set to 3. */
  61. };
  62. static int memex[4] =
  63. {
  64. RX_SByte,
  65. RX_SWord,
  66. RX_Long,
  67. RX_UWord
  68. };
  69. static int _ld[2] =
  70. {
  71. RX_Long,
  72. RX_Double
  73. };
  74. #define ID(x) rx->id = RXO_##x
  75. #define OP(n,t,r,a) (rx->op[n].type = t, \
  76. rx->op[n].reg = r, \
  77. rx->op[n].addend = a )
  78. #define OPs(n,t,r,a,s) (OP (n,t,r,a), \
  79. rx->op[n].size = s )
  80. /* This is for the BWL and BW bitfields. */
  81. static int SCALE[] = { 1, 2, 4, 0 };
  82. /* This is for the prefix size enum. */
  83. static int PSCALE[] = { 4, 1, 1, 1, 2, 2, 2, 3, 4, 8 };
  84. #define GET_SCALE(_indx) ((unsigned)(_indx) < ARRAY_SIZE (SCALE) ? SCALE[(_indx)] : 0)
  85. #define GET_PSCALE(_indx) ((unsigned)(_indx) < ARRAY_SIZE (PSCALE) ? PSCALE[(_indx)] : 0)
  86. static int flagmap[] = {0, 1, 2, 3, 0, 0, 0, 0,
  87. 16, 17, 0, 0, 0, 0, 0, 0 };
  88. static int dsp3map[] = { 8, 9, 10, 3, 4, 5, 6, 7 };
  89. /*
  90. *C a constant (immediate) c
  91. *R A register
  92. *I Register indirect, no offset
  93. *Is Register indirect, with offset
  94. *D standard displacement: type (r,[r],dsp8,dsp16 code), register, BWL code
  95. *P standard displacement: type (r,[r]), reg, assumes UByte
  96. *Pm memex displacement: type (r,[r]), reg, memex code
  97. *cc condition code. */
  98. #define DC(c) OP (0, RX_Operand_Immediate, 0, c)
  99. #define DR(r) OP (0, RX_Operand_Register, r, 0)
  100. #define DI(r,a) OP (0, RX_Operand_Indirect, r, a)
  101. #define DIs(r,a,s) OP (0, RX_Operand_Indirect, r, (a) * GET_SCALE (s))
  102. #define DD(t,r,s) rx_disp (0, t, r, bwl[s], ld);
  103. #define DF(r) OP (0, RX_Operand_Flag, flagmap[r], 0)
  104. #define DCR(r) OP (0, RX_Operand_DoubleCReg, r, 0)
  105. #define DDR(r) OP (0, RX_Operand_DoubleReg, r, 0)
  106. #define DDRH(r) OP (0, RX_Operand_DoubleRegH, r, 0)
  107. #define DDRL(r) OP (0, RX_Operand_DoubleRegL, r, 0)
  108. #define DCND(r) OP (0, RX_Operand_DoubleCond, r, 0)
  109. #define SC(i) OP (1, RX_Operand_Immediate, 0, i)
  110. #define SR(r) OP (1, RX_Operand_Register, r, 0)
  111. #define SRR(r) OP (1, RX_Operand_TwoReg, r, 0)
  112. #define SI(r,a) OP (1, RX_Operand_Indirect, r, a)
  113. #define SIs(r,a,s) OP (1, RX_Operand_Indirect, r, (a) * GET_SCALE (s))
  114. #define SD(t,r,s) rx_disp (1, t, r, bwl[s], ld);
  115. #define SP(t,r) rx_disp (1, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 1);
  116. #define SPm(t,r,m) rx_disp (1, t, r, memex[m], ld); rx->op[1].size = memex[m];
  117. #define Scc(cc) OP (1, RX_Operand_Condition, cc, 0)
  118. #define SCR(r) OP (1, RX_Operand_DoubleCReg, r, 0)
  119. #define SDR(r) OP (1, RX_Operand_DoubleReg, r, 0)
  120. #define SDRH(r) OP (1, RX_Operand_DoubleRegH, r, 0)
  121. #define SDRL(r) OP (1, RX_Operand_DoubleRegL, r, 0)
  122. #define S2C(i) OP (2, RX_Operand_Immediate, 0, i)
  123. #define S2R(r) OP (2, RX_Operand_Register, r, 0)
  124. #define S2I(r,a) OP (2, RX_Operand_Indirect, r, a)
  125. #define S2Is(r,a,s) OP (2, RX_Operand_Indirect, r, (a) * GET_SCALE (s))
  126. #define S2D(t,r,s) rx_disp (2, t, r, bwl[s], ld);
  127. #define S2P(t,r) rx_disp (2, t, r, (t!=3) ? RX_UByte : RX_Long, ld); P(t, 2);
  128. #define S2Pm(t,r,m) rx_disp (2, t, r, memex[m], ld); rx->op[2].size = memex[m];
  129. #define S2cc(cc) OP (2, RX_Operand_Condition, cc, 0)
  130. #define S2DR(r) OP (2, RX_Operand_DoubleReg, r, 0)
  131. #define S2CR(r) OP (2, RX_Operand_DoubleCReg, r, 0)
  132. #define SDD(t,r,s) rx_disp (1, t, r, bwl, ld);
  133. #define BWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = bwl[sz]
  134. #define sBWL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = sbwl[sz]
  135. #define uBW(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = ubw[sz]
  136. #define P(t, n) rx->op[n].size = (t!=3) ? RX_UByte : RX_Long;
  137. #define DL(sz) rx->op[0].size = rx->op[1].size = rx->op[2].size = rx->size = _ld[sz]
  138. #define F(f) store_flags(rx, f)
  139. #define AU ATTRIBUTE_UNUSED
  140. #define GETBYTE() (ld->op [ld->rx->n_bytes++] = ld->getbyte (ld->ptr))
  141. #define SYNTAX(x) rx->syntax = x
  142. #define UNSUPPORTED() \
  143. rx->syntax = "*unknown*"
  144. #define IMM(sf) immediate (sf, 0, ld)
  145. #define IMMex(sf) immediate (sf, 1, ld)
  146. static int
  147. immediate (int sfield, int ex, LocalData * ld)
  148. {
  149. unsigned long i = 0, j;
  150. switch (sfield)
  151. {
  152. #define B ((unsigned long) GETBYTE())
  153. case 0:
  154. #if RX_OPCODE_BIG_ENDIAN
  155. i = B;
  156. if (ex && (i & 0x80))
  157. i -= 0x100;
  158. i <<= 24;
  159. i |= B << 16;
  160. i |= B << 8;
  161. i |= B;
  162. #else
  163. i = B;
  164. i |= B << 8;
  165. i |= B << 16;
  166. j = B;
  167. if (ex && (j & 0x80))
  168. j -= 0x100;
  169. i |= j << 24;
  170. #endif
  171. break;
  172. case 3:
  173. #if RX_OPCODE_BIG_ENDIAN
  174. i = B << 16;
  175. i |= B << 8;
  176. i |= B;
  177. #else
  178. i = B;
  179. i |= B << 8;
  180. i |= B << 16;
  181. #endif
  182. if (ex && (i & 0x800000))
  183. i -= 0x1000000;
  184. break;
  185. case 2:
  186. #if RX_OPCODE_BIG_ENDIAN
  187. i |= B << 8;
  188. i |= B;
  189. #else
  190. i |= B;
  191. i |= B << 8;
  192. #endif
  193. if (ex && (i & 0x8000))
  194. i -= 0x10000;
  195. break;
  196. case 1:
  197. i |= B;
  198. if (ex && (i & 0x80))
  199. i -= 0x100;
  200. break;
  201. default:
  202. abort();
  203. }
  204. return i;
  205. }
  206. static void
  207. rx_disp (int n, int type, int reg, unsigned int size, LocalData * ld)
  208. {
  209. int disp;
  210. ld->rx->op[n].reg = reg;
  211. switch (type)
  212. {
  213. case 3:
  214. ld->rx->op[n].type = RX_Operand_Register;
  215. break;
  216. case 0:
  217. ld->rx->op[n].type = RX_Operand_Zero_Indirect;
  218. ld->rx->op[n].addend = 0;
  219. break;
  220. case 1:
  221. ld->rx->op[n].type = RX_Operand_Indirect;
  222. disp = GETBYTE ();
  223. ld->rx->op[n].addend = disp * GET_PSCALE (size);
  224. break;
  225. case 2:
  226. ld->rx->op[n].type = RX_Operand_Indirect;
  227. disp = GETBYTE ();
  228. #if RX_OPCODE_BIG_ENDIAN
  229. disp = disp * 256 + GETBYTE ();
  230. #else
  231. disp = disp + GETBYTE () * 256;
  232. #endif
  233. ld->rx->op[n].addend = disp * GET_PSCALE (size);
  234. break;
  235. default:
  236. abort ();
  237. }
  238. }
  239. #define xO 8
  240. #define xS 4
  241. #define xZ 2
  242. #define xC 1
  243. #define F_____
  244. #define F___ZC rx->flags_0 = rx->flags_s = xZ|xC;
  245. #define F__SZ_ rx->flags_0 = rx->flags_s = xS|xZ;
  246. #define F__SZC rx->flags_0 = rx->flags_s = xS|xZ|xC;
  247. #define F_0SZC rx->flags_0 = xO|xS|xZ|xC; rx->flags_s = xS|xZ|xC;
  248. #define F_O___ rx->flags_0 = rx->flags_s = xO;
  249. #define F_OS__ rx->flags_0 = rx->flags_s = xO|xS;
  250. #define F_OSZ_ rx->flags_0 = rx->flags_s = xO|xS|xZ;
  251. #define F_OSZC rx->flags_0 = rx->flags_s = xO|xS|xZ|xC;
  252. int
  253. rx_decode_opcode (unsigned long pc AU,
  254. RX_Opcode_Decoded * rx,
  255. int (* getbyte)(void *),
  256. void * ptr)
  257. {
  258. LocalData lds, * ld = &lds;
  259. unsigned char op[20] = {0};
  260. lds.rx = rx;
  261. lds.getbyte = getbyte;
  262. lds.ptr = ptr;
  263. lds.op = op;
  264. memset (rx, 0, sizeof (*rx));
  265. BWL(LSIZE);
  266. /*----------------------------------------------------------------------*/
  267. /* MOV */
  268. GETBYTE ();
  269. switch (op[0] & 0xff)
  270. {
  271. case 0x00:
  272. {
  273. /** 0000 0000 brk */
  274. if (trace)
  275. {
  276. printf ("\033[33m%s\033[0m %02x\n",
  277. "/** 0000 0000 brk */",
  278. op[0]);
  279. }
  280. SYNTAX("brk");
  281. #line 1050 "rx-decode.opc"
  282. ID(brk);
  283. }
  284. break;
  285. case 0x01:
  286. {
  287. /** 0000 0001 dbt */
  288. if (trace)
  289. {
  290. printf ("\033[33m%s\033[0m %02x\n",
  291. "/** 0000 0001 dbt */",
  292. op[0]);
  293. }
  294. SYNTAX("dbt");
  295. #line 1053 "rx-decode.opc"
  296. ID(dbt);
  297. }
  298. break;
  299. case 0x02:
  300. {
  301. /** 0000 0010 rts */
  302. if (trace)
  303. {
  304. printf ("\033[33m%s\033[0m %02x\n",
  305. "/** 0000 0010 rts */",
  306. op[0]);
  307. }
  308. SYNTAX("rts");
  309. #line 831 "rx-decode.opc"
  310. ID(rts);
  311. /*----------------------------------------------------------------------*/
  312. /* NOP */
  313. }
  314. break;
  315. case 0x03:
  316. {
  317. /** 0000 0011 nop */
  318. if (trace)
  319. {
  320. printf ("\033[33m%s\033[0m %02x\n",
  321. "/** 0000 0011 nop */",
  322. op[0]);
  323. }
  324. SYNTAX("nop");
  325. #line 837 "rx-decode.opc"
  326. ID(nop);
  327. /*----------------------------------------------------------------------*/
  328. /* STRING FUNCTIONS */
  329. }
  330. break;
  331. case 0x04:
  332. {
  333. /** 0000 0100 bra.a %a0 */
  334. if (trace)
  335. {
  336. printf ("\033[33m%s\033[0m %02x\n",
  337. "/** 0000 0100 bra.a %a0 */",
  338. op[0]);
  339. }
  340. SYNTAX("bra.a %a0");
  341. #line 809 "rx-decode.opc"
  342. ID(branch); DC(pc + IMMex(3));
  343. }
  344. break;
  345. case 0x05:
  346. {
  347. /** 0000 0101 bsr.a %a0 */
  348. if (trace)
  349. {
  350. printf ("\033[33m%s\033[0m %02x\n",
  351. "/** 0000 0101 bsr.a %a0 */",
  352. op[0]);
  353. }
  354. SYNTAX("bsr.a %a0");
  355. #line 825 "rx-decode.opc"
  356. ID(jsr); DC(pc + IMMex(3));
  357. }
  358. break;
  359. case 0x06:
  360. GETBYTE ();
  361. switch (op[1] & 0xff)
  362. {
  363. case 0x00:
  364. GETBYTE ();
  365. switch (op[2] & 0x00)
  366. {
  367. case 0x00:
  368. op_semantics_1:
  369. {
  370. /** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */
  371. #line 567 "rx-decode.opc"
  372. int mx AU = (op[1] >> 6) & 0x03;
  373. #line 567 "rx-decode.opc"
  374. int ss AU = op[1] & 0x03;
  375. #line 567 "rx-decode.opc"
  376. int rsrc AU = (op[2] >> 4) & 0x0f;
  377. #line 567 "rx-decode.opc"
  378. int rdst AU = op[2] & 0x0f;
  379. if (trace)
  380. {
  381. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  382. "/** 0000 0110 mx00 00ss rsrc rdst sub %2%S2, %1 */",
  383. op[0], op[1], op[2]);
  384. printf (" mx = 0x%x,", mx);
  385. printf (" ss = 0x%x,", ss);
  386. printf (" rsrc = 0x%x,", rsrc);
  387. printf (" rdst = 0x%x\n", rdst);
  388. }
  389. SYNTAX("sub %2%S2, %1");
  390. #line 567 "rx-decode.opc"
  391. ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); DR(rdst); F_OSZC;
  392. }
  393. break;
  394. }
  395. break;
  396. case 0x01:
  397. GETBYTE ();
  398. switch (op[2] & 0x00)
  399. {
  400. case 0x00:
  401. goto op_semantics_1;
  402. break;
  403. }
  404. break;
  405. case 0x02:
  406. GETBYTE ();
  407. switch (op[2] & 0x00)
  408. {
  409. case 0x00:
  410. goto op_semantics_1;
  411. break;
  412. }
  413. break;
  414. case 0x03:
  415. GETBYTE ();
  416. switch (op[2] & 0x00)
  417. {
  418. case 0x00:
  419. goto op_semantics_1;
  420. break;
  421. }
  422. break;
  423. case 0x04:
  424. GETBYTE ();
  425. switch (op[2] & 0x00)
  426. {
  427. case 0x00:
  428. op_semantics_2:
  429. {
  430. /** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */
  431. #line 555 "rx-decode.opc"
  432. int mx AU = (op[1] >> 6) & 0x03;
  433. #line 555 "rx-decode.opc"
  434. int ss AU = op[1] & 0x03;
  435. #line 555 "rx-decode.opc"
  436. int rsrc AU = (op[2] >> 4) & 0x0f;
  437. #line 555 "rx-decode.opc"
  438. int rdst AU = op[2] & 0x0f;
  439. if (trace)
  440. {
  441. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  442. "/** 0000 0110 mx00 01ss rsrc rdst cmp %2%S2, %1 */",
  443. op[0], op[1], op[2]);
  444. printf (" mx = 0x%x,", mx);
  445. printf (" ss = 0x%x,", ss);
  446. printf (" rsrc = 0x%x,", rsrc);
  447. printf (" rdst = 0x%x\n", rdst);
  448. }
  449. SYNTAX("cmp %2%S2, %1");
  450. #line 555 "rx-decode.opc"
  451. ID(sub); S2Pm(ss, rsrc, mx); SR(rdst); F_OSZC;
  452. /*----------------------------------------------------------------------*/
  453. /* SUB */
  454. }
  455. break;
  456. }
  457. break;
  458. case 0x05:
  459. GETBYTE ();
  460. switch (op[2] & 0x00)
  461. {
  462. case 0x00:
  463. goto op_semantics_2;
  464. break;
  465. }
  466. break;
  467. case 0x06:
  468. GETBYTE ();
  469. switch (op[2] & 0x00)
  470. {
  471. case 0x00:
  472. goto op_semantics_2;
  473. break;
  474. }
  475. break;
  476. case 0x07:
  477. GETBYTE ();
  478. switch (op[2] & 0x00)
  479. {
  480. case 0x00:
  481. goto op_semantics_2;
  482. break;
  483. }
  484. break;
  485. case 0x08:
  486. GETBYTE ();
  487. switch (op[2] & 0x00)
  488. {
  489. case 0x00:
  490. op_semantics_3:
  491. {
  492. /** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */
  493. #line 531 "rx-decode.opc"
  494. int mx AU = (op[1] >> 6) & 0x03;
  495. #line 531 "rx-decode.opc"
  496. int ss AU = op[1] & 0x03;
  497. #line 531 "rx-decode.opc"
  498. int rsrc AU = (op[2] >> 4) & 0x0f;
  499. #line 531 "rx-decode.opc"
  500. int rdst AU = op[2] & 0x0f;
  501. if (trace)
  502. {
  503. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  504. "/** 0000 0110 mx00 10ss rsrc rdst add %1%S1, %0 */",
  505. op[0], op[1], op[2]);
  506. printf (" mx = 0x%x,", mx);
  507. printf (" ss = 0x%x,", ss);
  508. printf (" rsrc = 0x%x,", rsrc);
  509. printf (" rdst = 0x%x\n", rdst);
  510. }
  511. SYNTAX("add %1%S1, %0");
  512. #line 531 "rx-decode.opc"
  513. ID(add); SPm(ss, rsrc, mx); DR(rdst); F_OSZC;
  514. }
  515. break;
  516. }
  517. break;
  518. case 0x09:
  519. GETBYTE ();
  520. switch (op[2] & 0x00)
  521. {
  522. case 0x00:
  523. goto op_semantics_3;
  524. break;
  525. }
  526. break;
  527. case 0x0a:
  528. GETBYTE ();
  529. switch (op[2] & 0x00)
  530. {
  531. case 0x00:
  532. goto op_semantics_3;
  533. break;
  534. }
  535. break;
  536. case 0x0b:
  537. GETBYTE ();
  538. switch (op[2] & 0x00)
  539. {
  540. case 0x00:
  541. goto op_semantics_3;
  542. break;
  543. }
  544. break;
  545. case 0x0c:
  546. GETBYTE ();
  547. switch (op[2] & 0x00)
  548. {
  549. case 0x00:
  550. op_semantics_4:
  551. {
  552. /** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */
  553. #line 674 "rx-decode.opc"
  554. int mx AU = (op[1] >> 6) & 0x03;
  555. #line 674 "rx-decode.opc"
  556. int ss AU = op[1] & 0x03;
  557. #line 674 "rx-decode.opc"
  558. int rsrc AU = (op[2] >> 4) & 0x0f;
  559. #line 674 "rx-decode.opc"
  560. int rdst AU = op[2] & 0x0f;
  561. if (trace)
  562. {
  563. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  564. "/** 0000 0110 mx00 11ss rsrc rdst mul %1%S1, %0 */",
  565. op[0], op[1], op[2]);
  566. printf (" mx = 0x%x,", mx);
  567. printf (" ss = 0x%x,", ss);
  568. printf (" rsrc = 0x%x,", rsrc);
  569. printf (" rdst = 0x%x\n", rdst);
  570. }
  571. SYNTAX("mul %1%S1, %0");
  572. #line 674 "rx-decode.opc"
  573. ID(mul); SPm(ss, rsrc, mx); DR(rdst); F_____;
  574. }
  575. break;
  576. }
  577. break;
  578. case 0x0d:
  579. GETBYTE ();
  580. switch (op[2] & 0x00)
  581. {
  582. case 0x00:
  583. goto op_semantics_4;
  584. break;
  585. }
  586. break;
  587. case 0x0e:
  588. GETBYTE ();
  589. switch (op[2] & 0x00)
  590. {
  591. case 0x00:
  592. goto op_semantics_4;
  593. break;
  594. }
  595. break;
  596. case 0x0f:
  597. GETBYTE ();
  598. switch (op[2] & 0x00)
  599. {
  600. case 0x00:
  601. goto op_semantics_4;
  602. break;
  603. }
  604. break;
  605. case 0x10:
  606. GETBYTE ();
  607. switch (op[2] & 0x00)
  608. {
  609. case 0x00:
  610. op_semantics_5:
  611. {
  612. /** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */
  613. #line 444 "rx-decode.opc"
  614. int mx AU = (op[1] >> 6) & 0x03;
  615. #line 444 "rx-decode.opc"
  616. int ss AU = op[1] & 0x03;
  617. #line 444 "rx-decode.opc"
  618. int rsrc AU = (op[2] >> 4) & 0x0f;
  619. #line 444 "rx-decode.opc"
  620. int rdst AU = op[2] & 0x0f;
  621. if (trace)
  622. {
  623. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  624. "/** 0000 0110 mx01 00ss rsrc rdst and %1%S1, %0 */",
  625. op[0], op[1], op[2]);
  626. printf (" mx = 0x%x,", mx);
  627. printf (" ss = 0x%x,", ss);
  628. printf (" rsrc = 0x%x,", rsrc);
  629. printf (" rdst = 0x%x\n", rdst);
  630. }
  631. SYNTAX("and %1%S1, %0");
  632. #line 444 "rx-decode.opc"
  633. ID(and); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
  634. }
  635. break;
  636. }
  637. break;
  638. case 0x11:
  639. GETBYTE ();
  640. switch (op[2] & 0x00)
  641. {
  642. case 0x00:
  643. goto op_semantics_5;
  644. break;
  645. }
  646. break;
  647. case 0x12:
  648. GETBYTE ();
  649. switch (op[2] & 0x00)
  650. {
  651. case 0x00:
  652. goto op_semantics_5;
  653. break;
  654. }
  655. break;
  656. case 0x13:
  657. GETBYTE ();
  658. switch (op[2] & 0x00)
  659. {
  660. case 0x00:
  661. goto op_semantics_5;
  662. break;
  663. }
  664. break;
  665. case 0x14:
  666. GETBYTE ();
  667. switch (op[2] & 0x00)
  668. {
  669. case 0x00:
  670. op_semantics_6:
  671. {
  672. /** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */
  673. #line 462 "rx-decode.opc"
  674. int mx AU = (op[1] >> 6) & 0x03;
  675. #line 462 "rx-decode.opc"
  676. int ss AU = op[1] & 0x03;
  677. #line 462 "rx-decode.opc"
  678. int rsrc AU = (op[2] >> 4) & 0x0f;
  679. #line 462 "rx-decode.opc"
  680. int rdst AU = op[2] & 0x0f;
  681. if (trace)
  682. {
  683. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  684. "/** 0000 0110 mx01 01ss rsrc rdst or %1%S1, %0 */",
  685. op[0], op[1], op[2]);
  686. printf (" mx = 0x%x,", mx);
  687. printf (" ss = 0x%x,", ss);
  688. printf (" rsrc = 0x%x,", rsrc);
  689. printf (" rdst = 0x%x\n", rdst);
  690. }
  691. SYNTAX("or %1%S1, %0");
  692. #line 462 "rx-decode.opc"
  693. ID(or); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
  694. }
  695. break;
  696. }
  697. break;
  698. case 0x15:
  699. GETBYTE ();
  700. switch (op[2] & 0x00)
  701. {
  702. case 0x00:
  703. goto op_semantics_6;
  704. break;
  705. }
  706. break;
  707. case 0x16:
  708. GETBYTE ();
  709. switch (op[2] & 0x00)
  710. {
  711. case 0x00:
  712. goto op_semantics_6;
  713. break;
  714. }
  715. break;
  716. case 0x17:
  717. GETBYTE ();
  718. switch (op[2] & 0x00)
  719. {
  720. case 0x00:
  721. goto op_semantics_6;
  722. break;
  723. }
  724. break;
  725. case 0x20:
  726. GETBYTE ();
  727. switch (op[2] & 0xff)
  728. {
  729. case 0x00:
  730. GETBYTE ();
  731. switch (op[3] & 0x00)
  732. {
  733. case 0x00:
  734. op_semantics_7:
  735. {
  736. /** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */
  737. #line 580 "rx-decode.opc"
  738. int mx AU = (op[1] >> 6) & 0x03;
  739. #line 580 "rx-decode.opc"
  740. int sp AU = op[1] & 0x03;
  741. #line 580 "rx-decode.opc"
  742. int rsrc AU = (op[3] >> 4) & 0x0f;
  743. #line 580 "rx-decode.opc"
  744. int rdst AU = op[3] & 0x0f;
  745. if (trace)
  746. {
  747. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  748. "/** 0000 0110 mx10 00sp 0000 0000 rsrc rdst sbb %1%S1, %0 */",
  749. op[0], op[1], op[2], op[3]);
  750. printf (" mx = 0x%x,", mx);
  751. printf (" sp = 0x%x,", sp);
  752. printf (" rsrc = 0x%x,", rsrc);
  753. printf (" rdst = 0x%x\n", rdst);
  754. }
  755. SYNTAX("sbb %1%S1, %0");
  756. #line 580 "rx-decode.opc"
  757. ID(sbb); SPm(sp, rsrc, mx); DR(rdst); F_OSZC;
  758. /*----------------------------------------------------------------------*/
  759. /* ABS */
  760. }
  761. break;
  762. }
  763. break;
  764. case 0x04:
  765. GETBYTE ();
  766. switch (op[3] & 0x00)
  767. {
  768. case 0x00:
  769. op_semantics_8:
  770. {
  771. /** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */
  772. #line 619 "rx-decode.opc"
  773. int mx AU = (op[1] >> 6) & 0x03;
  774. #line 619 "rx-decode.opc"
  775. int ss AU = op[1] & 0x03;
  776. #line 619 "rx-decode.opc"
  777. int rsrc AU = (op[3] >> 4) & 0x0f;
  778. #line 619 "rx-decode.opc"
  779. int rdst AU = op[3] & 0x0f;
  780. if (trace)
  781. {
  782. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  783. "/** 0000 0110 mx10 00ss 0000 0100 rsrc rdst max %1%S1, %0 */",
  784. op[0], op[1], op[2], op[3]);
  785. printf (" mx = 0x%x,", mx);
  786. printf (" ss = 0x%x,", ss);
  787. printf (" rsrc = 0x%x,", rsrc);
  788. printf (" rdst = 0x%x\n", rdst);
  789. }
  790. SYNTAX("max %1%S1, %0");
  791. #line 619 "rx-decode.opc"
  792. ID(max); SPm(ss, rsrc, mx); DR(rdst);
  793. /*----------------------------------------------------------------------*/
  794. /* MIN */
  795. }
  796. break;
  797. }
  798. break;
  799. case 0x05:
  800. GETBYTE ();
  801. switch (op[3] & 0x00)
  802. {
  803. case 0x00:
  804. op_semantics_9:
  805. {
  806. /** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */
  807. #line 631 "rx-decode.opc"
  808. int mx AU = (op[1] >> 6) & 0x03;
  809. #line 631 "rx-decode.opc"
  810. int ss AU = op[1] & 0x03;
  811. #line 631 "rx-decode.opc"
  812. int rsrc AU = (op[3] >> 4) & 0x0f;
  813. #line 631 "rx-decode.opc"
  814. int rdst AU = op[3] & 0x0f;
  815. if (trace)
  816. {
  817. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  818. "/** 0000 0110 mx10 00ss 0000 0101 rsrc rdst min %1%S1, %0 */",
  819. op[0], op[1], op[2], op[3]);
  820. printf (" mx = 0x%x,", mx);
  821. printf (" ss = 0x%x,", ss);
  822. printf (" rsrc = 0x%x,", rsrc);
  823. printf (" rdst = 0x%x\n", rdst);
  824. }
  825. SYNTAX("min %1%S1, %0");
  826. #line 631 "rx-decode.opc"
  827. ID(min); SPm(ss, rsrc, mx); DR(rdst);
  828. /*----------------------------------------------------------------------*/
  829. /* MUL */
  830. }
  831. break;
  832. }
  833. break;
  834. case 0x06:
  835. GETBYTE ();
  836. switch (op[3] & 0x00)
  837. {
  838. case 0x00:
  839. op_semantics_10:
  840. {
  841. /** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */
  842. #line 689 "rx-decode.opc"
  843. int mx AU = (op[1] >> 6) & 0x03;
  844. #line 689 "rx-decode.opc"
  845. int ss AU = op[1] & 0x03;
  846. #line 689 "rx-decode.opc"
  847. int rsrc AU = (op[3] >> 4) & 0x0f;
  848. #line 689 "rx-decode.opc"
  849. int rdst AU = op[3] & 0x0f;
  850. if (trace)
  851. {
  852. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  853. "/** 0000 0110 mx10 00ss 0000 0110 rsrc rdst emul %1%S1, %0 */",
  854. op[0], op[1], op[2], op[3]);
  855. printf (" mx = 0x%x,", mx);
  856. printf (" ss = 0x%x,", ss);
  857. printf (" rsrc = 0x%x,", rsrc);
  858. printf (" rdst = 0x%x\n", rdst);
  859. }
  860. SYNTAX("emul %1%S1, %0");
  861. #line 689 "rx-decode.opc"
  862. ID(emul); SPm(ss, rsrc, mx); DR(rdst);
  863. /*----------------------------------------------------------------------*/
  864. /* EMULU */
  865. }
  866. break;
  867. }
  868. break;
  869. case 0x07:
  870. GETBYTE ();
  871. switch (op[3] & 0x00)
  872. {
  873. case 0x00:
  874. op_semantics_11:
  875. {
  876. /** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */
  877. #line 701 "rx-decode.opc"
  878. int mx AU = (op[1] >> 6) & 0x03;
  879. #line 701 "rx-decode.opc"
  880. int ss AU = op[1] & 0x03;
  881. #line 701 "rx-decode.opc"
  882. int rsrc AU = (op[3] >> 4) & 0x0f;
  883. #line 701 "rx-decode.opc"
  884. int rdst AU = op[3] & 0x0f;
  885. if (trace)
  886. {
  887. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  888. "/** 0000 0110 mx10 00ss 0000 0111 rsrc rdst emulu %1%S1, %0 */",
  889. op[0], op[1], op[2], op[3]);
  890. printf (" mx = 0x%x,", mx);
  891. printf (" ss = 0x%x,", ss);
  892. printf (" rsrc = 0x%x,", rsrc);
  893. printf (" rdst = 0x%x\n", rdst);
  894. }
  895. SYNTAX("emulu %1%S1, %0");
  896. #line 701 "rx-decode.opc"
  897. ID(emulu); SPm(ss, rsrc, mx); DR(rdst);
  898. /*----------------------------------------------------------------------*/
  899. /* DIV */
  900. }
  901. break;
  902. }
  903. break;
  904. case 0x08:
  905. GETBYTE ();
  906. switch (op[3] & 0x00)
  907. {
  908. case 0x00:
  909. op_semantics_12:
  910. {
  911. /** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */
  912. #line 713 "rx-decode.opc"
  913. int mx AU = (op[1] >> 6) & 0x03;
  914. #line 713 "rx-decode.opc"
  915. int ss AU = op[1] & 0x03;
  916. #line 713 "rx-decode.opc"
  917. int rsrc AU = (op[3] >> 4) & 0x0f;
  918. #line 713 "rx-decode.opc"
  919. int rdst AU = op[3] & 0x0f;
  920. if (trace)
  921. {
  922. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  923. "/** 0000 0110 mx10 00ss 0000 1000 rsrc rdst div %1%S1, %0 */",
  924. op[0], op[1], op[2], op[3]);
  925. printf (" mx = 0x%x,", mx);
  926. printf (" ss = 0x%x,", ss);
  927. printf (" rsrc = 0x%x,", rsrc);
  928. printf (" rdst = 0x%x\n", rdst);
  929. }
  930. SYNTAX("div %1%S1, %0");
  931. #line 713 "rx-decode.opc"
  932. ID(div); SPm(ss, rsrc, mx); DR(rdst); F_O___;
  933. /*----------------------------------------------------------------------*/
  934. /* DIVU */
  935. }
  936. break;
  937. }
  938. break;
  939. case 0x09:
  940. GETBYTE ();
  941. switch (op[3] & 0x00)
  942. {
  943. case 0x00:
  944. op_semantics_13:
  945. {
  946. /** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */
  947. #line 725 "rx-decode.opc"
  948. int mx AU = (op[1] >> 6) & 0x03;
  949. #line 725 "rx-decode.opc"
  950. int ss AU = op[1] & 0x03;
  951. #line 725 "rx-decode.opc"
  952. int rsrc AU = (op[3] >> 4) & 0x0f;
  953. #line 725 "rx-decode.opc"
  954. int rdst AU = op[3] & 0x0f;
  955. if (trace)
  956. {
  957. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  958. "/** 0000 0110 mx10 00ss 0000 1001 rsrc rdst divu %1%S1, %0 */",
  959. op[0], op[1], op[2], op[3]);
  960. printf (" mx = 0x%x,", mx);
  961. printf (" ss = 0x%x,", ss);
  962. printf (" rsrc = 0x%x,", rsrc);
  963. printf (" rdst = 0x%x\n", rdst);
  964. }
  965. SYNTAX("divu %1%S1, %0");
  966. #line 725 "rx-decode.opc"
  967. ID(divu); SPm(ss, rsrc, mx); DR(rdst); F_O___;
  968. /*----------------------------------------------------------------------*/
  969. /* SHIFT */
  970. }
  971. break;
  972. }
  973. break;
  974. case 0x0c:
  975. GETBYTE ();
  976. switch (op[3] & 0x00)
  977. {
  978. case 0x00:
  979. op_semantics_14:
  980. {
  981. /** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */
  982. #line 498 "rx-decode.opc"
  983. int mx AU = (op[1] >> 6) & 0x03;
  984. #line 498 "rx-decode.opc"
  985. int ss AU = op[1] & 0x03;
  986. #line 498 "rx-decode.opc"
  987. int rsrc AU = (op[3] >> 4) & 0x0f;
  988. #line 498 "rx-decode.opc"
  989. int rdst AU = op[3] & 0x0f;
  990. if (trace)
  991. {
  992. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  993. "/** 0000 0110 mx10 00ss 0000 1100 rsrc rdst tst %1%S1, %2 */",
  994. op[0], op[1], op[2], op[3]);
  995. printf (" mx = 0x%x,", mx);
  996. printf (" ss = 0x%x,", ss);
  997. printf (" rsrc = 0x%x,", rsrc);
  998. printf (" rdst = 0x%x\n", rdst);
  999. }
  1000. SYNTAX("tst %1%S1, %2");
  1001. #line 498 "rx-decode.opc"
  1002. ID(and); SPm(ss, rsrc, mx); S2R(rdst); F__SZ_;
  1003. /*----------------------------------------------------------------------*/
  1004. /* NEG */
  1005. }
  1006. break;
  1007. }
  1008. break;
  1009. case 0x0d:
  1010. GETBYTE ();
  1011. switch (op[3] & 0x00)
  1012. {
  1013. case 0x00:
  1014. op_semantics_15:
  1015. {
  1016. /** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */
  1017. #line 477 "rx-decode.opc"
  1018. int mx AU = (op[1] >> 6) & 0x03;
  1019. #line 477 "rx-decode.opc"
  1020. int ss AU = op[1] & 0x03;
  1021. #line 477 "rx-decode.opc"
  1022. int rsrc AU = (op[3] >> 4) & 0x0f;
  1023. #line 477 "rx-decode.opc"
  1024. int rdst AU = op[3] & 0x0f;
  1025. if (trace)
  1026. {
  1027. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  1028. "/** 0000 0110 mx10 00ss 0000 1101 rsrc rdst xor %1%S1, %0 */",
  1029. op[0], op[1], op[2], op[3]);
  1030. printf (" mx = 0x%x,", mx);
  1031. printf (" ss = 0x%x,", ss);
  1032. printf (" rsrc = 0x%x,", rsrc);
  1033. printf (" rdst = 0x%x\n", rdst);
  1034. }
  1035. SYNTAX("xor %1%S1, %0");
  1036. #line 477 "rx-decode.opc"
  1037. ID(xor); SPm(ss, rsrc, mx); DR(rdst); F__SZ_;
  1038. /*----------------------------------------------------------------------*/
  1039. /* NOT */
  1040. }
  1041. break;
  1042. }
  1043. break;
  1044. case 0x10:
  1045. GETBYTE ();
  1046. switch (op[3] & 0x00)
  1047. {
  1048. case 0x00:
  1049. op_semantics_16:
  1050. {
  1051. /** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */
  1052. #line 411 "rx-decode.opc"
  1053. int mx AU = (op[1] >> 6) & 0x03;
  1054. #line 411 "rx-decode.opc"
  1055. int ss AU = op[1] & 0x03;
  1056. #line 411 "rx-decode.opc"
  1057. int rsrc AU = (op[3] >> 4) & 0x0f;
  1058. #line 411 "rx-decode.opc"
  1059. int rdst AU = op[3] & 0x0f;
  1060. if (trace)
  1061. {
  1062. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  1063. "/** 0000 0110 mx10 00ss 0001 0000 rsrc rdst xchg %1%S1, %0 */",
  1064. op[0], op[1], op[2], op[3]);
  1065. printf (" mx = 0x%x,", mx);
  1066. printf (" ss = 0x%x,", ss);
  1067. printf (" rsrc = 0x%x,", rsrc);
  1068. printf (" rdst = 0x%x\n", rdst);
  1069. }
  1070. SYNTAX("xchg %1%S1, %0");
  1071. #line 411 "rx-decode.opc"
  1072. ID(xchg); DR(rdst); SPm(ss, rsrc, mx);
  1073. /*----------------------------------------------------------------------*/
  1074. /* STZ/STNZ */
  1075. }
  1076. break;
  1077. }
  1078. break;
  1079. case 0x11:
  1080. GETBYTE ();
  1081. switch (op[3] & 0x00)
  1082. {
  1083. case 0x00:
  1084. op_semantics_17:
  1085. {
  1086. /** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */
  1087. #line 954 "rx-decode.opc"
  1088. int mx AU = (op[1] >> 6) & 0x03;
  1089. #line 954 "rx-decode.opc"
  1090. int sd AU = op[1] & 0x03;
  1091. #line 954 "rx-decode.opc"
  1092. int rsrc AU = (op[3] >> 4) & 0x0f;
  1093. #line 954 "rx-decode.opc"
  1094. int rdst AU = op[3] & 0x0f;
  1095. if (trace)
  1096. {
  1097. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  1098. "/** 0000 0110 mx10 00sd 0001 0001 rsrc rdst itof %1%S1, %0 */",
  1099. op[0], op[1], op[2], op[3]);
  1100. printf (" mx = 0x%x,", mx);
  1101. printf (" sd = 0x%x,", sd);
  1102. printf (" rsrc = 0x%x,", rsrc);
  1103. printf (" rdst = 0x%x\n", rdst);
  1104. }
  1105. SYNTAX("itof %1%S1, %0");
  1106. #line 954 "rx-decode.opc"
  1107. ID(itof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
  1108. /*----------------------------------------------------------------------*/
  1109. /* BIT OPS */
  1110. }
  1111. break;
  1112. }
  1113. break;
  1114. case 0x15:
  1115. GETBYTE ();
  1116. switch (op[3] & 0x00)
  1117. {
  1118. case 0x00:
  1119. op_semantics_18:
  1120. {
  1121. /** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */
  1122. #line 1140 "rx-decode.opc"
  1123. int mx AU = (op[1] >> 6) & 0x03;
  1124. #line 1140 "rx-decode.opc"
  1125. int sd AU = op[1] & 0x03;
  1126. #line 1140 "rx-decode.opc"
  1127. int rsrc AU = (op[3] >> 4) & 0x0f;
  1128. #line 1140 "rx-decode.opc"
  1129. int rdst AU = op[3] & 0x0f;
  1130. if (trace)
  1131. {
  1132. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  1133. "/** 0000 0110 mx10 00sd 0001 0101 rsrc rdst utof %1%S1, %0 */",
  1134. op[0], op[1], op[2], op[3]);
  1135. printf (" mx = 0x%x,", mx);
  1136. printf (" sd = 0x%x,", sd);
  1137. printf (" rsrc = 0x%x,", rsrc);
  1138. printf (" rdst = 0x%x\n", rdst);
  1139. }
  1140. SYNTAX("utof %1%S1, %0");
  1141. #line 1140 "rx-decode.opc"
  1142. ID(utof); DR (rdst); SPm(sd, rsrc, mx); F__SZ_;
  1143. /*----------------------------------------------------------------------*/
  1144. /* RXv3 enhanced */
  1145. }
  1146. break;
  1147. }
  1148. break;
  1149. default: UNSUPPORTED(); break;
  1150. }
  1151. break;
  1152. case 0x21:
  1153. GETBYTE ();
  1154. switch (op[2] & 0xff)
  1155. {
  1156. case 0x00:
  1157. GETBYTE ();
  1158. switch (op[3] & 0x00)
  1159. {
  1160. case 0x00:
  1161. goto op_semantics_7;
  1162. break;
  1163. }
  1164. break;
  1165. case 0x04:
  1166. GETBYTE ();
  1167. switch (op[3] & 0x00)
  1168. {
  1169. case 0x00:
  1170. goto op_semantics_8;
  1171. break;
  1172. }
  1173. break;
  1174. case 0x05:
  1175. GETBYTE ();
  1176. switch (op[3] & 0x00)
  1177. {
  1178. case 0x00:
  1179. goto op_semantics_9;
  1180. break;
  1181. }
  1182. break;
  1183. case 0x06:
  1184. GETBYTE ();
  1185. switch (op[3] & 0x00)
  1186. {
  1187. case 0x00:
  1188. goto op_semantics_10;
  1189. break;
  1190. }
  1191. break;
  1192. case 0x07:
  1193. GETBYTE ();
  1194. switch (op[3] & 0x00)
  1195. {
  1196. case 0x00:
  1197. goto op_semantics_11;
  1198. break;
  1199. }
  1200. break;
  1201. case 0x08:
  1202. GETBYTE ();
  1203. switch (op[3] & 0x00)
  1204. {
  1205. case 0x00:
  1206. goto op_semantics_12;
  1207. break;
  1208. }
  1209. break;
  1210. case 0x09:
  1211. GETBYTE ();
  1212. switch (op[3] & 0x00)
  1213. {
  1214. case 0x00:
  1215. goto op_semantics_13;
  1216. break;
  1217. }
  1218. break;
  1219. case 0x0c:
  1220. GETBYTE ();
  1221. switch (op[3] & 0x00)
  1222. {
  1223. case 0x00:
  1224. goto op_semantics_14;
  1225. break;
  1226. }
  1227. break;
  1228. case 0x0d:
  1229. GETBYTE ();
  1230. switch (op[3] & 0x00)
  1231. {
  1232. case 0x00:
  1233. goto op_semantics_15;
  1234. break;
  1235. }
  1236. break;
  1237. case 0x10:
  1238. GETBYTE ();
  1239. switch (op[3] & 0x00)
  1240. {
  1241. case 0x00:
  1242. goto op_semantics_16;
  1243. break;
  1244. }
  1245. break;
  1246. case 0x11:
  1247. GETBYTE ();
  1248. switch (op[3] & 0x00)
  1249. {
  1250. case 0x00:
  1251. goto op_semantics_17;
  1252. break;
  1253. }
  1254. break;
  1255. case 0x15:
  1256. GETBYTE ();
  1257. switch (op[3] & 0x00)
  1258. {
  1259. case 0x00:
  1260. goto op_semantics_18;
  1261. break;
  1262. }
  1263. break;
  1264. default: UNSUPPORTED(); break;
  1265. }
  1266. break;
  1267. case 0x22:
  1268. GETBYTE ();
  1269. switch (op[2] & 0xff)
  1270. {
  1271. case 0x00:
  1272. GETBYTE ();
  1273. switch (op[3] & 0x00)
  1274. {
  1275. case 0x00:
  1276. goto op_semantics_7;
  1277. break;
  1278. }
  1279. break;
  1280. case 0x04:
  1281. GETBYTE ();
  1282. switch (op[3] & 0x00)
  1283. {
  1284. case 0x00:
  1285. goto op_semantics_8;
  1286. break;
  1287. }
  1288. break;
  1289. case 0x05:
  1290. GETBYTE ();
  1291. switch (op[3] & 0x00)
  1292. {
  1293. case 0x00:
  1294. goto op_semantics_9;
  1295. break;
  1296. }
  1297. break;
  1298. case 0x06:
  1299. GETBYTE ();
  1300. switch (op[3] & 0x00)
  1301. {
  1302. case 0x00:
  1303. goto op_semantics_10;
  1304. break;
  1305. }
  1306. break;
  1307. case 0x07:
  1308. GETBYTE ();
  1309. switch (op[3] & 0x00)
  1310. {
  1311. case 0x00:
  1312. goto op_semantics_11;
  1313. break;
  1314. }
  1315. break;
  1316. case 0x08:
  1317. GETBYTE ();
  1318. switch (op[3] & 0x00)
  1319. {
  1320. case 0x00:
  1321. goto op_semantics_12;
  1322. break;
  1323. }
  1324. break;
  1325. case 0x09:
  1326. GETBYTE ();
  1327. switch (op[3] & 0x00)
  1328. {
  1329. case 0x00:
  1330. goto op_semantics_13;
  1331. break;
  1332. }
  1333. break;
  1334. case 0x0c:
  1335. GETBYTE ();
  1336. switch (op[3] & 0x00)
  1337. {
  1338. case 0x00:
  1339. goto op_semantics_14;
  1340. break;
  1341. }
  1342. break;
  1343. case 0x0d:
  1344. GETBYTE ();
  1345. switch (op[3] & 0x00)
  1346. {
  1347. case 0x00:
  1348. goto op_semantics_15;
  1349. break;
  1350. }
  1351. break;
  1352. case 0x10:
  1353. GETBYTE ();
  1354. switch (op[3] & 0x00)
  1355. {
  1356. case 0x00:
  1357. goto op_semantics_16;
  1358. break;
  1359. }
  1360. break;
  1361. case 0x11:
  1362. GETBYTE ();
  1363. switch (op[3] & 0x00)
  1364. {
  1365. case 0x00:
  1366. goto op_semantics_17;
  1367. break;
  1368. }
  1369. break;
  1370. case 0x15:
  1371. GETBYTE ();
  1372. switch (op[3] & 0x00)
  1373. {
  1374. case 0x00:
  1375. goto op_semantics_18;
  1376. break;
  1377. }
  1378. break;
  1379. default: UNSUPPORTED(); break;
  1380. }
  1381. break;
  1382. case 0x23:
  1383. GETBYTE ();
  1384. switch (op[2] & 0xff)
  1385. {
  1386. case 0x00:
  1387. GETBYTE ();
  1388. switch (op[3] & 0x00)
  1389. {
  1390. case 0x00:
  1391. goto op_semantics_7;
  1392. break;
  1393. }
  1394. break;
  1395. case 0x04:
  1396. GETBYTE ();
  1397. switch (op[3] & 0x00)
  1398. {
  1399. case 0x00:
  1400. goto op_semantics_8;
  1401. break;
  1402. }
  1403. break;
  1404. case 0x05:
  1405. GETBYTE ();
  1406. switch (op[3] & 0x00)
  1407. {
  1408. case 0x00:
  1409. goto op_semantics_9;
  1410. break;
  1411. }
  1412. break;
  1413. case 0x06:
  1414. GETBYTE ();
  1415. switch (op[3] & 0x00)
  1416. {
  1417. case 0x00:
  1418. goto op_semantics_10;
  1419. break;
  1420. }
  1421. break;
  1422. case 0x07:
  1423. GETBYTE ();
  1424. switch (op[3] & 0x00)
  1425. {
  1426. case 0x00:
  1427. goto op_semantics_11;
  1428. break;
  1429. }
  1430. break;
  1431. case 0x08:
  1432. GETBYTE ();
  1433. switch (op[3] & 0x00)
  1434. {
  1435. case 0x00:
  1436. goto op_semantics_12;
  1437. break;
  1438. }
  1439. break;
  1440. case 0x09:
  1441. GETBYTE ();
  1442. switch (op[3] & 0x00)
  1443. {
  1444. case 0x00:
  1445. goto op_semantics_13;
  1446. break;
  1447. }
  1448. break;
  1449. case 0x0c:
  1450. GETBYTE ();
  1451. switch (op[3] & 0x00)
  1452. {
  1453. case 0x00:
  1454. goto op_semantics_14;
  1455. break;
  1456. }
  1457. break;
  1458. case 0x0d:
  1459. GETBYTE ();
  1460. switch (op[3] & 0x00)
  1461. {
  1462. case 0x00:
  1463. goto op_semantics_15;
  1464. break;
  1465. }
  1466. break;
  1467. case 0x10:
  1468. GETBYTE ();
  1469. switch (op[3] & 0x00)
  1470. {
  1471. case 0x00:
  1472. goto op_semantics_16;
  1473. break;
  1474. }
  1475. break;
  1476. case 0x11:
  1477. GETBYTE ();
  1478. switch (op[3] & 0x00)
  1479. {
  1480. case 0x00:
  1481. goto op_semantics_17;
  1482. break;
  1483. }
  1484. break;
  1485. case 0x15:
  1486. GETBYTE ();
  1487. switch (op[3] & 0x00)
  1488. {
  1489. case 0x00:
  1490. goto op_semantics_18;
  1491. break;
  1492. }
  1493. break;
  1494. default: UNSUPPORTED(); break;
  1495. }
  1496. break;
  1497. case 0x40:
  1498. GETBYTE ();
  1499. switch (op[2] & 0x00)
  1500. {
  1501. case 0x00:
  1502. goto op_semantics_1;
  1503. break;
  1504. }
  1505. break;
  1506. case 0x41:
  1507. GETBYTE ();
  1508. switch (op[2] & 0x00)
  1509. {
  1510. case 0x00:
  1511. goto op_semantics_1;
  1512. break;
  1513. }
  1514. break;
  1515. case 0x42:
  1516. GETBYTE ();
  1517. switch (op[2] & 0x00)
  1518. {
  1519. case 0x00:
  1520. goto op_semantics_1;
  1521. break;
  1522. }
  1523. break;
  1524. case 0x43:
  1525. GETBYTE ();
  1526. switch (op[2] & 0x00)
  1527. {
  1528. case 0x00:
  1529. goto op_semantics_1;
  1530. break;
  1531. }
  1532. break;
  1533. case 0x44:
  1534. GETBYTE ();
  1535. switch (op[2] & 0x00)
  1536. {
  1537. case 0x00:
  1538. goto op_semantics_2;
  1539. break;
  1540. }
  1541. break;
  1542. case 0x45:
  1543. GETBYTE ();
  1544. switch (op[2] & 0x00)
  1545. {
  1546. case 0x00:
  1547. goto op_semantics_2;
  1548. break;
  1549. }
  1550. break;
  1551. case 0x46:
  1552. GETBYTE ();
  1553. switch (op[2] & 0x00)
  1554. {
  1555. case 0x00:
  1556. goto op_semantics_2;
  1557. break;
  1558. }
  1559. break;
  1560. case 0x47:
  1561. GETBYTE ();
  1562. switch (op[2] & 0x00)
  1563. {
  1564. case 0x00:
  1565. goto op_semantics_2;
  1566. break;
  1567. }
  1568. break;
  1569. case 0x48:
  1570. GETBYTE ();
  1571. switch (op[2] & 0x00)
  1572. {
  1573. case 0x00:
  1574. goto op_semantics_3;
  1575. break;
  1576. }
  1577. break;
  1578. case 0x49:
  1579. GETBYTE ();
  1580. switch (op[2] & 0x00)
  1581. {
  1582. case 0x00:
  1583. goto op_semantics_3;
  1584. break;
  1585. }
  1586. break;
  1587. case 0x4a:
  1588. GETBYTE ();
  1589. switch (op[2] & 0x00)
  1590. {
  1591. case 0x00:
  1592. goto op_semantics_3;
  1593. break;
  1594. }
  1595. break;
  1596. case 0x4b:
  1597. GETBYTE ();
  1598. switch (op[2] & 0x00)
  1599. {
  1600. case 0x00:
  1601. goto op_semantics_3;
  1602. break;
  1603. }
  1604. break;
  1605. case 0x4c:
  1606. GETBYTE ();
  1607. switch (op[2] & 0x00)
  1608. {
  1609. case 0x00:
  1610. goto op_semantics_4;
  1611. break;
  1612. }
  1613. break;
  1614. case 0x4d:
  1615. GETBYTE ();
  1616. switch (op[2] & 0x00)
  1617. {
  1618. case 0x00:
  1619. goto op_semantics_4;
  1620. break;
  1621. }
  1622. break;
  1623. case 0x4e:
  1624. GETBYTE ();
  1625. switch (op[2] & 0x00)
  1626. {
  1627. case 0x00:
  1628. goto op_semantics_4;
  1629. break;
  1630. }
  1631. break;
  1632. case 0x4f:
  1633. GETBYTE ();
  1634. switch (op[2] & 0x00)
  1635. {
  1636. case 0x00:
  1637. goto op_semantics_4;
  1638. break;
  1639. }
  1640. break;
  1641. case 0x50:
  1642. GETBYTE ();
  1643. switch (op[2] & 0x00)
  1644. {
  1645. case 0x00:
  1646. goto op_semantics_5;
  1647. break;
  1648. }
  1649. break;
  1650. case 0x51:
  1651. GETBYTE ();
  1652. switch (op[2] & 0x00)
  1653. {
  1654. case 0x00:
  1655. goto op_semantics_5;
  1656. break;
  1657. }
  1658. break;
  1659. case 0x52:
  1660. GETBYTE ();
  1661. switch (op[2] & 0x00)
  1662. {
  1663. case 0x00:
  1664. goto op_semantics_5;
  1665. break;
  1666. }
  1667. break;
  1668. case 0x53:
  1669. GETBYTE ();
  1670. switch (op[2] & 0x00)
  1671. {
  1672. case 0x00:
  1673. goto op_semantics_5;
  1674. break;
  1675. }
  1676. break;
  1677. case 0x54:
  1678. GETBYTE ();
  1679. switch (op[2] & 0x00)
  1680. {
  1681. case 0x00:
  1682. goto op_semantics_6;
  1683. break;
  1684. }
  1685. break;
  1686. case 0x55:
  1687. GETBYTE ();
  1688. switch (op[2] & 0x00)
  1689. {
  1690. case 0x00:
  1691. goto op_semantics_6;
  1692. break;
  1693. }
  1694. break;
  1695. case 0x56:
  1696. GETBYTE ();
  1697. switch (op[2] & 0x00)
  1698. {
  1699. case 0x00:
  1700. goto op_semantics_6;
  1701. break;
  1702. }
  1703. break;
  1704. case 0x57:
  1705. GETBYTE ();
  1706. switch (op[2] & 0x00)
  1707. {
  1708. case 0x00:
  1709. goto op_semantics_6;
  1710. break;
  1711. }
  1712. break;
  1713. case 0x60:
  1714. GETBYTE ();
  1715. switch (op[2] & 0xff)
  1716. {
  1717. case 0x00:
  1718. GETBYTE ();
  1719. switch (op[3] & 0x00)
  1720. {
  1721. case 0x00:
  1722. goto op_semantics_7;
  1723. break;
  1724. }
  1725. break;
  1726. case 0x04:
  1727. GETBYTE ();
  1728. switch (op[3] & 0x00)
  1729. {
  1730. case 0x00:
  1731. goto op_semantics_8;
  1732. break;
  1733. }
  1734. break;
  1735. case 0x05:
  1736. GETBYTE ();
  1737. switch (op[3] & 0x00)
  1738. {
  1739. case 0x00:
  1740. goto op_semantics_9;
  1741. break;
  1742. }
  1743. break;
  1744. case 0x06:
  1745. GETBYTE ();
  1746. switch (op[3] & 0x00)
  1747. {
  1748. case 0x00:
  1749. goto op_semantics_10;
  1750. break;
  1751. }
  1752. break;
  1753. case 0x07:
  1754. GETBYTE ();
  1755. switch (op[3] & 0x00)
  1756. {
  1757. case 0x00:
  1758. goto op_semantics_11;
  1759. break;
  1760. }
  1761. break;
  1762. case 0x08:
  1763. GETBYTE ();
  1764. switch (op[3] & 0x00)
  1765. {
  1766. case 0x00:
  1767. goto op_semantics_12;
  1768. break;
  1769. }
  1770. break;
  1771. case 0x09:
  1772. GETBYTE ();
  1773. switch (op[3] & 0x00)
  1774. {
  1775. case 0x00:
  1776. goto op_semantics_13;
  1777. break;
  1778. }
  1779. break;
  1780. case 0x0c:
  1781. GETBYTE ();
  1782. switch (op[3] & 0x00)
  1783. {
  1784. case 0x00:
  1785. goto op_semantics_14;
  1786. break;
  1787. }
  1788. break;
  1789. case 0x0d:
  1790. GETBYTE ();
  1791. switch (op[3] & 0x00)
  1792. {
  1793. case 0x00:
  1794. goto op_semantics_15;
  1795. break;
  1796. }
  1797. break;
  1798. case 0x10:
  1799. GETBYTE ();
  1800. switch (op[3] & 0x00)
  1801. {
  1802. case 0x00:
  1803. goto op_semantics_16;
  1804. break;
  1805. }
  1806. break;
  1807. case 0x11:
  1808. GETBYTE ();
  1809. switch (op[3] & 0x00)
  1810. {
  1811. case 0x00:
  1812. goto op_semantics_17;
  1813. break;
  1814. }
  1815. break;
  1816. case 0x15:
  1817. GETBYTE ();
  1818. switch (op[3] & 0x00)
  1819. {
  1820. case 0x00:
  1821. goto op_semantics_18;
  1822. break;
  1823. }
  1824. break;
  1825. default: UNSUPPORTED(); break;
  1826. }
  1827. break;
  1828. case 0x61:
  1829. GETBYTE ();
  1830. switch (op[2] & 0xff)
  1831. {
  1832. case 0x00:
  1833. GETBYTE ();
  1834. switch (op[3] & 0x00)
  1835. {
  1836. case 0x00:
  1837. goto op_semantics_7;
  1838. break;
  1839. }
  1840. break;
  1841. case 0x04:
  1842. GETBYTE ();
  1843. switch (op[3] & 0x00)
  1844. {
  1845. case 0x00:
  1846. goto op_semantics_8;
  1847. break;
  1848. }
  1849. break;
  1850. case 0x05:
  1851. GETBYTE ();
  1852. switch (op[3] & 0x00)
  1853. {
  1854. case 0x00:
  1855. goto op_semantics_9;
  1856. break;
  1857. }
  1858. break;
  1859. case 0x06:
  1860. GETBYTE ();
  1861. switch (op[3] & 0x00)
  1862. {
  1863. case 0x00:
  1864. goto op_semantics_10;
  1865. break;
  1866. }
  1867. break;
  1868. case 0x07:
  1869. GETBYTE ();
  1870. switch (op[3] & 0x00)
  1871. {
  1872. case 0x00:
  1873. goto op_semantics_11;
  1874. break;
  1875. }
  1876. break;
  1877. case 0x08:
  1878. GETBYTE ();
  1879. switch (op[3] & 0x00)
  1880. {
  1881. case 0x00:
  1882. goto op_semantics_12;
  1883. break;
  1884. }
  1885. break;
  1886. case 0x09:
  1887. GETBYTE ();
  1888. switch (op[3] & 0x00)
  1889. {
  1890. case 0x00:
  1891. goto op_semantics_13;
  1892. break;
  1893. }
  1894. break;
  1895. case 0x0c:
  1896. GETBYTE ();
  1897. switch (op[3] & 0x00)
  1898. {
  1899. case 0x00:
  1900. goto op_semantics_14;
  1901. break;
  1902. }
  1903. break;
  1904. case 0x0d:
  1905. GETBYTE ();
  1906. switch (op[3] & 0x00)
  1907. {
  1908. case 0x00:
  1909. goto op_semantics_15;
  1910. break;
  1911. }
  1912. break;
  1913. case 0x10:
  1914. GETBYTE ();
  1915. switch (op[3] & 0x00)
  1916. {
  1917. case 0x00:
  1918. goto op_semantics_16;
  1919. break;
  1920. }
  1921. break;
  1922. case 0x11:
  1923. GETBYTE ();
  1924. switch (op[3] & 0x00)
  1925. {
  1926. case 0x00:
  1927. goto op_semantics_17;
  1928. break;
  1929. }
  1930. break;
  1931. case 0x15:
  1932. GETBYTE ();
  1933. switch (op[3] & 0x00)
  1934. {
  1935. case 0x00:
  1936. goto op_semantics_18;
  1937. break;
  1938. }
  1939. break;
  1940. default: UNSUPPORTED(); break;
  1941. }
  1942. break;
  1943. case 0x62:
  1944. GETBYTE ();
  1945. switch (op[2] & 0xff)
  1946. {
  1947. case 0x00:
  1948. GETBYTE ();
  1949. switch (op[3] & 0x00)
  1950. {
  1951. case 0x00:
  1952. goto op_semantics_7;
  1953. break;
  1954. }
  1955. break;
  1956. case 0x04:
  1957. GETBYTE ();
  1958. switch (op[3] & 0x00)
  1959. {
  1960. case 0x00:
  1961. goto op_semantics_8;
  1962. break;
  1963. }
  1964. break;
  1965. case 0x05:
  1966. GETBYTE ();
  1967. switch (op[3] & 0x00)
  1968. {
  1969. case 0x00:
  1970. goto op_semantics_9;
  1971. break;
  1972. }
  1973. break;
  1974. case 0x06:
  1975. GETBYTE ();
  1976. switch (op[3] & 0x00)
  1977. {
  1978. case 0x00:
  1979. goto op_semantics_10;
  1980. break;
  1981. }
  1982. break;
  1983. case 0x07:
  1984. GETBYTE ();
  1985. switch (op[3] & 0x00)
  1986. {
  1987. case 0x00:
  1988. goto op_semantics_11;
  1989. break;
  1990. }
  1991. break;
  1992. case 0x08:
  1993. GETBYTE ();
  1994. switch (op[3] & 0x00)
  1995. {
  1996. case 0x00:
  1997. goto op_semantics_12;
  1998. break;
  1999. }
  2000. break;
  2001. case 0x09:
  2002. GETBYTE ();
  2003. switch (op[3] & 0x00)
  2004. {
  2005. case 0x00:
  2006. goto op_semantics_13;
  2007. break;
  2008. }
  2009. break;
  2010. case 0x0c:
  2011. GETBYTE ();
  2012. switch (op[3] & 0x00)
  2013. {
  2014. case 0x00:
  2015. goto op_semantics_14;
  2016. break;
  2017. }
  2018. break;
  2019. case 0x0d:
  2020. GETBYTE ();
  2021. switch (op[3] & 0x00)
  2022. {
  2023. case 0x00:
  2024. goto op_semantics_15;
  2025. break;
  2026. }
  2027. break;
  2028. case 0x10:
  2029. GETBYTE ();
  2030. switch (op[3] & 0x00)
  2031. {
  2032. case 0x00:
  2033. goto op_semantics_16;
  2034. break;
  2035. }
  2036. break;
  2037. case 0x11:
  2038. GETBYTE ();
  2039. switch (op[3] & 0x00)
  2040. {
  2041. case 0x00:
  2042. goto op_semantics_17;
  2043. break;
  2044. }
  2045. break;
  2046. case 0x15:
  2047. GETBYTE ();
  2048. switch (op[3] & 0x00)
  2049. {
  2050. case 0x00:
  2051. goto op_semantics_18;
  2052. break;
  2053. }
  2054. break;
  2055. default: UNSUPPORTED(); break;
  2056. }
  2057. break;
  2058. case 0x63:
  2059. GETBYTE ();
  2060. switch (op[2] & 0xff)
  2061. {
  2062. case 0x00:
  2063. GETBYTE ();
  2064. switch (op[3] & 0x00)
  2065. {
  2066. case 0x00:
  2067. goto op_semantics_7;
  2068. break;
  2069. }
  2070. break;
  2071. case 0x04:
  2072. GETBYTE ();
  2073. switch (op[3] & 0x00)
  2074. {
  2075. case 0x00:
  2076. goto op_semantics_8;
  2077. break;
  2078. }
  2079. break;
  2080. case 0x05:
  2081. GETBYTE ();
  2082. switch (op[3] & 0x00)
  2083. {
  2084. case 0x00:
  2085. goto op_semantics_9;
  2086. break;
  2087. }
  2088. break;
  2089. case 0x06:
  2090. GETBYTE ();
  2091. switch (op[3] & 0x00)
  2092. {
  2093. case 0x00:
  2094. goto op_semantics_10;
  2095. break;
  2096. }
  2097. break;
  2098. case 0x07:
  2099. GETBYTE ();
  2100. switch (op[3] & 0x00)
  2101. {
  2102. case 0x00:
  2103. goto op_semantics_11;
  2104. break;
  2105. }
  2106. break;
  2107. case 0x08:
  2108. GETBYTE ();
  2109. switch (op[3] & 0x00)
  2110. {
  2111. case 0x00:
  2112. goto op_semantics_12;
  2113. break;
  2114. }
  2115. break;
  2116. case 0x09:
  2117. GETBYTE ();
  2118. switch (op[3] & 0x00)
  2119. {
  2120. case 0x00:
  2121. goto op_semantics_13;
  2122. break;
  2123. }
  2124. break;
  2125. case 0x0c:
  2126. GETBYTE ();
  2127. switch (op[3] & 0x00)
  2128. {
  2129. case 0x00:
  2130. goto op_semantics_14;
  2131. break;
  2132. }
  2133. break;
  2134. case 0x0d:
  2135. GETBYTE ();
  2136. switch (op[3] & 0x00)
  2137. {
  2138. case 0x00:
  2139. goto op_semantics_15;
  2140. break;
  2141. }
  2142. break;
  2143. case 0x10:
  2144. GETBYTE ();
  2145. switch (op[3] & 0x00)
  2146. {
  2147. case 0x00:
  2148. goto op_semantics_16;
  2149. break;
  2150. }
  2151. break;
  2152. case 0x11:
  2153. GETBYTE ();
  2154. switch (op[3] & 0x00)
  2155. {
  2156. case 0x00:
  2157. goto op_semantics_17;
  2158. break;
  2159. }
  2160. break;
  2161. case 0x15:
  2162. GETBYTE ();
  2163. switch (op[3] & 0x00)
  2164. {
  2165. case 0x00:
  2166. goto op_semantics_18;
  2167. break;
  2168. }
  2169. break;
  2170. default: UNSUPPORTED(); break;
  2171. }
  2172. break;
  2173. case 0x80:
  2174. GETBYTE ();
  2175. switch (op[2] & 0x00)
  2176. {
  2177. case 0x00:
  2178. goto op_semantics_1;
  2179. break;
  2180. }
  2181. break;
  2182. case 0x81:
  2183. GETBYTE ();
  2184. switch (op[2] & 0x00)
  2185. {
  2186. case 0x00:
  2187. goto op_semantics_1;
  2188. break;
  2189. }
  2190. break;
  2191. case 0x82:
  2192. GETBYTE ();
  2193. switch (op[2] & 0x00)
  2194. {
  2195. case 0x00:
  2196. goto op_semantics_1;
  2197. break;
  2198. }
  2199. break;
  2200. case 0x83:
  2201. GETBYTE ();
  2202. switch (op[2] & 0x00)
  2203. {
  2204. case 0x00:
  2205. goto op_semantics_1;
  2206. break;
  2207. }
  2208. break;
  2209. case 0x84:
  2210. GETBYTE ();
  2211. switch (op[2] & 0x00)
  2212. {
  2213. case 0x00:
  2214. goto op_semantics_2;
  2215. break;
  2216. }
  2217. break;
  2218. case 0x85:
  2219. GETBYTE ();
  2220. switch (op[2] & 0x00)
  2221. {
  2222. case 0x00:
  2223. goto op_semantics_2;
  2224. break;
  2225. }
  2226. break;
  2227. case 0x86:
  2228. GETBYTE ();
  2229. switch (op[2] & 0x00)
  2230. {
  2231. case 0x00:
  2232. goto op_semantics_2;
  2233. break;
  2234. }
  2235. break;
  2236. case 0x87:
  2237. GETBYTE ();
  2238. switch (op[2] & 0x00)
  2239. {
  2240. case 0x00:
  2241. goto op_semantics_2;
  2242. break;
  2243. }
  2244. break;
  2245. case 0x88:
  2246. GETBYTE ();
  2247. switch (op[2] & 0x00)
  2248. {
  2249. case 0x00:
  2250. goto op_semantics_3;
  2251. break;
  2252. }
  2253. break;
  2254. case 0x89:
  2255. GETBYTE ();
  2256. switch (op[2] & 0x00)
  2257. {
  2258. case 0x00:
  2259. goto op_semantics_3;
  2260. break;
  2261. }
  2262. break;
  2263. case 0x8a:
  2264. GETBYTE ();
  2265. switch (op[2] & 0x00)
  2266. {
  2267. case 0x00:
  2268. goto op_semantics_3;
  2269. break;
  2270. }
  2271. break;
  2272. case 0x8b:
  2273. GETBYTE ();
  2274. switch (op[2] & 0x00)
  2275. {
  2276. case 0x00:
  2277. goto op_semantics_3;
  2278. break;
  2279. }
  2280. break;
  2281. case 0x8c:
  2282. GETBYTE ();
  2283. switch (op[2] & 0x00)
  2284. {
  2285. case 0x00:
  2286. goto op_semantics_4;
  2287. break;
  2288. }
  2289. break;
  2290. case 0x8d:
  2291. GETBYTE ();
  2292. switch (op[2] & 0x00)
  2293. {
  2294. case 0x00:
  2295. goto op_semantics_4;
  2296. break;
  2297. }
  2298. break;
  2299. case 0x8e:
  2300. GETBYTE ();
  2301. switch (op[2] & 0x00)
  2302. {
  2303. case 0x00:
  2304. goto op_semantics_4;
  2305. break;
  2306. }
  2307. break;
  2308. case 0x8f:
  2309. GETBYTE ();
  2310. switch (op[2] & 0x00)
  2311. {
  2312. case 0x00:
  2313. goto op_semantics_4;
  2314. break;
  2315. }
  2316. break;
  2317. case 0x90:
  2318. GETBYTE ();
  2319. switch (op[2] & 0x00)
  2320. {
  2321. case 0x00:
  2322. goto op_semantics_5;
  2323. break;
  2324. }
  2325. break;
  2326. case 0x91:
  2327. GETBYTE ();
  2328. switch (op[2] & 0x00)
  2329. {
  2330. case 0x00:
  2331. goto op_semantics_5;
  2332. break;
  2333. }
  2334. break;
  2335. case 0x92:
  2336. GETBYTE ();
  2337. switch (op[2] & 0x00)
  2338. {
  2339. case 0x00:
  2340. goto op_semantics_5;
  2341. break;
  2342. }
  2343. break;
  2344. case 0x93:
  2345. GETBYTE ();
  2346. switch (op[2] & 0x00)
  2347. {
  2348. case 0x00:
  2349. goto op_semantics_5;
  2350. break;
  2351. }
  2352. break;
  2353. case 0x94:
  2354. GETBYTE ();
  2355. switch (op[2] & 0x00)
  2356. {
  2357. case 0x00:
  2358. goto op_semantics_6;
  2359. break;
  2360. }
  2361. break;
  2362. case 0x95:
  2363. GETBYTE ();
  2364. switch (op[2] & 0x00)
  2365. {
  2366. case 0x00:
  2367. goto op_semantics_6;
  2368. break;
  2369. }
  2370. break;
  2371. case 0x96:
  2372. GETBYTE ();
  2373. switch (op[2] & 0x00)
  2374. {
  2375. case 0x00:
  2376. goto op_semantics_6;
  2377. break;
  2378. }
  2379. break;
  2380. case 0x97:
  2381. GETBYTE ();
  2382. switch (op[2] & 0x00)
  2383. {
  2384. case 0x00:
  2385. goto op_semantics_6;
  2386. break;
  2387. }
  2388. break;
  2389. case 0xa0:
  2390. GETBYTE ();
  2391. switch (op[2] & 0xff)
  2392. {
  2393. case 0x00:
  2394. GETBYTE ();
  2395. switch (op[3] & 0x00)
  2396. {
  2397. case 0x00:
  2398. goto op_semantics_7;
  2399. break;
  2400. }
  2401. break;
  2402. case 0x02:
  2403. GETBYTE ();
  2404. switch (op[3] & 0x00)
  2405. {
  2406. case 0x00:
  2407. op_semantics_19:
  2408. {
  2409. /** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */
  2410. #line 519 "rx-decode.opc"
  2411. int ss AU = op[1] & 0x03;
  2412. #line 519 "rx-decode.opc"
  2413. int rsrc AU = (op[3] >> 4) & 0x0f;
  2414. #line 519 "rx-decode.opc"
  2415. int rdst AU = op[3] & 0x0f;
  2416. if (trace)
  2417. {
  2418. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  2419. "/** 0000 0110 1010 00ss 0000 0010 rsrc rdst adc %1%S1, %0 */",
  2420. op[0], op[1], op[2], op[3]);
  2421. printf (" ss = 0x%x,", ss);
  2422. printf (" rsrc = 0x%x,", rsrc);
  2423. printf (" rdst = 0x%x\n", rdst);
  2424. }
  2425. SYNTAX("adc %1%S1, %0");
  2426. #line 519 "rx-decode.opc"
  2427. ID(adc); SPm(ss, rsrc, 2); DR(rdst); F_OSZC;
  2428. /*----------------------------------------------------------------------*/
  2429. /* ADD */
  2430. }
  2431. break;
  2432. }
  2433. break;
  2434. case 0x04:
  2435. GETBYTE ();
  2436. switch (op[3] & 0x00)
  2437. {
  2438. case 0x00:
  2439. goto op_semantics_8;
  2440. break;
  2441. }
  2442. break;
  2443. case 0x05:
  2444. GETBYTE ();
  2445. switch (op[3] & 0x00)
  2446. {
  2447. case 0x00:
  2448. goto op_semantics_9;
  2449. break;
  2450. }
  2451. break;
  2452. case 0x06:
  2453. GETBYTE ();
  2454. switch (op[3] & 0x00)
  2455. {
  2456. case 0x00:
  2457. goto op_semantics_10;
  2458. break;
  2459. }
  2460. break;
  2461. case 0x07:
  2462. GETBYTE ();
  2463. switch (op[3] & 0x00)
  2464. {
  2465. case 0x00:
  2466. goto op_semantics_11;
  2467. break;
  2468. }
  2469. break;
  2470. case 0x08:
  2471. GETBYTE ();
  2472. switch (op[3] & 0x00)
  2473. {
  2474. case 0x00:
  2475. goto op_semantics_12;
  2476. break;
  2477. }
  2478. break;
  2479. case 0x09:
  2480. GETBYTE ();
  2481. switch (op[3] & 0x00)
  2482. {
  2483. case 0x00:
  2484. goto op_semantics_13;
  2485. break;
  2486. }
  2487. break;
  2488. case 0x0c:
  2489. GETBYTE ();
  2490. switch (op[3] & 0x00)
  2491. {
  2492. case 0x00:
  2493. goto op_semantics_14;
  2494. break;
  2495. }
  2496. break;
  2497. case 0x0d:
  2498. GETBYTE ();
  2499. switch (op[3] & 0x00)
  2500. {
  2501. case 0x00:
  2502. goto op_semantics_15;
  2503. break;
  2504. }
  2505. break;
  2506. case 0x10:
  2507. GETBYTE ();
  2508. switch (op[3] & 0x00)
  2509. {
  2510. case 0x00:
  2511. goto op_semantics_16;
  2512. break;
  2513. }
  2514. break;
  2515. case 0x11:
  2516. GETBYTE ();
  2517. switch (op[3] & 0x00)
  2518. {
  2519. case 0x00:
  2520. goto op_semantics_17;
  2521. break;
  2522. }
  2523. break;
  2524. case 0x15:
  2525. GETBYTE ();
  2526. switch (op[3] & 0x00)
  2527. {
  2528. case 0x00:
  2529. goto op_semantics_18;
  2530. break;
  2531. }
  2532. break;
  2533. default: UNSUPPORTED(); break;
  2534. }
  2535. break;
  2536. case 0xa1:
  2537. GETBYTE ();
  2538. switch (op[2] & 0xff)
  2539. {
  2540. case 0x00:
  2541. GETBYTE ();
  2542. switch (op[3] & 0x00)
  2543. {
  2544. case 0x00:
  2545. goto op_semantics_7;
  2546. break;
  2547. }
  2548. break;
  2549. case 0x02:
  2550. GETBYTE ();
  2551. switch (op[3] & 0x00)
  2552. {
  2553. case 0x00:
  2554. goto op_semantics_19;
  2555. break;
  2556. }
  2557. break;
  2558. case 0x04:
  2559. GETBYTE ();
  2560. switch (op[3] & 0x00)
  2561. {
  2562. case 0x00:
  2563. goto op_semantics_8;
  2564. break;
  2565. }
  2566. break;
  2567. case 0x05:
  2568. GETBYTE ();
  2569. switch (op[3] & 0x00)
  2570. {
  2571. case 0x00:
  2572. goto op_semantics_9;
  2573. break;
  2574. }
  2575. break;
  2576. case 0x06:
  2577. GETBYTE ();
  2578. switch (op[3] & 0x00)
  2579. {
  2580. case 0x00:
  2581. goto op_semantics_10;
  2582. break;
  2583. }
  2584. break;
  2585. case 0x07:
  2586. GETBYTE ();
  2587. switch (op[3] & 0x00)
  2588. {
  2589. case 0x00:
  2590. goto op_semantics_11;
  2591. break;
  2592. }
  2593. break;
  2594. case 0x08:
  2595. GETBYTE ();
  2596. switch (op[3] & 0x00)
  2597. {
  2598. case 0x00:
  2599. goto op_semantics_12;
  2600. break;
  2601. }
  2602. break;
  2603. case 0x09:
  2604. GETBYTE ();
  2605. switch (op[3] & 0x00)
  2606. {
  2607. case 0x00:
  2608. goto op_semantics_13;
  2609. break;
  2610. }
  2611. break;
  2612. case 0x0c:
  2613. GETBYTE ();
  2614. switch (op[3] & 0x00)
  2615. {
  2616. case 0x00:
  2617. goto op_semantics_14;
  2618. break;
  2619. }
  2620. break;
  2621. case 0x0d:
  2622. GETBYTE ();
  2623. switch (op[3] & 0x00)
  2624. {
  2625. case 0x00:
  2626. goto op_semantics_15;
  2627. break;
  2628. }
  2629. break;
  2630. case 0x10:
  2631. GETBYTE ();
  2632. switch (op[3] & 0x00)
  2633. {
  2634. case 0x00:
  2635. goto op_semantics_16;
  2636. break;
  2637. }
  2638. break;
  2639. case 0x11:
  2640. GETBYTE ();
  2641. switch (op[3] & 0x00)
  2642. {
  2643. case 0x00:
  2644. goto op_semantics_17;
  2645. break;
  2646. }
  2647. break;
  2648. case 0x15:
  2649. GETBYTE ();
  2650. switch (op[3] & 0x00)
  2651. {
  2652. case 0x00:
  2653. goto op_semantics_18;
  2654. break;
  2655. }
  2656. break;
  2657. default: UNSUPPORTED(); break;
  2658. }
  2659. break;
  2660. case 0xa2:
  2661. GETBYTE ();
  2662. switch (op[2] & 0xff)
  2663. {
  2664. case 0x00:
  2665. GETBYTE ();
  2666. switch (op[3] & 0x00)
  2667. {
  2668. case 0x00:
  2669. goto op_semantics_7;
  2670. break;
  2671. }
  2672. break;
  2673. case 0x02:
  2674. GETBYTE ();
  2675. switch (op[3] & 0x00)
  2676. {
  2677. case 0x00:
  2678. goto op_semantics_19;
  2679. break;
  2680. }
  2681. break;
  2682. case 0x04:
  2683. GETBYTE ();
  2684. switch (op[3] & 0x00)
  2685. {
  2686. case 0x00:
  2687. goto op_semantics_8;
  2688. break;
  2689. }
  2690. break;
  2691. case 0x05:
  2692. GETBYTE ();
  2693. switch (op[3] & 0x00)
  2694. {
  2695. case 0x00:
  2696. goto op_semantics_9;
  2697. break;
  2698. }
  2699. break;
  2700. case 0x06:
  2701. GETBYTE ();
  2702. switch (op[3] & 0x00)
  2703. {
  2704. case 0x00:
  2705. goto op_semantics_10;
  2706. break;
  2707. }
  2708. break;
  2709. case 0x07:
  2710. GETBYTE ();
  2711. switch (op[3] & 0x00)
  2712. {
  2713. case 0x00:
  2714. goto op_semantics_11;
  2715. break;
  2716. }
  2717. break;
  2718. case 0x08:
  2719. GETBYTE ();
  2720. switch (op[3] & 0x00)
  2721. {
  2722. case 0x00:
  2723. goto op_semantics_12;
  2724. break;
  2725. }
  2726. break;
  2727. case 0x09:
  2728. GETBYTE ();
  2729. switch (op[3] & 0x00)
  2730. {
  2731. case 0x00:
  2732. goto op_semantics_13;
  2733. break;
  2734. }
  2735. break;
  2736. case 0x0c:
  2737. GETBYTE ();
  2738. switch (op[3] & 0x00)
  2739. {
  2740. case 0x00:
  2741. goto op_semantics_14;
  2742. break;
  2743. }
  2744. break;
  2745. case 0x0d:
  2746. GETBYTE ();
  2747. switch (op[3] & 0x00)
  2748. {
  2749. case 0x00:
  2750. goto op_semantics_15;
  2751. break;
  2752. }
  2753. break;
  2754. case 0x10:
  2755. GETBYTE ();
  2756. switch (op[3] & 0x00)
  2757. {
  2758. case 0x00:
  2759. goto op_semantics_16;
  2760. break;
  2761. }
  2762. break;
  2763. case 0x11:
  2764. GETBYTE ();
  2765. switch (op[3] & 0x00)
  2766. {
  2767. case 0x00:
  2768. goto op_semantics_17;
  2769. break;
  2770. }
  2771. break;
  2772. case 0x15:
  2773. GETBYTE ();
  2774. switch (op[3] & 0x00)
  2775. {
  2776. case 0x00:
  2777. goto op_semantics_18;
  2778. break;
  2779. }
  2780. break;
  2781. default: UNSUPPORTED(); break;
  2782. }
  2783. break;
  2784. case 0xa3:
  2785. GETBYTE ();
  2786. switch (op[2] & 0xff)
  2787. {
  2788. case 0x00:
  2789. GETBYTE ();
  2790. switch (op[3] & 0x00)
  2791. {
  2792. case 0x00:
  2793. goto op_semantics_7;
  2794. break;
  2795. }
  2796. break;
  2797. case 0x02:
  2798. GETBYTE ();
  2799. switch (op[3] & 0x00)
  2800. {
  2801. case 0x00:
  2802. goto op_semantics_19;
  2803. break;
  2804. }
  2805. break;
  2806. case 0x04:
  2807. GETBYTE ();
  2808. switch (op[3] & 0x00)
  2809. {
  2810. case 0x00:
  2811. goto op_semantics_8;
  2812. break;
  2813. }
  2814. break;
  2815. case 0x05:
  2816. GETBYTE ();
  2817. switch (op[3] & 0x00)
  2818. {
  2819. case 0x00:
  2820. goto op_semantics_9;
  2821. break;
  2822. }
  2823. break;
  2824. case 0x06:
  2825. GETBYTE ();
  2826. switch (op[3] & 0x00)
  2827. {
  2828. case 0x00:
  2829. goto op_semantics_10;
  2830. break;
  2831. }
  2832. break;
  2833. case 0x07:
  2834. GETBYTE ();
  2835. switch (op[3] & 0x00)
  2836. {
  2837. case 0x00:
  2838. goto op_semantics_11;
  2839. break;
  2840. }
  2841. break;
  2842. case 0x08:
  2843. GETBYTE ();
  2844. switch (op[3] & 0x00)
  2845. {
  2846. case 0x00:
  2847. goto op_semantics_12;
  2848. break;
  2849. }
  2850. break;
  2851. case 0x09:
  2852. GETBYTE ();
  2853. switch (op[3] & 0x00)
  2854. {
  2855. case 0x00:
  2856. goto op_semantics_13;
  2857. break;
  2858. }
  2859. break;
  2860. case 0x0c:
  2861. GETBYTE ();
  2862. switch (op[3] & 0x00)
  2863. {
  2864. case 0x00:
  2865. goto op_semantics_14;
  2866. break;
  2867. }
  2868. break;
  2869. case 0x0d:
  2870. GETBYTE ();
  2871. switch (op[3] & 0x00)
  2872. {
  2873. case 0x00:
  2874. goto op_semantics_15;
  2875. break;
  2876. }
  2877. break;
  2878. case 0x10:
  2879. GETBYTE ();
  2880. switch (op[3] & 0x00)
  2881. {
  2882. case 0x00:
  2883. goto op_semantics_16;
  2884. break;
  2885. }
  2886. break;
  2887. case 0x11:
  2888. GETBYTE ();
  2889. switch (op[3] & 0x00)
  2890. {
  2891. case 0x00:
  2892. goto op_semantics_17;
  2893. break;
  2894. }
  2895. break;
  2896. case 0x15:
  2897. GETBYTE ();
  2898. switch (op[3] & 0x00)
  2899. {
  2900. case 0x00:
  2901. goto op_semantics_18;
  2902. break;
  2903. }
  2904. break;
  2905. default: UNSUPPORTED(); break;
  2906. }
  2907. break;
  2908. case 0xc0:
  2909. GETBYTE ();
  2910. switch (op[2] & 0x00)
  2911. {
  2912. case 0x00:
  2913. goto op_semantics_1;
  2914. break;
  2915. }
  2916. break;
  2917. case 0xc1:
  2918. GETBYTE ();
  2919. switch (op[2] & 0x00)
  2920. {
  2921. case 0x00:
  2922. goto op_semantics_1;
  2923. break;
  2924. }
  2925. break;
  2926. case 0xc2:
  2927. GETBYTE ();
  2928. switch (op[2] & 0x00)
  2929. {
  2930. case 0x00:
  2931. goto op_semantics_1;
  2932. break;
  2933. }
  2934. break;
  2935. case 0xc3:
  2936. GETBYTE ();
  2937. switch (op[2] & 0x00)
  2938. {
  2939. case 0x00:
  2940. goto op_semantics_1;
  2941. break;
  2942. }
  2943. break;
  2944. case 0xc4:
  2945. GETBYTE ();
  2946. switch (op[2] & 0x00)
  2947. {
  2948. case 0x00:
  2949. goto op_semantics_2;
  2950. break;
  2951. }
  2952. break;
  2953. case 0xc5:
  2954. GETBYTE ();
  2955. switch (op[2] & 0x00)
  2956. {
  2957. case 0x00:
  2958. goto op_semantics_2;
  2959. break;
  2960. }
  2961. break;
  2962. case 0xc6:
  2963. GETBYTE ();
  2964. switch (op[2] & 0x00)
  2965. {
  2966. case 0x00:
  2967. goto op_semantics_2;
  2968. break;
  2969. }
  2970. break;
  2971. case 0xc7:
  2972. GETBYTE ();
  2973. switch (op[2] & 0x00)
  2974. {
  2975. case 0x00:
  2976. goto op_semantics_2;
  2977. break;
  2978. }
  2979. break;
  2980. case 0xc8:
  2981. GETBYTE ();
  2982. switch (op[2] & 0x00)
  2983. {
  2984. case 0x00:
  2985. goto op_semantics_3;
  2986. break;
  2987. }
  2988. break;
  2989. case 0xc9:
  2990. GETBYTE ();
  2991. switch (op[2] & 0x00)
  2992. {
  2993. case 0x00:
  2994. goto op_semantics_3;
  2995. break;
  2996. }
  2997. break;
  2998. case 0xca:
  2999. GETBYTE ();
  3000. switch (op[2] & 0x00)
  3001. {
  3002. case 0x00:
  3003. goto op_semantics_3;
  3004. break;
  3005. }
  3006. break;
  3007. case 0xcb:
  3008. GETBYTE ();
  3009. switch (op[2] & 0x00)
  3010. {
  3011. case 0x00:
  3012. goto op_semantics_3;
  3013. break;
  3014. }
  3015. break;
  3016. case 0xcc:
  3017. GETBYTE ();
  3018. switch (op[2] & 0x00)
  3019. {
  3020. case 0x00:
  3021. goto op_semantics_4;
  3022. break;
  3023. }
  3024. break;
  3025. case 0xcd:
  3026. GETBYTE ();
  3027. switch (op[2] & 0x00)
  3028. {
  3029. case 0x00:
  3030. goto op_semantics_4;
  3031. break;
  3032. }
  3033. break;
  3034. case 0xce:
  3035. GETBYTE ();
  3036. switch (op[2] & 0x00)
  3037. {
  3038. case 0x00:
  3039. goto op_semantics_4;
  3040. break;
  3041. }
  3042. break;
  3043. case 0xcf:
  3044. GETBYTE ();
  3045. switch (op[2] & 0x00)
  3046. {
  3047. case 0x00:
  3048. goto op_semantics_4;
  3049. break;
  3050. }
  3051. break;
  3052. case 0xd0:
  3053. GETBYTE ();
  3054. switch (op[2] & 0x00)
  3055. {
  3056. case 0x00:
  3057. goto op_semantics_5;
  3058. break;
  3059. }
  3060. break;
  3061. case 0xd1:
  3062. GETBYTE ();
  3063. switch (op[2] & 0x00)
  3064. {
  3065. case 0x00:
  3066. goto op_semantics_5;
  3067. break;
  3068. }
  3069. break;
  3070. case 0xd2:
  3071. GETBYTE ();
  3072. switch (op[2] & 0x00)
  3073. {
  3074. case 0x00:
  3075. goto op_semantics_5;
  3076. break;
  3077. }
  3078. break;
  3079. case 0xd3:
  3080. GETBYTE ();
  3081. switch (op[2] & 0x00)
  3082. {
  3083. case 0x00:
  3084. goto op_semantics_5;
  3085. break;
  3086. }
  3087. break;
  3088. case 0xd4:
  3089. GETBYTE ();
  3090. switch (op[2] & 0x00)
  3091. {
  3092. case 0x00:
  3093. goto op_semantics_6;
  3094. break;
  3095. }
  3096. break;
  3097. case 0xd5:
  3098. GETBYTE ();
  3099. switch (op[2] & 0x00)
  3100. {
  3101. case 0x00:
  3102. goto op_semantics_6;
  3103. break;
  3104. }
  3105. break;
  3106. case 0xd6:
  3107. GETBYTE ();
  3108. switch (op[2] & 0x00)
  3109. {
  3110. case 0x00:
  3111. goto op_semantics_6;
  3112. break;
  3113. }
  3114. break;
  3115. case 0xd7:
  3116. GETBYTE ();
  3117. switch (op[2] & 0x00)
  3118. {
  3119. case 0x00:
  3120. goto op_semantics_6;
  3121. break;
  3122. }
  3123. break;
  3124. case 0xe0:
  3125. GETBYTE ();
  3126. switch (op[2] & 0xff)
  3127. {
  3128. case 0x00:
  3129. GETBYTE ();
  3130. switch (op[3] & 0x00)
  3131. {
  3132. case 0x00:
  3133. goto op_semantics_7;
  3134. break;
  3135. }
  3136. break;
  3137. case 0x04:
  3138. GETBYTE ();
  3139. switch (op[3] & 0x00)
  3140. {
  3141. case 0x00:
  3142. goto op_semantics_8;
  3143. break;
  3144. }
  3145. break;
  3146. case 0x05:
  3147. GETBYTE ();
  3148. switch (op[3] & 0x00)
  3149. {
  3150. case 0x00:
  3151. goto op_semantics_9;
  3152. break;
  3153. }
  3154. break;
  3155. case 0x06:
  3156. GETBYTE ();
  3157. switch (op[3] & 0x00)
  3158. {
  3159. case 0x00:
  3160. goto op_semantics_10;
  3161. break;
  3162. }
  3163. break;
  3164. case 0x07:
  3165. GETBYTE ();
  3166. switch (op[3] & 0x00)
  3167. {
  3168. case 0x00:
  3169. goto op_semantics_11;
  3170. break;
  3171. }
  3172. break;
  3173. case 0x08:
  3174. GETBYTE ();
  3175. switch (op[3] & 0x00)
  3176. {
  3177. case 0x00:
  3178. goto op_semantics_12;
  3179. break;
  3180. }
  3181. break;
  3182. case 0x09:
  3183. GETBYTE ();
  3184. switch (op[3] & 0x00)
  3185. {
  3186. case 0x00:
  3187. goto op_semantics_13;
  3188. break;
  3189. }
  3190. break;
  3191. case 0x0c:
  3192. GETBYTE ();
  3193. switch (op[3] & 0x00)
  3194. {
  3195. case 0x00:
  3196. goto op_semantics_14;
  3197. break;
  3198. }
  3199. break;
  3200. case 0x0d:
  3201. GETBYTE ();
  3202. switch (op[3] & 0x00)
  3203. {
  3204. case 0x00:
  3205. goto op_semantics_15;
  3206. break;
  3207. }
  3208. break;
  3209. case 0x10:
  3210. GETBYTE ();
  3211. switch (op[3] & 0x00)
  3212. {
  3213. case 0x00:
  3214. goto op_semantics_16;
  3215. break;
  3216. }
  3217. break;
  3218. case 0x11:
  3219. GETBYTE ();
  3220. switch (op[3] & 0x00)
  3221. {
  3222. case 0x00:
  3223. goto op_semantics_17;
  3224. break;
  3225. }
  3226. break;
  3227. case 0x15:
  3228. GETBYTE ();
  3229. switch (op[3] & 0x00)
  3230. {
  3231. case 0x00:
  3232. goto op_semantics_18;
  3233. break;
  3234. }
  3235. break;
  3236. default: UNSUPPORTED(); break;
  3237. }
  3238. break;
  3239. case 0xe1:
  3240. GETBYTE ();
  3241. switch (op[2] & 0xff)
  3242. {
  3243. case 0x00:
  3244. GETBYTE ();
  3245. switch (op[3] & 0x00)
  3246. {
  3247. case 0x00:
  3248. goto op_semantics_7;
  3249. break;
  3250. }
  3251. break;
  3252. case 0x04:
  3253. GETBYTE ();
  3254. switch (op[3] & 0x00)
  3255. {
  3256. case 0x00:
  3257. goto op_semantics_8;
  3258. break;
  3259. }
  3260. break;
  3261. case 0x05:
  3262. GETBYTE ();
  3263. switch (op[3] & 0x00)
  3264. {
  3265. case 0x00:
  3266. goto op_semantics_9;
  3267. break;
  3268. }
  3269. break;
  3270. case 0x06:
  3271. GETBYTE ();
  3272. switch (op[3] & 0x00)
  3273. {
  3274. case 0x00:
  3275. goto op_semantics_10;
  3276. break;
  3277. }
  3278. break;
  3279. case 0x07:
  3280. GETBYTE ();
  3281. switch (op[3] & 0x00)
  3282. {
  3283. case 0x00:
  3284. goto op_semantics_11;
  3285. break;
  3286. }
  3287. break;
  3288. case 0x08:
  3289. GETBYTE ();
  3290. switch (op[3] & 0x00)
  3291. {
  3292. case 0x00:
  3293. goto op_semantics_12;
  3294. break;
  3295. }
  3296. break;
  3297. case 0x09:
  3298. GETBYTE ();
  3299. switch (op[3] & 0x00)
  3300. {
  3301. case 0x00:
  3302. goto op_semantics_13;
  3303. break;
  3304. }
  3305. break;
  3306. case 0x0c:
  3307. GETBYTE ();
  3308. switch (op[3] & 0x00)
  3309. {
  3310. case 0x00:
  3311. goto op_semantics_14;
  3312. break;
  3313. }
  3314. break;
  3315. case 0x0d:
  3316. GETBYTE ();
  3317. switch (op[3] & 0x00)
  3318. {
  3319. case 0x00:
  3320. goto op_semantics_15;
  3321. break;
  3322. }
  3323. break;
  3324. case 0x10:
  3325. GETBYTE ();
  3326. switch (op[3] & 0x00)
  3327. {
  3328. case 0x00:
  3329. goto op_semantics_16;
  3330. break;
  3331. }
  3332. break;
  3333. case 0x11:
  3334. GETBYTE ();
  3335. switch (op[3] & 0x00)
  3336. {
  3337. case 0x00:
  3338. goto op_semantics_17;
  3339. break;
  3340. }
  3341. break;
  3342. case 0x15:
  3343. GETBYTE ();
  3344. switch (op[3] & 0x00)
  3345. {
  3346. case 0x00:
  3347. goto op_semantics_18;
  3348. break;
  3349. }
  3350. break;
  3351. default: UNSUPPORTED(); break;
  3352. }
  3353. break;
  3354. case 0xe2:
  3355. GETBYTE ();
  3356. switch (op[2] & 0xff)
  3357. {
  3358. case 0x00:
  3359. GETBYTE ();
  3360. switch (op[3] & 0x00)
  3361. {
  3362. case 0x00:
  3363. goto op_semantics_7;
  3364. break;
  3365. }
  3366. break;
  3367. case 0x04:
  3368. GETBYTE ();
  3369. switch (op[3] & 0x00)
  3370. {
  3371. case 0x00:
  3372. goto op_semantics_8;
  3373. break;
  3374. }
  3375. break;
  3376. case 0x05:
  3377. GETBYTE ();
  3378. switch (op[3] & 0x00)
  3379. {
  3380. case 0x00:
  3381. goto op_semantics_9;
  3382. break;
  3383. }
  3384. break;
  3385. case 0x06:
  3386. GETBYTE ();
  3387. switch (op[3] & 0x00)
  3388. {
  3389. case 0x00:
  3390. goto op_semantics_10;
  3391. break;
  3392. }
  3393. break;
  3394. case 0x07:
  3395. GETBYTE ();
  3396. switch (op[3] & 0x00)
  3397. {
  3398. case 0x00:
  3399. goto op_semantics_11;
  3400. break;
  3401. }
  3402. break;
  3403. case 0x08:
  3404. GETBYTE ();
  3405. switch (op[3] & 0x00)
  3406. {
  3407. case 0x00:
  3408. goto op_semantics_12;
  3409. break;
  3410. }
  3411. break;
  3412. case 0x09:
  3413. GETBYTE ();
  3414. switch (op[3] & 0x00)
  3415. {
  3416. case 0x00:
  3417. goto op_semantics_13;
  3418. break;
  3419. }
  3420. break;
  3421. case 0x0c:
  3422. GETBYTE ();
  3423. switch (op[3] & 0x00)
  3424. {
  3425. case 0x00:
  3426. goto op_semantics_14;
  3427. break;
  3428. }
  3429. break;
  3430. case 0x0d:
  3431. GETBYTE ();
  3432. switch (op[3] & 0x00)
  3433. {
  3434. case 0x00:
  3435. goto op_semantics_15;
  3436. break;
  3437. }
  3438. break;
  3439. case 0x10:
  3440. GETBYTE ();
  3441. switch (op[3] & 0x00)
  3442. {
  3443. case 0x00:
  3444. goto op_semantics_16;
  3445. break;
  3446. }
  3447. break;
  3448. case 0x11:
  3449. GETBYTE ();
  3450. switch (op[3] & 0x00)
  3451. {
  3452. case 0x00:
  3453. goto op_semantics_17;
  3454. break;
  3455. }
  3456. break;
  3457. case 0x15:
  3458. GETBYTE ();
  3459. switch (op[3] & 0x00)
  3460. {
  3461. case 0x00:
  3462. goto op_semantics_18;
  3463. break;
  3464. }
  3465. break;
  3466. default: UNSUPPORTED(); break;
  3467. }
  3468. break;
  3469. case 0xe3:
  3470. GETBYTE ();
  3471. switch (op[2] & 0xff)
  3472. {
  3473. case 0x00:
  3474. GETBYTE ();
  3475. switch (op[3] & 0x00)
  3476. {
  3477. case 0x00:
  3478. goto op_semantics_7;
  3479. break;
  3480. }
  3481. break;
  3482. case 0x04:
  3483. GETBYTE ();
  3484. switch (op[3] & 0x00)
  3485. {
  3486. case 0x00:
  3487. goto op_semantics_8;
  3488. break;
  3489. }
  3490. break;
  3491. case 0x05:
  3492. GETBYTE ();
  3493. switch (op[3] & 0x00)
  3494. {
  3495. case 0x00:
  3496. goto op_semantics_9;
  3497. break;
  3498. }
  3499. break;
  3500. case 0x06:
  3501. GETBYTE ();
  3502. switch (op[3] & 0x00)
  3503. {
  3504. case 0x00:
  3505. goto op_semantics_10;
  3506. break;
  3507. }
  3508. break;
  3509. case 0x07:
  3510. GETBYTE ();
  3511. switch (op[3] & 0x00)
  3512. {
  3513. case 0x00:
  3514. goto op_semantics_11;
  3515. break;
  3516. }
  3517. break;
  3518. case 0x08:
  3519. GETBYTE ();
  3520. switch (op[3] & 0x00)
  3521. {
  3522. case 0x00:
  3523. goto op_semantics_12;
  3524. break;
  3525. }
  3526. break;
  3527. case 0x09:
  3528. GETBYTE ();
  3529. switch (op[3] & 0x00)
  3530. {
  3531. case 0x00:
  3532. goto op_semantics_13;
  3533. break;
  3534. }
  3535. break;
  3536. case 0x0c:
  3537. GETBYTE ();
  3538. switch (op[3] & 0x00)
  3539. {
  3540. case 0x00:
  3541. goto op_semantics_14;
  3542. break;
  3543. }
  3544. break;
  3545. case 0x0d:
  3546. GETBYTE ();
  3547. switch (op[3] & 0x00)
  3548. {
  3549. case 0x00:
  3550. goto op_semantics_15;
  3551. break;
  3552. }
  3553. break;
  3554. case 0x10:
  3555. GETBYTE ();
  3556. switch (op[3] & 0x00)
  3557. {
  3558. case 0x00:
  3559. goto op_semantics_16;
  3560. break;
  3561. }
  3562. break;
  3563. case 0x11:
  3564. GETBYTE ();
  3565. switch (op[3] & 0x00)
  3566. {
  3567. case 0x00:
  3568. goto op_semantics_17;
  3569. break;
  3570. }
  3571. break;
  3572. case 0x15:
  3573. GETBYTE ();
  3574. switch (op[3] & 0x00)
  3575. {
  3576. case 0x00:
  3577. goto op_semantics_18;
  3578. break;
  3579. }
  3580. break;
  3581. default: UNSUPPORTED(); break;
  3582. }
  3583. break;
  3584. default: UNSUPPORTED(); break;
  3585. }
  3586. break;
  3587. case 0x08:
  3588. case 0x09:
  3589. case 0x0a:
  3590. case 0x0b:
  3591. case 0x0c:
  3592. case 0x0d:
  3593. case 0x0e:
  3594. case 0x0f:
  3595. {
  3596. /** 0000 1dsp bra.s %a0 */
  3597. #line 800 "rx-decode.opc"
  3598. int dsp AU = op[0] & 0x07;
  3599. if (trace)
  3600. {
  3601. printf ("\033[33m%s\033[0m %02x\n",
  3602. "/** 0000 1dsp bra.s %a0 */",
  3603. op[0]);
  3604. printf (" dsp = 0x%x\n", dsp);
  3605. }
  3606. SYNTAX("bra.s %a0");
  3607. #line 800 "rx-decode.opc"
  3608. ID(branch); DC(pc + dsp3map[dsp]);
  3609. }
  3610. break;
  3611. case 0x10:
  3612. case 0x11:
  3613. case 0x12:
  3614. case 0x13:
  3615. case 0x14:
  3616. case 0x15:
  3617. case 0x16:
  3618. case 0x17:
  3619. case 0x18:
  3620. case 0x19:
  3621. case 0x1a:
  3622. case 0x1b:
  3623. case 0x1c:
  3624. case 0x1d:
  3625. case 0x1e:
  3626. case 0x1f:
  3627. {
  3628. /** 0001 n dsp b%1.s %a0 */
  3629. #line 790 "rx-decode.opc"
  3630. int n AU = (op[0] >> 3) & 0x01;
  3631. #line 790 "rx-decode.opc"
  3632. int dsp AU = op[0] & 0x07;
  3633. if (trace)
  3634. {
  3635. printf ("\033[33m%s\033[0m %02x\n",
  3636. "/** 0001 n dsp b%1.s %a0 */",
  3637. op[0]);
  3638. printf (" n = 0x%x,", n);
  3639. printf (" dsp = 0x%x\n", dsp);
  3640. }
  3641. SYNTAX("b%1.s %a0");
  3642. #line 790 "rx-decode.opc"
  3643. ID(branch); Scc(n); DC(pc + dsp3map[dsp]);
  3644. }
  3645. break;
  3646. case 0x20:
  3647. case 0x21:
  3648. case 0x22:
  3649. case 0x23:
  3650. case 0x24:
  3651. case 0x25:
  3652. case 0x26:
  3653. case 0x27:
  3654. case 0x28:
  3655. case 0x29:
  3656. case 0x2a:
  3657. case 0x2b:
  3658. case 0x2c:
  3659. case 0x2d:
  3660. case 0x2f:
  3661. {
  3662. /** 0010 cond b%1.b %a0 */
  3663. #line 793 "rx-decode.opc"
  3664. int cond AU = op[0] & 0x0f;
  3665. if (trace)
  3666. {
  3667. printf ("\033[33m%s\033[0m %02x\n",
  3668. "/** 0010 cond b%1.b %a0 */",
  3669. op[0]);
  3670. printf (" cond = 0x%x\n", cond);
  3671. }
  3672. SYNTAX("b%1.b %a0");
  3673. #line 793 "rx-decode.opc"
  3674. ID(branch); Scc(cond); DC(pc + IMMex (1));
  3675. }
  3676. break;
  3677. case 0x2e:
  3678. {
  3679. /** 0010 1110 bra.b %a0 */
  3680. if (trace)
  3681. {
  3682. printf ("\033[33m%s\033[0m %02x\n",
  3683. "/** 0010 1110 bra.b %a0 */",
  3684. op[0]);
  3685. }
  3686. SYNTAX("bra.b %a0");
  3687. #line 803 "rx-decode.opc"
  3688. ID(branch); DC(pc + IMMex(1));
  3689. }
  3690. break;
  3691. case 0x38:
  3692. {
  3693. /** 0011 1000 bra.w %a0 */
  3694. if (trace)
  3695. {
  3696. printf ("\033[33m%s\033[0m %02x\n",
  3697. "/** 0011 1000 bra.w %a0 */",
  3698. op[0]);
  3699. }
  3700. SYNTAX("bra.w %a0");
  3701. #line 806 "rx-decode.opc"
  3702. ID(branch); DC(pc + IMMex(2));
  3703. }
  3704. break;
  3705. case 0x39:
  3706. {
  3707. /** 0011 1001 bsr.w %a0 */
  3708. if (trace)
  3709. {
  3710. printf ("\033[33m%s\033[0m %02x\n",
  3711. "/** 0011 1001 bsr.w %a0 */",
  3712. op[0]);
  3713. }
  3714. SYNTAX("bsr.w %a0");
  3715. #line 822 "rx-decode.opc"
  3716. ID(jsr); DC(pc + IMMex(2));
  3717. }
  3718. break;
  3719. case 0x3a:
  3720. case 0x3b:
  3721. {
  3722. /** 0011 101c b%1.w %a0 */
  3723. #line 796 "rx-decode.opc"
  3724. int c AU = op[0] & 0x01;
  3725. if (trace)
  3726. {
  3727. printf ("\033[33m%s\033[0m %02x\n",
  3728. "/** 0011 101c b%1.w %a0 */",
  3729. op[0]);
  3730. printf (" c = 0x%x\n", c);
  3731. }
  3732. SYNTAX("b%1.w %a0");
  3733. #line 796 "rx-decode.opc"
  3734. ID(branch); Scc(c); DC(pc + IMMex (2));
  3735. }
  3736. break;
  3737. case 0x3c:
  3738. GETBYTE ();
  3739. switch (op[1] & 0x00)
  3740. {
  3741. case 0x00:
  3742. op_semantics_20:
  3743. {
  3744. /** 0011 11sz d dst sppp mov%s #%1, %0 */
  3745. #line 332 "rx-decode.opc"
  3746. int sz AU = op[0] & 0x03;
  3747. #line 332 "rx-decode.opc"
  3748. int d AU = (op[1] >> 7) & 0x01;
  3749. #line 332 "rx-decode.opc"
  3750. int dst AU = (op[1] >> 4) & 0x07;
  3751. #line 332 "rx-decode.opc"
  3752. int sppp AU = op[1] & 0x0f;
  3753. if (trace)
  3754. {
  3755. printf ("\033[33m%s\033[0m %02x %02x\n",
  3756. "/** 0011 11sz d dst sppp mov%s #%1, %0 */",
  3757. op[0], op[1]);
  3758. printf (" sz = 0x%x,", sz);
  3759. printf (" d = 0x%x,", d);
  3760. printf (" dst = 0x%x,", dst);
  3761. printf (" sppp = 0x%x\n", sppp);
  3762. }
  3763. SYNTAX("mov%s #%1, %0");
  3764. #line 332 "rx-decode.opc"
  3765. ID(mov); sBWL (sz); DIs(dst, d*16+sppp, sz); SC(IMM(1)); F_____;
  3766. }
  3767. break;
  3768. }
  3769. break;
  3770. case 0x3d:
  3771. GETBYTE ();
  3772. switch (op[1] & 0x00)
  3773. {
  3774. case 0x00:
  3775. goto op_semantics_20;
  3776. break;
  3777. }
  3778. break;
  3779. case 0x3e:
  3780. GETBYTE ();
  3781. switch (op[1] & 0x00)
  3782. {
  3783. case 0x00:
  3784. goto op_semantics_20;
  3785. break;
  3786. }
  3787. break;
  3788. case 0x3f:
  3789. GETBYTE ();
  3790. switch (op[1] & 0x00)
  3791. {
  3792. case 0x00:
  3793. {
  3794. /** 0011 1111 rega regb rtsd #%1, %2-%0 */
  3795. #line 429 "rx-decode.opc"
  3796. int rega AU = (op[1] >> 4) & 0x0f;
  3797. #line 429 "rx-decode.opc"
  3798. int regb AU = op[1] & 0x0f;
  3799. if (trace)
  3800. {
  3801. printf ("\033[33m%s\033[0m %02x %02x\n",
  3802. "/** 0011 1111 rega regb rtsd #%1, %2-%0 */",
  3803. op[0], op[1]);
  3804. printf (" rega = 0x%x,", rega);
  3805. printf (" regb = 0x%x\n", regb);
  3806. }
  3807. SYNTAX("rtsd #%1, %2-%0");
  3808. #line 429 "rx-decode.opc"
  3809. ID(rtsd); SC(IMM(1) * 4); S2R(rega); DR(regb);
  3810. /*----------------------------------------------------------------------*/
  3811. /* AND */
  3812. }
  3813. break;
  3814. }
  3815. break;
  3816. case 0x40:
  3817. GETBYTE ();
  3818. switch (op[1] & 0x00)
  3819. {
  3820. case 0x00:
  3821. op_semantics_21:
  3822. {
  3823. /** 0100 00ss rsrc rdst sub %2%S2, %1 */
  3824. #line 564 "rx-decode.opc"
  3825. int ss AU = op[0] & 0x03;
  3826. #line 564 "rx-decode.opc"
  3827. int rsrc AU = (op[1] >> 4) & 0x0f;
  3828. #line 564 "rx-decode.opc"
  3829. int rdst AU = op[1] & 0x0f;
  3830. if (trace)
  3831. {
  3832. printf ("\033[33m%s\033[0m %02x %02x\n",
  3833. "/** 0100 00ss rsrc rdst sub %2%S2, %1 */",
  3834. op[0], op[1]);
  3835. printf (" ss = 0x%x,", ss);
  3836. printf (" rsrc = 0x%x,", rsrc);
  3837. printf (" rdst = 0x%x\n", rdst);
  3838. }
  3839. SYNTAX("sub %2%S2, %1");
  3840. #line 564 "rx-decode.opc"
  3841. ID(sub); S2P(ss, rsrc); SR(rdst); DR(rdst); F_OSZC;
  3842. }
  3843. break;
  3844. }
  3845. break;
  3846. case 0x41:
  3847. GETBYTE ();
  3848. switch (op[1] & 0x00)
  3849. {
  3850. case 0x00:
  3851. goto op_semantics_21;
  3852. break;
  3853. }
  3854. break;
  3855. case 0x42:
  3856. GETBYTE ();
  3857. switch (op[1] & 0x00)
  3858. {
  3859. case 0x00:
  3860. goto op_semantics_21;
  3861. break;
  3862. }
  3863. break;
  3864. case 0x43:
  3865. GETBYTE ();
  3866. switch (op[1] & 0x00)
  3867. {
  3868. case 0x00:
  3869. goto op_semantics_21;
  3870. break;
  3871. }
  3872. break;
  3873. case 0x44:
  3874. GETBYTE ();
  3875. switch (op[1] & 0x00)
  3876. {
  3877. case 0x00:
  3878. op_semantics_22:
  3879. {
  3880. /** 0100 01ss rsrc rdst cmp %2%S2, %1 */
  3881. #line 552 "rx-decode.opc"
  3882. int ss AU = op[0] & 0x03;
  3883. #line 552 "rx-decode.opc"
  3884. int rsrc AU = (op[1] >> 4) & 0x0f;
  3885. #line 552 "rx-decode.opc"
  3886. int rdst AU = op[1] & 0x0f;
  3887. if (trace)
  3888. {
  3889. printf ("\033[33m%s\033[0m %02x %02x\n",
  3890. "/** 0100 01ss rsrc rdst cmp %2%S2, %1 */",
  3891. op[0], op[1]);
  3892. printf (" ss = 0x%x,", ss);
  3893. printf (" rsrc = 0x%x,", rsrc);
  3894. printf (" rdst = 0x%x\n", rdst);
  3895. }
  3896. SYNTAX("cmp %2%S2, %1");
  3897. #line 552 "rx-decode.opc"
  3898. ID(sub); S2P(ss, rsrc); SR(rdst); F_OSZC;
  3899. }
  3900. break;
  3901. }
  3902. break;
  3903. case 0x45:
  3904. GETBYTE ();
  3905. switch (op[1] & 0x00)
  3906. {
  3907. case 0x00:
  3908. goto op_semantics_22;
  3909. break;
  3910. }
  3911. break;
  3912. case 0x46:
  3913. GETBYTE ();
  3914. switch (op[1] & 0x00)
  3915. {
  3916. case 0x00:
  3917. goto op_semantics_22;
  3918. break;
  3919. }
  3920. break;
  3921. case 0x47:
  3922. GETBYTE ();
  3923. switch (op[1] & 0x00)
  3924. {
  3925. case 0x00:
  3926. goto op_semantics_22;
  3927. break;
  3928. }
  3929. break;
  3930. case 0x48:
  3931. GETBYTE ();
  3932. switch (op[1] & 0x00)
  3933. {
  3934. case 0x00:
  3935. op_semantics_23:
  3936. {
  3937. /** 0100 10ss rsrc rdst add %1%S1, %0 */
  3938. #line 528 "rx-decode.opc"
  3939. int ss AU = op[0] & 0x03;
  3940. #line 528 "rx-decode.opc"
  3941. int rsrc AU = (op[1] >> 4) & 0x0f;
  3942. #line 528 "rx-decode.opc"
  3943. int rdst AU = op[1] & 0x0f;
  3944. if (trace)
  3945. {
  3946. printf ("\033[33m%s\033[0m %02x %02x\n",
  3947. "/** 0100 10ss rsrc rdst add %1%S1, %0 */",
  3948. op[0], op[1]);
  3949. printf (" ss = 0x%x,", ss);
  3950. printf (" rsrc = 0x%x,", rsrc);
  3951. printf (" rdst = 0x%x\n", rdst);
  3952. }
  3953. SYNTAX("add %1%S1, %0");
  3954. #line 528 "rx-decode.opc"
  3955. ID(add); SP(ss, rsrc); DR(rdst); F_OSZC;
  3956. }
  3957. break;
  3958. }
  3959. break;
  3960. case 0x49:
  3961. GETBYTE ();
  3962. switch (op[1] & 0x00)
  3963. {
  3964. case 0x00:
  3965. goto op_semantics_23;
  3966. break;
  3967. }
  3968. break;
  3969. case 0x4a:
  3970. GETBYTE ();
  3971. switch (op[1] & 0x00)
  3972. {
  3973. case 0x00:
  3974. goto op_semantics_23;
  3975. break;
  3976. }
  3977. break;
  3978. case 0x4b:
  3979. GETBYTE ();
  3980. switch (op[1] & 0x00)
  3981. {
  3982. case 0x00:
  3983. goto op_semantics_23;
  3984. break;
  3985. }
  3986. break;
  3987. case 0x4c:
  3988. GETBYTE ();
  3989. switch (op[1] & 0x00)
  3990. {
  3991. case 0x00:
  3992. op_semantics_24:
  3993. {
  3994. /** 0100 11ss rsrc rdst mul %1%S1, %0 */
  3995. #line 671 "rx-decode.opc"
  3996. int ss AU = op[0] & 0x03;
  3997. #line 671 "rx-decode.opc"
  3998. int rsrc AU = (op[1] >> 4) & 0x0f;
  3999. #line 671 "rx-decode.opc"
  4000. int rdst AU = op[1] & 0x0f;
  4001. if (trace)
  4002. {
  4003. printf ("\033[33m%s\033[0m %02x %02x\n",
  4004. "/** 0100 11ss rsrc rdst mul %1%S1, %0 */",
  4005. op[0], op[1]);
  4006. printf (" ss = 0x%x,", ss);
  4007. printf (" rsrc = 0x%x,", rsrc);
  4008. printf (" rdst = 0x%x\n", rdst);
  4009. }
  4010. SYNTAX("mul %1%S1, %0");
  4011. #line 671 "rx-decode.opc"
  4012. ID(mul); SP(ss, rsrc); DR(rdst); F_____;
  4013. }
  4014. break;
  4015. }
  4016. break;
  4017. case 0x4d:
  4018. GETBYTE ();
  4019. switch (op[1] & 0x00)
  4020. {
  4021. case 0x00:
  4022. goto op_semantics_24;
  4023. break;
  4024. }
  4025. break;
  4026. case 0x4e:
  4027. GETBYTE ();
  4028. switch (op[1] & 0x00)
  4029. {
  4030. case 0x00:
  4031. goto op_semantics_24;
  4032. break;
  4033. }
  4034. break;
  4035. case 0x4f:
  4036. GETBYTE ();
  4037. switch (op[1] & 0x00)
  4038. {
  4039. case 0x00:
  4040. goto op_semantics_24;
  4041. break;
  4042. }
  4043. break;
  4044. case 0x50:
  4045. GETBYTE ();
  4046. switch (op[1] & 0x00)
  4047. {
  4048. case 0x00:
  4049. op_semantics_25:
  4050. {
  4051. /** 0101 00ss rsrc rdst and %1%S1, %0 */
  4052. #line 441 "rx-decode.opc"
  4053. int ss AU = op[0] & 0x03;
  4054. #line 441 "rx-decode.opc"
  4055. int rsrc AU = (op[1] >> 4) & 0x0f;
  4056. #line 441 "rx-decode.opc"
  4057. int rdst AU = op[1] & 0x0f;
  4058. if (trace)
  4059. {
  4060. printf ("\033[33m%s\033[0m %02x %02x\n",
  4061. "/** 0101 00ss rsrc rdst and %1%S1, %0 */",
  4062. op[0], op[1]);
  4063. printf (" ss = 0x%x,", ss);
  4064. printf (" rsrc = 0x%x,", rsrc);
  4065. printf (" rdst = 0x%x\n", rdst);
  4066. }
  4067. SYNTAX("and %1%S1, %0");
  4068. #line 441 "rx-decode.opc"
  4069. ID(and); SP(ss, rsrc); DR(rdst); F__SZ_;
  4070. }
  4071. break;
  4072. }
  4073. break;
  4074. case 0x51:
  4075. GETBYTE ();
  4076. switch (op[1] & 0x00)
  4077. {
  4078. case 0x00:
  4079. goto op_semantics_25;
  4080. break;
  4081. }
  4082. break;
  4083. case 0x52:
  4084. GETBYTE ();
  4085. switch (op[1] & 0x00)
  4086. {
  4087. case 0x00:
  4088. goto op_semantics_25;
  4089. break;
  4090. }
  4091. break;
  4092. case 0x53:
  4093. GETBYTE ();
  4094. switch (op[1] & 0x00)
  4095. {
  4096. case 0x00:
  4097. goto op_semantics_25;
  4098. break;
  4099. }
  4100. break;
  4101. case 0x54:
  4102. GETBYTE ();
  4103. switch (op[1] & 0x00)
  4104. {
  4105. case 0x00:
  4106. op_semantics_26:
  4107. {
  4108. /** 0101 01ss rsrc rdst or %1%S1, %0 */
  4109. #line 459 "rx-decode.opc"
  4110. int ss AU = op[0] & 0x03;
  4111. #line 459 "rx-decode.opc"
  4112. int rsrc AU = (op[1] >> 4) & 0x0f;
  4113. #line 459 "rx-decode.opc"
  4114. int rdst AU = op[1] & 0x0f;
  4115. if (trace)
  4116. {
  4117. printf ("\033[33m%s\033[0m %02x %02x\n",
  4118. "/** 0101 01ss rsrc rdst or %1%S1, %0 */",
  4119. op[0], op[1]);
  4120. printf (" ss = 0x%x,", ss);
  4121. printf (" rsrc = 0x%x,", rsrc);
  4122. printf (" rdst = 0x%x\n", rdst);
  4123. }
  4124. SYNTAX("or %1%S1, %0");
  4125. #line 459 "rx-decode.opc"
  4126. ID(or); SP(ss, rsrc); DR(rdst); F__SZ_;
  4127. }
  4128. break;
  4129. }
  4130. break;
  4131. case 0x55:
  4132. GETBYTE ();
  4133. switch (op[1] & 0x00)
  4134. {
  4135. case 0x00:
  4136. goto op_semantics_26;
  4137. break;
  4138. }
  4139. break;
  4140. case 0x56:
  4141. GETBYTE ();
  4142. switch (op[1] & 0x00)
  4143. {
  4144. case 0x00:
  4145. goto op_semantics_26;
  4146. break;
  4147. }
  4148. break;
  4149. case 0x57:
  4150. GETBYTE ();
  4151. switch (op[1] & 0x00)
  4152. {
  4153. case 0x00:
  4154. goto op_semantics_26;
  4155. break;
  4156. }
  4157. break;
  4158. case 0x58:
  4159. GETBYTE ();
  4160. switch (op[1] & 0x00)
  4161. {
  4162. case 0x00:
  4163. op_semantics_27:
  4164. {
  4165. /** 0101 1 s ss rsrc rdst movu%s %1, %0 */
  4166. #line 380 "rx-decode.opc"
  4167. int s AU = (op[0] >> 2) & 0x01;
  4168. #line 380 "rx-decode.opc"
  4169. int ss AU = op[0] & 0x03;
  4170. #line 380 "rx-decode.opc"
  4171. int rsrc AU = (op[1] >> 4) & 0x0f;
  4172. #line 380 "rx-decode.opc"
  4173. int rdst AU = op[1] & 0x0f;
  4174. if (trace)
  4175. {
  4176. printf ("\033[33m%s\033[0m %02x %02x\n",
  4177. "/** 0101 1 s ss rsrc rdst movu%s %1, %0 */",
  4178. op[0], op[1]);
  4179. printf (" s = 0x%x,", s);
  4180. printf (" ss = 0x%x,", ss);
  4181. printf (" rsrc = 0x%x,", rsrc);
  4182. printf (" rdst = 0x%x\n", rdst);
  4183. }
  4184. SYNTAX("movu%s %1, %0");
  4185. #line 380 "rx-decode.opc"
  4186. ID(mov); uBW(s); SD(ss, rsrc, s); DR(rdst); F_____;
  4187. }
  4188. break;
  4189. }
  4190. break;
  4191. case 0x59:
  4192. GETBYTE ();
  4193. switch (op[1] & 0x00)
  4194. {
  4195. case 0x00:
  4196. goto op_semantics_27;
  4197. break;
  4198. }
  4199. break;
  4200. case 0x5a:
  4201. GETBYTE ();
  4202. switch (op[1] & 0x00)
  4203. {
  4204. case 0x00:
  4205. goto op_semantics_27;
  4206. break;
  4207. }
  4208. break;
  4209. case 0x5b:
  4210. GETBYTE ();
  4211. switch (op[1] & 0x00)
  4212. {
  4213. case 0x00:
  4214. goto op_semantics_27;
  4215. break;
  4216. }
  4217. break;
  4218. case 0x5c:
  4219. GETBYTE ();
  4220. switch (op[1] & 0x00)
  4221. {
  4222. case 0x00:
  4223. goto op_semantics_27;
  4224. break;
  4225. }
  4226. break;
  4227. case 0x5d:
  4228. GETBYTE ();
  4229. switch (op[1] & 0x00)
  4230. {
  4231. case 0x00:
  4232. goto op_semantics_27;
  4233. break;
  4234. }
  4235. break;
  4236. case 0x5e:
  4237. GETBYTE ();
  4238. switch (op[1] & 0x00)
  4239. {
  4240. case 0x00:
  4241. goto op_semantics_27;
  4242. break;
  4243. }
  4244. break;
  4245. case 0x5f:
  4246. GETBYTE ();
  4247. switch (op[1] & 0x00)
  4248. {
  4249. case 0x00:
  4250. goto op_semantics_27;
  4251. break;
  4252. }
  4253. break;
  4254. case 0x60:
  4255. GETBYTE ();
  4256. switch (op[1] & 0x00)
  4257. {
  4258. case 0x00:
  4259. {
  4260. /** 0110 0000 immm rdst sub #%2, %0 */
  4261. #line 561 "rx-decode.opc"
  4262. int immm AU = (op[1] >> 4) & 0x0f;
  4263. #line 561 "rx-decode.opc"
  4264. int rdst AU = op[1] & 0x0f;
  4265. if (trace)
  4266. {
  4267. printf ("\033[33m%s\033[0m %02x %02x\n",
  4268. "/** 0110 0000 immm rdst sub #%2, %0 */",
  4269. op[0], op[1]);
  4270. printf (" immm = 0x%x,", immm);
  4271. printf (" rdst = 0x%x\n", rdst);
  4272. }
  4273. SYNTAX("sub #%2, %0");
  4274. #line 561 "rx-decode.opc"
  4275. ID(sub); S2C(immm); SR(rdst); DR(rdst); F_OSZC;
  4276. }
  4277. break;
  4278. }
  4279. break;
  4280. case 0x61:
  4281. GETBYTE ();
  4282. switch (op[1] & 0x00)
  4283. {
  4284. case 0x00:
  4285. {
  4286. /** 0110 0001 immm rdst cmp #%2, %1 */
  4287. #line 543 "rx-decode.opc"
  4288. int immm AU = (op[1] >> 4) & 0x0f;
  4289. #line 543 "rx-decode.opc"
  4290. int rdst AU = op[1] & 0x0f;
  4291. if (trace)
  4292. {
  4293. printf ("\033[33m%s\033[0m %02x %02x\n",
  4294. "/** 0110 0001 immm rdst cmp #%2, %1 */",
  4295. op[0], op[1]);
  4296. printf (" immm = 0x%x,", immm);
  4297. printf (" rdst = 0x%x\n", rdst);
  4298. }
  4299. SYNTAX("cmp #%2, %1");
  4300. #line 543 "rx-decode.opc"
  4301. ID(sub); S2C(immm); SR(rdst); F_OSZC;
  4302. }
  4303. break;
  4304. }
  4305. break;
  4306. case 0x62:
  4307. GETBYTE ();
  4308. switch (op[1] & 0x00)
  4309. {
  4310. case 0x00:
  4311. {
  4312. /** 0110 0010 immm rdst add #%1, %0 */
  4313. #line 525 "rx-decode.opc"
  4314. int immm AU = (op[1] >> 4) & 0x0f;
  4315. #line 525 "rx-decode.opc"
  4316. int rdst AU = op[1] & 0x0f;
  4317. if (trace)
  4318. {
  4319. printf ("\033[33m%s\033[0m %02x %02x\n",
  4320. "/** 0110 0010 immm rdst add #%1, %0 */",
  4321. op[0], op[1]);
  4322. printf (" immm = 0x%x,", immm);
  4323. printf (" rdst = 0x%x\n", rdst);
  4324. }
  4325. SYNTAX("add #%1, %0");
  4326. #line 525 "rx-decode.opc"
  4327. ID(add); SC(immm); DR(rdst); F_OSZC;
  4328. }
  4329. break;
  4330. }
  4331. break;
  4332. case 0x63:
  4333. GETBYTE ();
  4334. switch (op[1] & 0x00)
  4335. {
  4336. case 0x00:
  4337. {
  4338. /** 0110 0011 immm rdst mul #%1, %0 */
  4339. #line 637 "rx-decode.opc"
  4340. int immm AU = (op[1] >> 4) & 0x0f;
  4341. #line 637 "rx-decode.opc"
  4342. int rdst AU = op[1] & 0x0f;
  4343. if (trace)
  4344. {
  4345. printf ("\033[33m%s\033[0m %02x %02x\n",
  4346. "/** 0110 0011 immm rdst mul #%1, %0 */",
  4347. op[0], op[1]);
  4348. printf (" immm = 0x%x,", immm);
  4349. printf (" rdst = 0x%x\n", rdst);
  4350. }
  4351. SYNTAX("mul #%1, %0");
  4352. #line 637 "rx-decode.opc"
  4353. if (immm == 1 && rdst == 0)
  4354. {
  4355. ID(nop2);
  4356. SYNTAX ("nop\t; mul\t#1, r0");
  4357. }
  4358. else
  4359. {
  4360. ID(mul);
  4361. }
  4362. DR(rdst); SC(immm); F_____;
  4363. }
  4364. break;
  4365. }
  4366. break;
  4367. case 0x64:
  4368. GETBYTE ();
  4369. switch (op[1] & 0x00)
  4370. {
  4371. case 0x00:
  4372. {
  4373. /** 0110 0100 immm rdst and #%1, %0 */
  4374. #line 435 "rx-decode.opc"
  4375. int immm AU = (op[1] >> 4) & 0x0f;
  4376. #line 435 "rx-decode.opc"
  4377. int rdst AU = op[1] & 0x0f;
  4378. if (trace)
  4379. {
  4380. printf ("\033[33m%s\033[0m %02x %02x\n",
  4381. "/** 0110 0100 immm rdst and #%1, %0 */",
  4382. op[0], op[1]);
  4383. printf (" immm = 0x%x,", immm);
  4384. printf (" rdst = 0x%x\n", rdst);
  4385. }
  4386. SYNTAX("and #%1, %0");
  4387. #line 435 "rx-decode.opc"
  4388. ID(and); SC(immm); DR(rdst); F__SZ_;
  4389. }
  4390. break;
  4391. }
  4392. break;
  4393. case 0x65:
  4394. GETBYTE ();
  4395. switch (op[1] & 0x00)
  4396. {
  4397. case 0x00:
  4398. {
  4399. /** 0110 0101 immm rdst or #%1, %0 */
  4400. #line 453 "rx-decode.opc"
  4401. int immm AU = (op[1] >> 4) & 0x0f;
  4402. #line 453 "rx-decode.opc"
  4403. int rdst AU = op[1] & 0x0f;
  4404. if (trace)
  4405. {
  4406. printf ("\033[33m%s\033[0m %02x %02x\n",
  4407. "/** 0110 0101 immm rdst or #%1, %0 */",
  4408. op[0], op[1]);
  4409. printf (" immm = 0x%x,", immm);
  4410. printf (" rdst = 0x%x\n", rdst);
  4411. }
  4412. SYNTAX("or #%1, %0");
  4413. #line 453 "rx-decode.opc"
  4414. ID(or); SC(immm); DR(rdst); F__SZ_;
  4415. }
  4416. break;
  4417. }
  4418. break;
  4419. case 0x66:
  4420. GETBYTE ();
  4421. switch (op[1] & 0x00)
  4422. {
  4423. case 0x00:
  4424. {
  4425. /** 0110 0110 immm rdst mov%s #%1, %0 */
  4426. #line 329 "rx-decode.opc"
  4427. int immm AU = (op[1] >> 4) & 0x0f;
  4428. #line 329 "rx-decode.opc"
  4429. int rdst AU = op[1] & 0x0f;
  4430. if (trace)
  4431. {
  4432. printf ("\033[33m%s\033[0m %02x %02x\n",
  4433. "/** 0110 0110 immm rdst mov%s #%1, %0 */",
  4434. op[0], op[1]);
  4435. printf (" immm = 0x%x,", immm);
  4436. printf (" rdst = 0x%x\n", rdst);
  4437. }
  4438. SYNTAX("mov%s #%1, %0");
  4439. #line 329 "rx-decode.opc"
  4440. ID(mov); DR(rdst); SC(immm); F_____;
  4441. }
  4442. break;
  4443. }
  4444. break;
  4445. case 0x67:
  4446. {
  4447. /** 0110 0111 rtsd #%1 */
  4448. if (trace)
  4449. {
  4450. printf ("\033[33m%s\033[0m %02x\n",
  4451. "/** 0110 0111 rtsd #%1 */",
  4452. op[0]);
  4453. }
  4454. SYNTAX("rtsd #%1");
  4455. #line 426 "rx-decode.opc"
  4456. ID(rtsd); SC(IMM(1) * 4);
  4457. }
  4458. break;
  4459. case 0x68:
  4460. GETBYTE ();
  4461. switch (op[1] & 0x00)
  4462. {
  4463. case 0x00:
  4464. op_semantics_28:
  4465. {
  4466. /** 0110 100i mmmm rdst shlr #%2, %0 */
  4467. #line 751 "rx-decode.opc"
  4468. int i AU = op[0] & 0x01;
  4469. #line 751 "rx-decode.opc"
  4470. int mmmm AU = (op[1] >> 4) & 0x0f;
  4471. #line 751 "rx-decode.opc"
  4472. int rdst AU = op[1] & 0x0f;
  4473. if (trace)
  4474. {
  4475. printf ("\033[33m%s\033[0m %02x %02x\n",
  4476. "/** 0110 100i mmmm rdst shlr #%2, %0 */",
  4477. op[0], op[1]);
  4478. printf (" i = 0x%x,", i);
  4479. printf (" mmmm = 0x%x,", mmmm);
  4480. printf (" rdst = 0x%x\n", rdst);
  4481. }
  4482. SYNTAX("shlr #%2, %0");
  4483. #line 751 "rx-decode.opc"
  4484. ID(shlr); S2C(i*16+mmmm); SR(rdst); DR(rdst); F__SZC;
  4485. }
  4486. break;
  4487. }
  4488. break;
  4489. case 0x69:
  4490. GETBYTE ();
  4491. switch (op[1] & 0x00)
  4492. {
  4493. case 0x00:
  4494. goto op_semantics_28;
  4495. break;
  4496. }
  4497. break;
  4498. case 0x6a:
  4499. GETBYTE ();
  4500. switch (op[1] & 0x00)
  4501. {
  4502. case 0x00:
  4503. op_semantics_29:
  4504. {
  4505. /** 0110 101i mmmm rdst shar #%2, %0 */
  4506. #line 741 "rx-decode.opc"
  4507. int i AU = op[0] & 0x01;
  4508. #line 741 "rx-decode.opc"
  4509. int mmmm AU = (op[1] >> 4) & 0x0f;
  4510. #line 741 "rx-decode.opc"
  4511. int rdst AU = op[1] & 0x0f;
  4512. if (trace)
  4513. {
  4514. printf ("\033[33m%s\033[0m %02x %02x\n",
  4515. "/** 0110 101i mmmm rdst shar #%2, %0 */",
  4516. op[0], op[1]);
  4517. printf (" i = 0x%x,", i);
  4518. printf (" mmmm = 0x%x,", mmmm);
  4519. printf (" rdst = 0x%x\n", rdst);
  4520. }
  4521. SYNTAX("shar #%2, %0");
  4522. #line 741 "rx-decode.opc"
  4523. ID(shar); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_0SZC;
  4524. }
  4525. break;
  4526. }
  4527. break;
  4528. case 0x6b:
  4529. GETBYTE ();
  4530. switch (op[1] & 0x00)
  4531. {
  4532. case 0x00:
  4533. goto op_semantics_29;
  4534. break;
  4535. }
  4536. break;
  4537. case 0x6c:
  4538. GETBYTE ();
  4539. switch (op[1] & 0x00)
  4540. {
  4541. case 0x00:
  4542. op_semantics_30:
  4543. {
  4544. /** 0110 110i mmmm rdst shll #%2, %0 */
  4545. #line 731 "rx-decode.opc"
  4546. int i AU = op[0] & 0x01;
  4547. #line 731 "rx-decode.opc"
  4548. int mmmm AU = (op[1] >> 4) & 0x0f;
  4549. #line 731 "rx-decode.opc"
  4550. int rdst AU = op[1] & 0x0f;
  4551. if (trace)
  4552. {
  4553. printf ("\033[33m%s\033[0m %02x %02x\n",
  4554. "/** 0110 110i mmmm rdst shll #%2, %0 */",
  4555. op[0], op[1]);
  4556. printf (" i = 0x%x,", i);
  4557. printf (" mmmm = 0x%x,", mmmm);
  4558. printf (" rdst = 0x%x\n", rdst);
  4559. }
  4560. SYNTAX("shll #%2, %0");
  4561. #line 731 "rx-decode.opc"
  4562. ID(shll); S2C(i*16+mmmm); SR(rdst); DR(rdst); F_OSZC;
  4563. }
  4564. break;
  4565. }
  4566. break;
  4567. case 0x6d:
  4568. GETBYTE ();
  4569. switch (op[1] & 0x00)
  4570. {
  4571. case 0x00:
  4572. goto op_semantics_30;
  4573. break;
  4574. }
  4575. break;
  4576. case 0x6e:
  4577. GETBYTE ();
  4578. switch (op[1] & 0x00)
  4579. {
  4580. case 0x00:
  4581. {
  4582. /** 0110 1110 dsta dstb pushm %1-%2 */
  4583. #line 393 "rx-decode.opc"
  4584. int dsta AU = (op[1] >> 4) & 0x0f;
  4585. #line 393 "rx-decode.opc"
  4586. int dstb AU = op[1] & 0x0f;
  4587. if (trace)
  4588. {
  4589. printf ("\033[33m%s\033[0m %02x %02x\n",
  4590. "/** 0110 1110 dsta dstb pushm %1-%2 */",
  4591. op[0], op[1]);
  4592. printf (" dsta = 0x%x,", dsta);
  4593. printf (" dstb = 0x%x\n", dstb);
  4594. }
  4595. SYNTAX("pushm %1-%2");
  4596. #line 393 "rx-decode.opc"
  4597. ID(pushm); SR(dsta); S2R(dstb); F_____;
  4598. }
  4599. break;
  4600. }
  4601. break;
  4602. case 0x6f:
  4603. GETBYTE ();
  4604. switch (op[1] & 0x00)
  4605. {
  4606. case 0x00:
  4607. {
  4608. /** 0110 1111 dsta dstb popm %1-%2 */
  4609. #line 390 "rx-decode.opc"
  4610. int dsta AU = (op[1] >> 4) & 0x0f;
  4611. #line 390 "rx-decode.opc"
  4612. int dstb AU = op[1] & 0x0f;
  4613. if (trace)
  4614. {
  4615. printf ("\033[33m%s\033[0m %02x %02x\n",
  4616. "/** 0110 1111 dsta dstb popm %1-%2 */",
  4617. op[0], op[1]);
  4618. printf (" dsta = 0x%x,", dsta);
  4619. printf (" dstb = 0x%x\n", dstb);
  4620. }
  4621. SYNTAX("popm %1-%2");
  4622. #line 390 "rx-decode.opc"
  4623. ID(popm); SR(dsta); S2R(dstb); F_____;
  4624. }
  4625. break;
  4626. }
  4627. break;
  4628. case 0x70:
  4629. GETBYTE ();
  4630. switch (op[1] & 0x00)
  4631. {
  4632. case 0x00:
  4633. op_semantics_31:
  4634. {
  4635. /** 0111 00im rsrc rdst add #%1, %2, %0 */
  4636. #line 534 "rx-decode.opc"
  4637. int im AU = op[0] & 0x03;
  4638. #line 534 "rx-decode.opc"
  4639. int rsrc AU = (op[1] >> 4) & 0x0f;
  4640. #line 534 "rx-decode.opc"
  4641. int rdst AU = op[1] & 0x0f;
  4642. if (trace)
  4643. {
  4644. printf ("\033[33m%s\033[0m %02x %02x\n",
  4645. "/** 0111 00im rsrc rdst add #%1, %2, %0 */",
  4646. op[0], op[1]);
  4647. printf (" im = 0x%x,", im);
  4648. printf (" rsrc = 0x%x,", rsrc);
  4649. printf (" rdst = 0x%x\n", rdst);
  4650. }
  4651. SYNTAX("add #%1, %2, %0");
  4652. #line 534 "rx-decode.opc"
  4653. ID(add); SC(IMMex(im)); S2R(rsrc); DR(rdst); F_OSZC;
  4654. }
  4655. break;
  4656. }
  4657. break;
  4658. case 0x71:
  4659. GETBYTE ();
  4660. switch (op[1] & 0x00)
  4661. {
  4662. case 0x00:
  4663. goto op_semantics_31;
  4664. break;
  4665. }
  4666. break;
  4667. case 0x72:
  4668. GETBYTE ();
  4669. switch (op[1] & 0x00)
  4670. {
  4671. case 0x00:
  4672. goto op_semantics_31;
  4673. break;
  4674. }
  4675. break;
  4676. case 0x73:
  4677. GETBYTE ();
  4678. switch (op[1] & 0x00)
  4679. {
  4680. case 0x00:
  4681. goto op_semantics_31;
  4682. break;
  4683. }
  4684. break;
  4685. case 0x74:
  4686. GETBYTE ();
  4687. switch (op[1] & 0xf0)
  4688. {
  4689. case 0x00:
  4690. op_semantics_32:
  4691. {
  4692. /** 0111 01im 0000 rsrc cmp #%2, %1%S1 */
  4693. #line 546 "rx-decode.opc"
  4694. int im AU = op[0] & 0x03;
  4695. #line 546 "rx-decode.opc"
  4696. int rsrc AU = op[1] & 0x0f;
  4697. if (trace)
  4698. {
  4699. printf ("\033[33m%s\033[0m %02x %02x\n",
  4700. "/** 0111 01im 0000 rsrc cmp #%2, %1%S1 */",
  4701. op[0], op[1]);
  4702. printf (" im = 0x%x,", im);
  4703. printf (" rsrc = 0x%x\n", rsrc);
  4704. }
  4705. SYNTAX("cmp #%2, %1%S1");
  4706. #line 546 "rx-decode.opc"
  4707. ID(sub); SR(rsrc); S2C(IMMex(im)); F_OSZC;
  4708. }
  4709. break;
  4710. case 0x10:
  4711. op_semantics_33:
  4712. {
  4713. /** 0111 01im 0001rdst mul #%1, %0 */
  4714. #line 649 "rx-decode.opc"
  4715. int im AU = op[0] & 0x03;
  4716. #line 649 "rx-decode.opc"
  4717. int rdst AU = op[1] & 0x0f;
  4718. if (trace)
  4719. {
  4720. printf ("\033[33m%s\033[0m %02x %02x\n",
  4721. "/** 0111 01im 0001rdst mul #%1, %0 */",
  4722. op[0], op[1]);
  4723. printf (" im = 0x%x,", im);
  4724. printf (" rdst = 0x%x\n", rdst);
  4725. }
  4726. SYNTAX("mul #%1, %0");
  4727. #line 649 "rx-decode.opc"
  4728. int val = IMMex(im);
  4729. if (val == 1 && rdst == 0)
  4730. {
  4731. SYNTAX("nop\t; mul\t#1, r0");
  4732. switch (im)
  4733. {
  4734. case 2: ID(nop4); break;
  4735. case 3: ID(nop5); break;
  4736. case 0: ID(nop6); break;
  4737. default:
  4738. ID(mul);
  4739. SYNTAX("mul #%1, %0");
  4740. break;
  4741. }
  4742. }
  4743. else
  4744. {
  4745. ID(mul);
  4746. }
  4747. DR(rdst); SC(val); F_____;
  4748. }
  4749. break;
  4750. case 0x20:
  4751. op_semantics_34:
  4752. {
  4753. /** 0111 01im 0010 rdst and #%1, %0 */
  4754. #line 438 "rx-decode.opc"
  4755. int im AU = op[0] & 0x03;
  4756. #line 438 "rx-decode.opc"
  4757. int rdst AU = op[1] & 0x0f;
  4758. if (trace)
  4759. {
  4760. printf ("\033[33m%s\033[0m %02x %02x\n",
  4761. "/** 0111 01im 0010 rdst and #%1, %0 */",
  4762. op[0], op[1]);
  4763. printf (" im = 0x%x,", im);
  4764. printf (" rdst = 0x%x\n", rdst);
  4765. }
  4766. SYNTAX("and #%1, %0");
  4767. #line 438 "rx-decode.opc"
  4768. ID(and); SC(IMMex(im)); DR(rdst); F__SZ_;
  4769. }
  4770. break;
  4771. case 0x30:
  4772. op_semantics_35:
  4773. {
  4774. /** 0111 01im 0011 rdst or #%1, %0 */
  4775. #line 456 "rx-decode.opc"
  4776. int im AU = op[0] & 0x03;
  4777. #line 456 "rx-decode.opc"
  4778. int rdst AU = op[1] & 0x0f;
  4779. if (trace)
  4780. {
  4781. printf ("\033[33m%s\033[0m %02x %02x\n",
  4782. "/** 0111 01im 0011 rdst or #%1, %0 */",
  4783. op[0], op[1]);
  4784. printf (" im = 0x%x,", im);
  4785. printf (" rdst = 0x%x\n", rdst);
  4786. }
  4787. SYNTAX("or #%1, %0");
  4788. #line 456 "rx-decode.opc"
  4789. ID(or); SC(IMMex(im)); DR(rdst); F__SZ_;
  4790. }
  4791. break;
  4792. default: UNSUPPORTED(); break;
  4793. }
  4794. break;
  4795. case 0x75:
  4796. GETBYTE ();
  4797. switch (op[1] & 0xff)
  4798. {
  4799. case 0x00:
  4800. case 0x01:
  4801. case 0x02:
  4802. case 0x03:
  4803. case 0x04:
  4804. case 0x05:
  4805. case 0x06:
  4806. case 0x07:
  4807. case 0x08:
  4808. case 0x09:
  4809. case 0x0a:
  4810. case 0x0b:
  4811. case 0x0c:
  4812. case 0x0d:
  4813. case 0x0e:
  4814. case 0x0f:
  4815. goto op_semantics_32;
  4816. break;
  4817. case 0x10:
  4818. case 0x11:
  4819. case 0x12:
  4820. case 0x13:
  4821. case 0x14:
  4822. case 0x15:
  4823. case 0x16:
  4824. case 0x17:
  4825. case 0x18:
  4826. case 0x19:
  4827. case 0x1a:
  4828. case 0x1b:
  4829. case 0x1c:
  4830. case 0x1d:
  4831. case 0x1e:
  4832. case 0x1f:
  4833. goto op_semantics_33;
  4834. break;
  4835. case 0x20:
  4836. case 0x21:
  4837. case 0x22:
  4838. case 0x23:
  4839. case 0x24:
  4840. case 0x25:
  4841. case 0x26:
  4842. case 0x27:
  4843. case 0x28:
  4844. case 0x29:
  4845. case 0x2a:
  4846. case 0x2b:
  4847. case 0x2c:
  4848. case 0x2d:
  4849. case 0x2e:
  4850. case 0x2f:
  4851. goto op_semantics_34;
  4852. break;
  4853. case 0x30:
  4854. case 0x31:
  4855. case 0x32:
  4856. case 0x33:
  4857. case 0x34:
  4858. case 0x35:
  4859. case 0x36:
  4860. case 0x37:
  4861. case 0x38:
  4862. case 0x39:
  4863. case 0x3a:
  4864. case 0x3b:
  4865. case 0x3c:
  4866. case 0x3d:
  4867. case 0x3e:
  4868. case 0x3f:
  4869. goto op_semantics_35;
  4870. break;
  4871. case 0x40:
  4872. case 0x41:
  4873. case 0x42:
  4874. case 0x43:
  4875. case 0x44:
  4876. case 0x45:
  4877. case 0x46:
  4878. case 0x47:
  4879. case 0x48:
  4880. case 0x49:
  4881. case 0x4a:
  4882. case 0x4b:
  4883. case 0x4c:
  4884. case 0x4d:
  4885. case 0x4e:
  4886. case 0x4f:
  4887. {
  4888. /** 0111 0101 0100 rdst mov%s #%1, %0 */
  4889. #line 310 "rx-decode.opc"
  4890. int rdst AU = op[1] & 0x0f;
  4891. if (trace)
  4892. {
  4893. printf ("\033[33m%s\033[0m %02x %02x\n",
  4894. "/** 0111 0101 0100 rdst mov%s #%1, %0 */",
  4895. op[0], op[1]);
  4896. printf (" rdst = 0x%x\n", rdst);
  4897. }
  4898. SYNTAX("mov%s #%1, %0");
  4899. #line 310 "rx-decode.opc"
  4900. ID(mov); DR(rdst); SC(IMM (1)); F_____;
  4901. }
  4902. break;
  4903. case 0x50:
  4904. case 0x51:
  4905. case 0x52:
  4906. case 0x53:
  4907. case 0x54:
  4908. case 0x55:
  4909. case 0x56:
  4910. case 0x57:
  4911. case 0x58:
  4912. case 0x59:
  4913. case 0x5a:
  4914. case 0x5b:
  4915. case 0x5c:
  4916. case 0x5d:
  4917. case 0x5e:
  4918. case 0x5f:
  4919. {
  4920. /** 0111 0101 0101 rsrc cmp #%2, %1 */
  4921. #line 549 "rx-decode.opc"
  4922. int rsrc AU = op[1] & 0x0f;
  4923. if (trace)
  4924. {
  4925. printf ("\033[33m%s\033[0m %02x %02x\n",
  4926. "/** 0111 0101 0101 rsrc cmp #%2, %1 */",
  4927. op[0], op[1]);
  4928. printf (" rsrc = 0x%x\n", rsrc);
  4929. }
  4930. SYNTAX("cmp #%2, %1");
  4931. #line 549 "rx-decode.opc"
  4932. ID(sub); SR(rsrc); S2C(IMM(1)); F_OSZC;
  4933. }
  4934. break;
  4935. case 0x60:
  4936. {
  4937. /** 0111 0101 0110 0000 int #%1 */
  4938. if (trace)
  4939. {
  4940. printf ("\033[33m%s\033[0m %02x %02x\n",
  4941. "/** 0111 0101 0110 0000 int #%1 */",
  4942. op[0], op[1]);
  4943. }
  4944. SYNTAX("int #%1");
  4945. #line 1056 "rx-decode.opc"
  4946. ID(int); SC(IMM(1));
  4947. }
  4948. break;
  4949. case 0x70:
  4950. GETBYTE ();
  4951. switch (op[2] & 0xf0)
  4952. {
  4953. case 0x00:
  4954. {
  4955. /** 0111 0101 0111 0000 0000 immm mvtipl #%1 */
  4956. #line 1023 "rx-decode.opc"
  4957. int immm AU = op[2] & 0x0f;
  4958. if (trace)
  4959. {
  4960. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  4961. "/** 0111 0101 0111 0000 0000 immm mvtipl #%1 */",
  4962. op[0], op[1], op[2]);
  4963. printf (" immm = 0x%x\n", immm);
  4964. }
  4965. SYNTAX("mvtipl #%1");
  4966. #line 1023 "rx-decode.opc"
  4967. ID(mvtipl); SC(immm);
  4968. }
  4969. break;
  4970. default: UNSUPPORTED(); break;
  4971. }
  4972. break;
  4973. case 0x90:
  4974. GETBYTE ();
  4975. switch (op[2] & 0xff)
  4976. {
  4977. case 0x1b:
  4978. {
  4979. /** 0111 0101 1001 0000 0001 1011 mvfdr */
  4980. if (trace)
  4981. {
  4982. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  4983. "/** 0111 0101 1001 0000 0001 1011 mvfdr */",
  4984. op[0], op[1], op[2]);
  4985. }
  4986. SYNTAX("mvfdr");
  4987. #line 1229 "rx-decode.opc"
  4988. ID(mvfdr); F_____;
  4989. }
  4990. break;
  4991. default: UNSUPPORTED(); break;
  4992. }
  4993. break;
  4994. case 0xa0:
  4995. GETBYTE ();
  4996. switch (op[2] & 0x00)
  4997. {
  4998. case 0x00:
  4999. {
  5000. /** 0111 0101 1010 0000 rdst rnum dpushm.l %1-%2 */
  5001. #line 1223 "rx-decode.opc"
  5002. int rdst AU = (op[2] >> 4) & 0x0f;
  5003. #line 1223 "rx-decode.opc"
  5004. int rnum AU = op[2] & 0x0f;
  5005. if (trace)
  5006. {
  5007. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  5008. "/** 0111 0101 1010 0000 rdst rnum dpushm.l %1-%2 */",
  5009. op[0], op[1], op[2]);
  5010. printf (" rdst = 0x%x,", rdst);
  5011. printf (" rnum = 0x%x\n", rnum);
  5012. }
  5013. SYNTAX("dpushm.l %1-%2");
  5014. #line 1223 "rx-decode.opc"
  5015. ID(dpushm); SCR(rdst); S2CR(rdst + rnum); F_____;
  5016. }
  5017. break;
  5018. }
  5019. break;
  5020. case 0xa8:
  5021. GETBYTE ();
  5022. switch (op[2] & 0x00)
  5023. {
  5024. case 0x00:
  5025. {
  5026. /** 0111 0101 1010 1000 rdst rnum dpopm.l %1-%2 */
  5027. #line 1217 "rx-decode.opc"
  5028. int rdst AU = (op[2] >> 4) & 0x0f;
  5029. #line 1217 "rx-decode.opc"
  5030. int rnum AU = op[2] & 0x0f;
  5031. if (trace)
  5032. {
  5033. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  5034. "/** 0111 0101 1010 1000 rdst rnum dpopm.l %1-%2 */",
  5035. op[0], op[1], op[2]);
  5036. printf (" rdst = 0x%x,", rdst);
  5037. printf (" rnum = 0x%x\n", rnum);
  5038. }
  5039. SYNTAX("dpopm.l %1-%2");
  5040. #line 1217 "rx-decode.opc"
  5041. ID(dpopm); SCR(rdst); S2CR(rdst + rnum); F_____;
  5042. }
  5043. break;
  5044. }
  5045. break;
  5046. case 0xb0:
  5047. GETBYTE ();
  5048. switch (op[2] & 0x00)
  5049. {
  5050. case 0x00:
  5051. {
  5052. /** 0111 0101 1011 0000 rdst rnum dpushm.d %1-%2 */
  5053. #line 1220 "rx-decode.opc"
  5054. int rdst AU = (op[2] >> 4) & 0x0f;
  5055. #line 1220 "rx-decode.opc"
  5056. int rnum AU = op[2] & 0x0f;
  5057. if (trace)
  5058. {
  5059. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  5060. "/** 0111 0101 1011 0000 rdst rnum dpushm.d %1-%2 */",
  5061. op[0], op[1], op[2]);
  5062. printf (" rdst = 0x%x,", rdst);
  5063. printf (" rnum = 0x%x\n", rnum);
  5064. }
  5065. SYNTAX("dpushm.d %1-%2");
  5066. #line 1220 "rx-decode.opc"
  5067. ID(dpushm); SDR(rdst); S2DR(rdst + rnum); F_____;
  5068. }
  5069. break;
  5070. }
  5071. break;
  5072. case 0xb8:
  5073. GETBYTE ();
  5074. switch (op[2] & 0x00)
  5075. {
  5076. case 0x00:
  5077. {
  5078. /** 0111 0101 1011 1000 rdst rnum dpopm.d %1-%2 */
  5079. #line 1214 "rx-decode.opc"
  5080. int rdst AU = (op[2] >> 4) & 0x0f;
  5081. #line 1214 "rx-decode.opc"
  5082. int rnum AU = op[2] & 0x0f;
  5083. if (trace)
  5084. {
  5085. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  5086. "/** 0111 0101 1011 1000 rdst rnum dpopm.d %1-%2 */",
  5087. op[0], op[1], op[2]);
  5088. printf (" rdst = 0x%x,", rdst);
  5089. printf (" rnum = 0x%x\n", rnum);
  5090. }
  5091. SYNTAX("dpopm.d %1-%2");
  5092. #line 1214 "rx-decode.opc"
  5093. ID(dpopm); SDR(rdst); S2DR(rdst + rnum); F_____;
  5094. }
  5095. break;
  5096. }
  5097. break;
  5098. default: UNSUPPORTED(); break;
  5099. }
  5100. break;
  5101. case 0x76:
  5102. GETBYTE ();
  5103. switch (op[1] & 0xff)
  5104. {
  5105. case 0x00:
  5106. case 0x01:
  5107. case 0x02:
  5108. case 0x03:
  5109. case 0x04:
  5110. case 0x05:
  5111. case 0x06:
  5112. case 0x07:
  5113. case 0x08:
  5114. case 0x09:
  5115. case 0x0a:
  5116. case 0x0b:
  5117. case 0x0c:
  5118. case 0x0d:
  5119. case 0x0e:
  5120. case 0x0f:
  5121. goto op_semantics_32;
  5122. break;
  5123. case 0x10:
  5124. case 0x11:
  5125. case 0x12:
  5126. case 0x13:
  5127. case 0x14:
  5128. case 0x15:
  5129. case 0x16:
  5130. case 0x17:
  5131. case 0x18:
  5132. case 0x19:
  5133. case 0x1a:
  5134. case 0x1b:
  5135. case 0x1c:
  5136. case 0x1d:
  5137. case 0x1e:
  5138. case 0x1f:
  5139. goto op_semantics_33;
  5140. break;
  5141. case 0x20:
  5142. case 0x21:
  5143. case 0x22:
  5144. case 0x23:
  5145. case 0x24:
  5146. case 0x25:
  5147. case 0x26:
  5148. case 0x27:
  5149. case 0x28:
  5150. case 0x29:
  5151. case 0x2a:
  5152. case 0x2b:
  5153. case 0x2c:
  5154. case 0x2d:
  5155. case 0x2e:
  5156. case 0x2f:
  5157. goto op_semantics_34;
  5158. break;
  5159. case 0x30:
  5160. case 0x31:
  5161. case 0x32:
  5162. case 0x33:
  5163. case 0x34:
  5164. case 0x35:
  5165. case 0x36:
  5166. case 0x37:
  5167. case 0x38:
  5168. case 0x39:
  5169. case 0x3a:
  5170. case 0x3b:
  5171. case 0x3c:
  5172. case 0x3d:
  5173. case 0x3e:
  5174. case 0x3f:
  5175. goto op_semantics_35;
  5176. break;
  5177. case 0x90:
  5178. GETBYTE ();
  5179. switch (op[2] & 0xff)
  5180. {
  5181. case 0x00:
  5182. GETBYTE ();
  5183. switch (op[3] & 0x00)
  5184. {
  5185. case 0x00:
  5186. op_semantics_36:
  5187. {
  5188. /** 0111 0110 1001 0000 srcb 0000 rdst srca dadd %1, %2, %0 */
  5189. #line 1238 "rx-decode.opc"
  5190. int srcb AU = (op[2] >> 4) & 0x0f;
  5191. #line 1238 "rx-decode.opc"
  5192. int rdst AU = (op[3] >> 4) & 0x0f;
  5193. #line 1238 "rx-decode.opc"
  5194. int srca AU = op[3] & 0x0f;
  5195. if (trace)
  5196. {
  5197. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  5198. "/** 0111 0110 1001 0000 srcb 0000 rdst srca dadd %1, %2, %0 */",
  5199. op[0], op[1], op[2], op[3]);
  5200. printf (" srcb = 0x%x,", srcb);
  5201. printf (" rdst = 0x%x,", rdst);
  5202. printf (" srca = 0x%x\n", srca);
  5203. }
  5204. SYNTAX("dadd %1, %2, %0");
  5205. #line 1238 "rx-decode.opc"
  5206. ID(dadd); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
  5207. }
  5208. break;
  5209. }
  5210. break;
  5211. case 0x01:
  5212. GETBYTE ();
  5213. switch (op[3] & 0x00)
  5214. {
  5215. case 0x00:
  5216. op_semantics_37:
  5217. {
  5218. /** 0111 0110 1001 0000 srcb 0001 rdst srca dsub %1, %2, %0 */
  5219. #line 1259 "rx-decode.opc"
  5220. int srcb AU = (op[2] >> 4) & 0x0f;
  5221. #line 1259 "rx-decode.opc"
  5222. int rdst AU = (op[3] >> 4) & 0x0f;
  5223. #line 1259 "rx-decode.opc"
  5224. int srca AU = op[3] & 0x0f;
  5225. if (trace)
  5226. {
  5227. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  5228. "/** 0111 0110 1001 0000 srcb 0001 rdst srca dsub %1, %2, %0 */",
  5229. op[0], op[1], op[2], op[3]);
  5230. printf (" srcb = 0x%x,", srcb);
  5231. printf (" rdst = 0x%x,", rdst);
  5232. printf (" srca = 0x%x\n", srca);
  5233. }
  5234. SYNTAX("dsub %1, %2, %0");
  5235. #line 1259 "rx-decode.opc"
  5236. ID(dsub); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
  5237. }
  5238. break;
  5239. }
  5240. break;
  5241. case 0x02:
  5242. GETBYTE ();
  5243. switch (op[3] & 0x00)
  5244. {
  5245. case 0x00:
  5246. op_semantics_38:
  5247. {
  5248. /** 0111 0110 1001 0000 srcb 0010 rdst srca dmul %1, %2, %0 */
  5249. #line 1247 "rx-decode.opc"
  5250. int srcb AU = (op[2] >> 4) & 0x0f;
  5251. #line 1247 "rx-decode.opc"
  5252. int rdst AU = (op[3] >> 4) & 0x0f;
  5253. #line 1247 "rx-decode.opc"
  5254. int srca AU = op[3] & 0x0f;
  5255. if (trace)
  5256. {
  5257. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  5258. "/** 0111 0110 1001 0000 srcb 0010 rdst srca dmul %1, %2, %0 */",
  5259. op[0], op[1], op[2], op[3]);
  5260. printf (" srcb = 0x%x,", srcb);
  5261. printf (" rdst = 0x%x,", rdst);
  5262. printf (" srca = 0x%x\n", srca);
  5263. }
  5264. SYNTAX("dmul %1, %2, %0");
  5265. #line 1247 "rx-decode.opc"
  5266. ID(dmul); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
  5267. }
  5268. break;
  5269. }
  5270. break;
  5271. case 0x05:
  5272. GETBYTE ();
  5273. switch (op[3] & 0x00)
  5274. {
  5275. case 0x00:
  5276. op_semantics_39:
  5277. {
  5278. /** 0111 0110 1001 0000 srcb 0101 rdst srca ddiv %1, %2, %0 */
  5279. #line 1244 "rx-decode.opc"
  5280. int srcb AU = (op[2] >> 4) & 0x0f;
  5281. #line 1244 "rx-decode.opc"
  5282. int rdst AU = (op[3] >> 4) & 0x0f;
  5283. #line 1244 "rx-decode.opc"
  5284. int srca AU = op[3] & 0x0f;
  5285. if (trace)
  5286. {
  5287. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  5288. "/** 0111 0110 1001 0000 srcb 0101 rdst srca ddiv %1, %2, %0 */",
  5289. op[0], op[1], op[2], op[3]);
  5290. printf (" srcb = 0x%x,", srcb);
  5291. printf (" rdst = 0x%x,", rdst);
  5292. printf (" srca = 0x%x\n", srca);
  5293. }
  5294. SYNTAX("ddiv %1, %2, %0");
  5295. #line 1244 "rx-decode.opc"
  5296. ID(ddiv); DDR(rdst); SDR(srca); S2DR(srcb); F_____;
  5297. }
  5298. break;
  5299. }
  5300. break;
  5301. case 0x08:
  5302. GETBYTE ();
  5303. switch (op[3] & 0x00)
  5304. {
  5305. case 0x00:
  5306. op_semantics_40:
  5307. {
  5308. /** 0111 0110 1001 0000 srcb 1000 cond srca dcmp%0 %1, %2 */
  5309. #line 1241 "rx-decode.opc"
  5310. int srcb AU = (op[2] >> 4) & 0x0f;
  5311. #line 1241 "rx-decode.opc"
  5312. int cond AU = (op[3] >> 4) & 0x0f;
  5313. #line 1241 "rx-decode.opc"
  5314. int srca AU = op[3] & 0x0f;
  5315. if (trace)
  5316. {
  5317. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  5318. "/** 0111 0110 1001 0000 srcb 1000 cond srca dcmp%0 %1, %2 */",
  5319. op[0], op[1], op[2], op[3]);
  5320. printf (" srcb = 0x%x,", srcb);
  5321. printf (" cond = 0x%x,", cond);
  5322. printf (" srca = 0x%x\n", srca);
  5323. }
  5324. SYNTAX("dcmp%0 %1, %2");
  5325. #line 1241 "rx-decode.opc"
  5326. ID(dcmp); DCND(cond); SDR(srca); S2DR(srcb); F_____;
  5327. }
  5328. break;
  5329. }
  5330. break;
  5331. case 0x0c:
  5332. GETBYTE ();
  5333. switch (op[3] & 0x0f)
  5334. {
  5335. case 0x00:
  5336. op_semantics_41:
  5337. {
  5338. /** 0111 0110 1001 0000 rsrc 1100 rdst 0000 dmov.d %1, %0 */
  5339. #line 1179 "rx-decode.opc"
  5340. int rsrc AU = (op[2] >> 4) & 0x0f;
  5341. #line 1179 "rx-decode.opc"
  5342. int rdst AU = (op[3] >> 4) & 0x0f;
  5343. if (trace)
  5344. {
  5345. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  5346. "/** 0111 0110 1001 0000 rsrc 1100 rdst 0000 dmov.d %1, %0 */",
  5347. op[0], op[1], op[2], op[3]);
  5348. printf (" rsrc = 0x%x,", rsrc);
  5349. printf (" rdst = 0x%x\n", rdst);
  5350. }
  5351. SYNTAX("dmov.d %1, %0");
  5352. #line 1179 "rx-decode.opc"
  5353. ID(dmov); DDR(rdst); SDR(rsrc); F_____;
  5354. }
  5355. break;
  5356. case 0x01:
  5357. op_semantics_42:
  5358. {
  5359. /** 0111 0110 1001 0000 rsrc 1100 rdst 0001 dabs %1, %0 */
  5360. #line 1235 "rx-decode.opc"
  5361. int rsrc AU = (op[2] >> 4) & 0x0f;
  5362. #line 1235 "rx-decode.opc"
  5363. int rdst AU = (op[3] >> 4) & 0x0f;
  5364. if (trace)
  5365. {
  5366. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  5367. "/** 0111 0110 1001 0000 rsrc 1100 rdst 0001 dabs %1, %0 */",
  5368. op[0], op[1], op[2], op[3]);
  5369. printf (" rsrc = 0x%x,", rsrc);
  5370. printf (" rdst = 0x%x\n", rdst);
  5371. }
  5372. SYNTAX("dabs %1, %0");
  5373. #line 1235 "rx-decode.opc"
  5374. ID(dabs); DDR(rdst); SDR(rsrc); F_____;
  5375. }
  5376. break;
  5377. case 0x02:
  5378. op_semantics_43:
  5379. {
  5380. /** 0111 0110 1001 0000 rsrc 1100 rdst 0010 dneg %1, %0 */
  5381. #line 1250 "rx-decode.opc"
  5382. int rsrc AU = (op[2] >> 4) & 0x0f;
  5383. #line 1250 "rx-decode.opc"
  5384. int rdst AU = (op[3] >> 4) & 0x0f;
  5385. if (trace)
  5386. {
  5387. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  5388. "/** 0111 0110 1001 0000 rsrc 1100 rdst 0010 dneg %1, %0 */",
  5389. op[0], op[1], op[2], op[3]);
  5390. printf (" rsrc = 0x%x,", rsrc);
  5391. printf (" rdst = 0x%x\n", rdst);
  5392. }
  5393. SYNTAX("dneg %1, %0");
  5394. #line 1250 "rx-decode.opc"
  5395. ID(dneg); DDR(rdst); SDR(rsrc); F_____;
  5396. }
  5397. break;
  5398. default: UNSUPPORTED(); break;
  5399. }
  5400. break;
  5401. case 0x0d:
  5402. GETBYTE ();
  5403. switch (op[3] & 0x0f)
  5404. {
  5405. case 0x00:
  5406. op_semantics_44:
  5407. {
  5408. /** 0111 0110 1001 0000 rsrc 1101 rdst 0000 dsqrt %1, %0 */
  5409. #line 1256 "rx-decode.opc"
  5410. int rsrc AU = (op[2] >> 4) & 0x0f;
  5411. #line 1256 "rx-decode.opc"
  5412. int rdst AU = (op[3] >> 4) & 0x0f;
  5413. if (trace)
  5414. {
  5415. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  5416. "/** 0111 0110 1001 0000 rsrc 1101 rdst 0000 dsqrt %1, %0 */",
  5417. op[0], op[1], op[2], op[3]);
  5418. printf (" rsrc = 0x%x,", rsrc);
  5419. printf (" rdst = 0x%x\n", rdst);
  5420. }
  5421. SYNTAX("dsqrt %1, %0");
  5422. #line 1256 "rx-decode.opc"
  5423. ID(dsqrt); DDR(rdst); SDR(rsrc); F_____;
  5424. }
  5425. break;
  5426. case 0x08:
  5427. op_semantics_45:
  5428. {
  5429. /** 0111 0110 1001 0000 rsrc 1101 rdst 1000 dtoi %1, %0 */
  5430. #line 1265 "rx-decode.opc"
  5431. int rsrc AU = (op[2] >> 4) & 0x0f;
  5432. #line 1265 "rx-decode.opc"
  5433. int rdst AU = (op[3] >> 4) & 0x0f;
  5434. if (trace)
  5435. {
  5436. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  5437. "/** 0111 0110 1001 0000 rsrc 1101 rdst 1000 dtoi %1, %0 */",
  5438. op[0], op[1], op[2], op[3]);
  5439. printf (" rsrc = 0x%x,", rsrc);
  5440. printf (" rdst = 0x%x\n", rdst);
  5441. }
  5442. SYNTAX("dtoi %1, %0");
  5443. #line 1265 "rx-decode.opc"
  5444. ID(dtoi); DDR(rdst); SDR(rsrc); F_____;
  5445. }
  5446. break;
  5447. case 0x09:
  5448. op_semantics_46:
  5449. {
  5450. /** 0111 0110 1001 0000 rsrc 1101 rdst 1001 dtou %1, %0 */
  5451. #line 1268 "rx-decode.opc"
  5452. int rsrc AU = (op[2] >> 4) & 0x0f;
  5453. #line 1268 "rx-decode.opc"
  5454. int rdst AU = (op[3] >> 4) & 0x0f;
  5455. if (trace)
  5456. {
  5457. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  5458. "/** 0111 0110 1001 0000 rsrc 1101 rdst 1001 dtou %1, %0 */",
  5459. op[0], op[1], op[2], op[3]);
  5460. printf (" rsrc = 0x%x,", rsrc);
  5461. printf (" rdst = 0x%x\n", rdst);
  5462. }
  5463. SYNTAX("dtou %1, %0");
  5464. #line 1268 "rx-decode.opc"
  5465. ID(dtou); DDR(rdst); SDR(rsrc); F_____;
  5466. }
  5467. break;
  5468. case 0x0c:
  5469. op_semantics_47:
  5470. {
  5471. /** 0111 0110 1001 0000 rsrc 1101 rdst 1100 dtof %1, %0 */
  5472. #line 1262 "rx-decode.opc"
  5473. int rsrc AU = (op[2] >> 4) & 0x0f;
  5474. #line 1262 "rx-decode.opc"
  5475. int rdst AU = (op[3] >> 4) & 0x0f;
  5476. if (trace)
  5477. {
  5478. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  5479. "/** 0111 0110 1001 0000 rsrc 1101 rdst 1100 dtof %1, %0 */",
  5480. op[0], op[1], op[2], op[3]);
  5481. printf (" rsrc = 0x%x,", rsrc);
  5482. printf (" rdst = 0x%x\n", rdst);
  5483. }
  5484. SYNTAX("dtof %1, %0");
  5485. #line 1262 "rx-decode.opc"
  5486. ID(dtof); DDR(rdst); SDR(rsrc); F_____;
  5487. }
  5488. break;
  5489. case 0x0d:
  5490. op_semantics_48:
  5491. {
  5492. /** 0111 0110 1001 0000 rsrc 1101 rdst 1101 dround %1, %0 */
  5493. #line 1253 "rx-decode.opc"
  5494. int rsrc AU = (op[2] >> 4) & 0x0f;
  5495. #line 1253 "rx-decode.opc"
  5496. int rdst AU = (op[3] >> 4) & 0x0f;
  5497. if (trace)
  5498. {
  5499. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  5500. "/** 0111 0110 1001 0000 rsrc 1101 rdst 1101 dround %1, %0 */",
  5501. op[0], op[1], op[2], op[3]);
  5502. printf (" rsrc = 0x%x,", rsrc);
  5503. printf (" rdst = 0x%x\n", rdst);
  5504. }
  5505. SYNTAX("dround %1, %0");
  5506. #line 1253 "rx-decode.opc"
  5507. ID(dround); DDR(rdst); SDR(rsrc); F_____;
  5508. }
  5509. break;
  5510. default: UNSUPPORTED(); break;
  5511. }
  5512. break;
  5513. case 0x10:
  5514. GETBYTE ();
  5515. switch (op[3] & 0x00)
  5516. {
  5517. case 0x00:
  5518. goto op_semantics_36;
  5519. break;
  5520. }
  5521. break;
  5522. case 0x11:
  5523. GETBYTE ();
  5524. switch (op[3] & 0x00)
  5525. {
  5526. case 0x00:
  5527. goto op_semantics_37;
  5528. break;
  5529. }
  5530. break;
  5531. case 0x12:
  5532. GETBYTE ();
  5533. switch (op[3] & 0x00)
  5534. {
  5535. case 0x00:
  5536. goto op_semantics_38;
  5537. break;
  5538. }
  5539. break;
  5540. case 0x15:
  5541. GETBYTE ();
  5542. switch (op[3] & 0x00)
  5543. {
  5544. case 0x00:
  5545. goto op_semantics_39;
  5546. break;
  5547. }
  5548. break;
  5549. case 0x18:
  5550. GETBYTE ();
  5551. switch (op[3] & 0x00)
  5552. {
  5553. case 0x00:
  5554. goto op_semantics_40;
  5555. break;
  5556. }
  5557. break;
  5558. case 0x1c:
  5559. GETBYTE ();
  5560. switch (op[3] & 0x0f)
  5561. {
  5562. case 0x00:
  5563. goto op_semantics_41;
  5564. break;
  5565. case 0x01:
  5566. goto op_semantics_42;
  5567. break;
  5568. case 0x02:
  5569. goto op_semantics_43;
  5570. break;
  5571. default: UNSUPPORTED(); break;
  5572. }
  5573. break;
  5574. case 0x1d:
  5575. GETBYTE ();
  5576. switch (op[3] & 0x0f)
  5577. {
  5578. case 0x00:
  5579. goto op_semantics_44;
  5580. break;
  5581. case 0x08:
  5582. goto op_semantics_45;
  5583. break;
  5584. case 0x09:
  5585. goto op_semantics_46;
  5586. break;
  5587. case 0x0c:
  5588. goto op_semantics_47;
  5589. break;
  5590. case 0x0d:
  5591. goto op_semantics_48;
  5592. break;
  5593. default: UNSUPPORTED(); break;
  5594. }
  5595. break;
  5596. case 0x20:
  5597. GETBYTE ();
  5598. switch (op[3] & 0x00)
  5599. {
  5600. case 0x00:
  5601. goto op_semantics_36;
  5602. break;
  5603. }
  5604. break;
  5605. case 0x21:
  5606. GETBYTE ();
  5607. switch (op[3] & 0x00)
  5608. {
  5609. case 0x00:
  5610. goto op_semantics_37;
  5611. break;
  5612. }
  5613. break;
  5614. case 0x22:
  5615. GETBYTE ();
  5616. switch (op[3] & 0x00)
  5617. {
  5618. case 0x00:
  5619. goto op_semantics_38;
  5620. break;
  5621. }
  5622. break;
  5623. case 0x25:
  5624. GETBYTE ();
  5625. switch (op[3] & 0x00)
  5626. {
  5627. case 0x00:
  5628. goto op_semantics_39;
  5629. break;
  5630. }
  5631. break;
  5632. case 0x28:
  5633. GETBYTE ();
  5634. switch (op[3] & 0x00)
  5635. {
  5636. case 0x00:
  5637. goto op_semantics_40;
  5638. break;
  5639. }
  5640. break;
  5641. case 0x2c:
  5642. GETBYTE ();
  5643. switch (op[3] & 0x0f)
  5644. {
  5645. case 0x00:
  5646. goto op_semantics_41;
  5647. break;
  5648. case 0x01:
  5649. goto op_semantics_42;
  5650. break;
  5651. case 0x02:
  5652. goto op_semantics_43;
  5653. break;
  5654. default: UNSUPPORTED(); break;
  5655. }
  5656. break;
  5657. case 0x2d:
  5658. GETBYTE ();
  5659. switch (op[3] & 0x0f)
  5660. {
  5661. case 0x00:
  5662. goto op_semantics_44;
  5663. break;
  5664. case 0x08:
  5665. goto op_semantics_45;
  5666. break;
  5667. case 0x09:
  5668. goto op_semantics_46;
  5669. break;
  5670. case 0x0c:
  5671. goto op_semantics_47;
  5672. break;
  5673. case 0x0d:
  5674. goto op_semantics_48;
  5675. break;
  5676. default: UNSUPPORTED(); break;
  5677. }
  5678. break;
  5679. case 0x30:
  5680. GETBYTE ();
  5681. switch (op[3] & 0x00)
  5682. {
  5683. case 0x00:
  5684. goto op_semantics_36;
  5685. break;
  5686. }
  5687. break;
  5688. case 0x31:
  5689. GETBYTE ();
  5690. switch (op[3] & 0x00)
  5691. {
  5692. case 0x00:
  5693. goto op_semantics_37;
  5694. break;
  5695. }
  5696. break;
  5697. case 0x32:
  5698. GETBYTE ();
  5699. switch (op[3] & 0x00)
  5700. {
  5701. case 0x00:
  5702. goto op_semantics_38;
  5703. break;
  5704. }
  5705. break;
  5706. case 0x35:
  5707. GETBYTE ();
  5708. switch (op[3] & 0x00)
  5709. {
  5710. case 0x00:
  5711. goto op_semantics_39;
  5712. break;
  5713. }
  5714. break;
  5715. case 0x38:
  5716. GETBYTE ();
  5717. switch (op[3] & 0x00)
  5718. {
  5719. case 0x00:
  5720. goto op_semantics_40;
  5721. break;
  5722. }
  5723. break;
  5724. case 0x3c:
  5725. GETBYTE ();
  5726. switch (op[3] & 0x0f)
  5727. {
  5728. case 0x00:
  5729. goto op_semantics_41;
  5730. break;
  5731. case 0x01:
  5732. goto op_semantics_42;
  5733. break;
  5734. case 0x02:
  5735. goto op_semantics_43;
  5736. break;
  5737. default: UNSUPPORTED(); break;
  5738. }
  5739. break;
  5740. case 0x3d:
  5741. GETBYTE ();
  5742. switch (op[3] & 0x0f)
  5743. {
  5744. case 0x00:
  5745. goto op_semantics_44;
  5746. break;
  5747. case 0x08:
  5748. goto op_semantics_45;
  5749. break;
  5750. case 0x09:
  5751. goto op_semantics_46;
  5752. break;
  5753. case 0x0c:
  5754. goto op_semantics_47;
  5755. break;
  5756. case 0x0d:
  5757. goto op_semantics_48;
  5758. break;
  5759. default: UNSUPPORTED(); break;
  5760. }
  5761. break;
  5762. case 0x40:
  5763. GETBYTE ();
  5764. switch (op[3] & 0x00)
  5765. {
  5766. case 0x00:
  5767. goto op_semantics_36;
  5768. break;
  5769. }
  5770. break;
  5771. case 0x41:
  5772. GETBYTE ();
  5773. switch (op[3] & 0x00)
  5774. {
  5775. case 0x00:
  5776. goto op_semantics_37;
  5777. break;
  5778. }
  5779. break;
  5780. case 0x42:
  5781. GETBYTE ();
  5782. switch (op[3] & 0x00)
  5783. {
  5784. case 0x00:
  5785. goto op_semantics_38;
  5786. break;
  5787. }
  5788. break;
  5789. case 0x45:
  5790. GETBYTE ();
  5791. switch (op[3] & 0x00)
  5792. {
  5793. case 0x00:
  5794. goto op_semantics_39;
  5795. break;
  5796. }
  5797. break;
  5798. case 0x48:
  5799. GETBYTE ();
  5800. switch (op[3] & 0x00)
  5801. {
  5802. case 0x00:
  5803. goto op_semantics_40;
  5804. break;
  5805. }
  5806. break;
  5807. case 0x4c:
  5808. GETBYTE ();
  5809. switch (op[3] & 0x0f)
  5810. {
  5811. case 0x00:
  5812. goto op_semantics_41;
  5813. break;
  5814. case 0x01:
  5815. goto op_semantics_42;
  5816. break;
  5817. case 0x02:
  5818. goto op_semantics_43;
  5819. break;
  5820. default: UNSUPPORTED(); break;
  5821. }
  5822. break;
  5823. case 0x4d:
  5824. GETBYTE ();
  5825. switch (op[3] & 0x0f)
  5826. {
  5827. case 0x00:
  5828. goto op_semantics_44;
  5829. break;
  5830. case 0x08:
  5831. goto op_semantics_45;
  5832. break;
  5833. case 0x09:
  5834. goto op_semantics_46;
  5835. break;
  5836. case 0x0c:
  5837. goto op_semantics_47;
  5838. break;
  5839. case 0x0d:
  5840. goto op_semantics_48;
  5841. break;
  5842. default: UNSUPPORTED(); break;
  5843. }
  5844. break;
  5845. case 0x50:
  5846. GETBYTE ();
  5847. switch (op[3] & 0x00)
  5848. {
  5849. case 0x00:
  5850. goto op_semantics_36;
  5851. break;
  5852. }
  5853. break;
  5854. case 0x51:
  5855. GETBYTE ();
  5856. switch (op[3] & 0x00)
  5857. {
  5858. case 0x00:
  5859. goto op_semantics_37;
  5860. break;
  5861. }
  5862. break;
  5863. case 0x52:
  5864. GETBYTE ();
  5865. switch (op[3] & 0x00)
  5866. {
  5867. case 0x00:
  5868. goto op_semantics_38;
  5869. break;
  5870. }
  5871. break;
  5872. case 0x55:
  5873. GETBYTE ();
  5874. switch (op[3] & 0x00)
  5875. {
  5876. case 0x00:
  5877. goto op_semantics_39;
  5878. break;
  5879. }
  5880. break;
  5881. case 0x58:
  5882. GETBYTE ();
  5883. switch (op[3] & 0x00)
  5884. {
  5885. case 0x00:
  5886. goto op_semantics_40;
  5887. break;
  5888. }
  5889. break;
  5890. case 0x5c:
  5891. GETBYTE ();
  5892. switch (op[3] & 0x0f)
  5893. {
  5894. case 0x00:
  5895. goto op_semantics_41;
  5896. break;
  5897. case 0x01:
  5898. goto op_semantics_42;
  5899. break;
  5900. case 0x02:
  5901. goto op_semantics_43;
  5902. break;
  5903. default: UNSUPPORTED(); break;
  5904. }
  5905. break;
  5906. case 0x5d:
  5907. GETBYTE ();
  5908. switch (op[3] & 0x0f)
  5909. {
  5910. case 0x00:
  5911. goto op_semantics_44;
  5912. break;
  5913. case 0x08:
  5914. goto op_semantics_45;
  5915. break;
  5916. case 0x09:
  5917. goto op_semantics_46;
  5918. break;
  5919. case 0x0c:
  5920. goto op_semantics_47;
  5921. break;
  5922. case 0x0d:
  5923. goto op_semantics_48;
  5924. break;
  5925. default: UNSUPPORTED(); break;
  5926. }
  5927. break;
  5928. case 0x60:
  5929. GETBYTE ();
  5930. switch (op[3] & 0x00)
  5931. {
  5932. case 0x00:
  5933. goto op_semantics_36;
  5934. break;
  5935. }
  5936. break;
  5937. case 0x61:
  5938. GETBYTE ();
  5939. switch (op[3] & 0x00)
  5940. {
  5941. case 0x00:
  5942. goto op_semantics_37;
  5943. break;
  5944. }
  5945. break;
  5946. case 0x62:
  5947. GETBYTE ();
  5948. switch (op[3] & 0x00)
  5949. {
  5950. case 0x00:
  5951. goto op_semantics_38;
  5952. break;
  5953. }
  5954. break;
  5955. case 0x65:
  5956. GETBYTE ();
  5957. switch (op[3] & 0x00)
  5958. {
  5959. case 0x00:
  5960. goto op_semantics_39;
  5961. break;
  5962. }
  5963. break;
  5964. case 0x68:
  5965. GETBYTE ();
  5966. switch (op[3] & 0x00)
  5967. {
  5968. case 0x00:
  5969. goto op_semantics_40;
  5970. break;
  5971. }
  5972. break;
  5973. case 0x6c:
  5974. GETBYTE ();
  5975. switch (op[3] & 0x0f)
  5976. {
  5977. case 0x00:
  5978. goto op_semantics_41;
  5979. break;
  5980. case 0x01:
  5981. goto op_semantics_42;
  5982. break;
  5983. case 0x02:
  5984. goto op_semantics_43;
  5985. break;
  5986. default: UNSUPPORTED(); break;
  5987. }
  5988. break;
  5989. case 0x6d:
  5990. GETBYTE ();
  5991. switch (op[3] & 0x0f)
  5992. {
  5993. case 0x00:
  5994. goto op_semantics_44;
  5995. break;
  5996. case 0x08:
  5997. goto op_semantics_45;
  5998. break;
  5999. case 0x09:
  6000. goto op_semantics_46;
  6001. break;
  6002. case 0x0c:
  6003. goto op_semantics_47;
  6004. break;
  6005. case 0x0d:
  6006. goto op_semantics_48;
  6007. break;
  6008. default: UNSUPPORTED(); break;
  6009. }
  6010. break;
  6011. case 0x70:
  6012. GETBYTE ();
  6013. switch (op[3] & 0x00)
  6014. {
  6015. case 0x00:
  6016. goto op_semantics_36;
  6017. break;
  6018. }
  6019. break;
  6020. case 0x71:
  6021. GETBYTE ();
  6022. switch (op[3] & 0x00)
  6023. {
  6024. case 0x00:
  6025. goto op_semantics_37;
  6026. break;
  6027. }
  6028. break;
  6029. case 0x72:
  6030. GETBYTE ();
  6031. switch (op[3] & 0x00)
  6032. {
  6033. case 0x00:
  6034. goto op_semantics_38;
  6035. break;
  6036. }
  6037. break;
  6038. case 0x75:
  6039. GETBYTE ();
  6040. switch (op[3] & 0x00)
  6041. {
  6042. case 0x00:
  6043. goto op_semantics_39;
  6044. break;
  6045. }
  6046. break;
  6047. case 0x78:
  6048. GETBYTE ();
  6049. switch (op[3] & 0x00)
  6050. {
  6051. case 0x00:
  6052. goto op_semantics_40;
  6053. break;
  6054. }
  6055. break;
  6056. case 0x7c:
  6057. GETBYTE ();
  6058. switch (op[3] & 0x0f)
  6059. {
  6060. case 0x00:
  6061. goto op_semantics_41;
  6062. break;
  6063. case 0x01:
  6064. goto op_semantics_42;
  6065. break;
  6066. case 0x02:
  6067. goto op_semantics_43;
  6068. break;
  6069. default: UNSUPPORTED(); break;
  6070. }
  6071. break;
  6072. case 0x7d:
  6073. GETBYTE ();
  6074. switch (op[3] & 0x0f)
  6075. {
  6076. case 0x00:
  6077. goto op_semantics_44;
  6078. break;
  6079. case 0x08:
  6080. goto op_semantics_45;
  6081. break;
  6082. case 0x09:
  6083. goto op_semantics_46;
  6084. break;
  6085. case 0x0c:
  6086. goto op_semantics_47;
  6087. break;
  6088. case 0x0d:
  6089. goto op_semantics_48;
  6090. break;
  6091. default: UNSUPPORTED(); break;
  6092. }
  6093. break;
  6094. case 0x80:
  6095. GETBYTE ();
  6096. switch (op[3] & 0x00)
  6097. {
  6098. case 0x00:
  6099. goto op_semantics_36;
  6100. break;
  6101. }
  6102. break;
  6103. case 0x81:
  6104. GETBYTE ();
  6105. switch (op[3] & 0x00)
  6106. {
  6107. case 0x00:
  6108. goto op_semantics_37;
  6109. break;
  6110. }
  6111. break;
  6112. case 0x82:
  6113. GETBYTE ();
  6114. switch (op[3] & 0x00)
  6115. {
  6116. case 0x00:
  6117. goto op_semantics_38;
  6118. break;
  6119. }
  6120. break;
  6121. case 0x85:
  6122. GETBYTE ();
  6123. switch (op[3] & 0x00)
  6124. {
  6125. case 0x00:
  6126. goto op_semantics_39;
  6127. break;
  6128. }
  6129. break;
  6130. case 0x88:
  6131. GETBYTE ();
  6132. switch (op[3] & 0x00)
  6133. {
  6134. case 0x00:
  6135. goto op_semantics_40;
  6136. break;
  6137. }
  6138. break;
  6139. case 0x8c:
  6140. GETBYTE ();
  6141. switch (op[3] & 0x0f)
  6142. {
  6143. case 0x00:
  6144. goto op_semantics_41;
  6145. break;
  6146. case 0x01:
  6147. goto op_semantics_42;
  6148. break;
  6149. case 0x02:
  6150. goto op_semantics_43;
  6151. break;
  6152. default: UNSUPPORTED(); break;
  6153. }
  6154. break;
  6155. case 0x8d:
  6156. GETBYTE ();
  6157. switch (op[3] & 0x0f)
  6158. {
  6159. case 0x00:
  6160. goto op_semantics_44;
  6161. break;
  6162. case 0x08:
  6163. goto op_semantics_45;
  6164. break;
  6165. case 0x09:
  6166. goto op_semantics_46;
  6167. break;
  6168. case 0x0c:
  6169. goto op_semantics_47;
  6170. break;
  6171. case 0x0d:
  6172. goto op_semantics_48;
  6173. break;
  6174. default: UNSUPPORTED(); break;
  6175. }
  6176. break;
  6177. case 0x90:
  6178. GETBYTE ();
  6179. switch (op[3] & 0x00)
  6180. {
  6181. case 0x00:
  6182. goto op_semantics_36;
  6183. break;
  6184. }
  6185. break;
  6186. case 0x91:
  6187. GETBYTE ();
  6188. switch (op[3] & 0x00)
  6189. {
  6190. case 0x00:
  6191. goto op_semantics_37;
  6192. break;
  6193. }
  6194. break;
  6195. case 0x92:
  6196. GETBYTE ();
  6197. switch (op[3] & 0x00)
  6198. {
  6199. case 0x00:
  6200. goto op_semantics_38;
  6201. break;
  6202. }
  6203. break;
  6204. case 0x95:
  6205. GETBYTE ();
  6206. switch (op[3] & 0x00)
  6207. {
  6208. case 0x00:
  6209. goto op_semantics_39;
  6210. break;
  6211. }
  6212. break;
  6213. case 0x98:
  6214. GETBYTE ();
  6215. switch (op[3] & 0x00)
  6216. {
  6217. case 0x00:
  6218. goto op_semantics_40;
  6219. break;
  6220. }
  6221. break;
  6222. case 0x9c:
  6223. GETBYTE ();
  6224. switch (op[3] & 0x0f)
  6225. {
  6226. case 0x00:
  6227. goto op_semantics_41;
  6228. break;
  6229. case 0x01:
  6230. goto op_semantics_42;
  6231. break;
  6232. case 0x02:
  6233. goto op_semantics_43;
  6234. break;
  6235. default: UNSUPPORTED(); break;
  6236. }
  6237. break;
  6238. case 0x9d:
  6239. GETBYTE ();
  6240. switch (op[3] & 0x0f)
  6241. {
  6242. case 0x00:
  6243. goto op_semantics_44;
  6244. break;
  6245. case 0x08:
  6246. goto op_semantics_45;
  6247. break;
  6248. case 0x09:
  6249. goto op_semantics_46;
  6250. break;
  6251. case 0x0c:
  6252. goto op_semantics_47;
  6253. break;
  6254. case 0x0d:
  6255. goto op_semantics_48;
  6256. break;
  6257. default: UNSUPPORTED(); break;
  6258. }
  6259. break;
  6260. case 0xa0:
  6261. GETBYTE ();
  6262. switch (op[3] & 0x00)
  6263. {
  6264. case 0x00:
  6265. goto op_semantics_36;
  6266. break;
  6267. }
  6268. break;
  6269. case 0xa1:
  6270. GETBYTE ();
  6271. switch (op[3] & 0x00)
  6272. {
  6273. case 0x00:
  6274. goto op_semantics_37;
  6275. break;
  6276. }
  6277. break;
  6278. case 0xa2:
  6279. GETBYTE ();
  6280. switch (op[3] & 0x00)
  6281. {
  6282. case 0x00:
  6283. goto op_semantics_38;
  6284. break;
  6285. }
  6286. break;
  6287. case 0xa5:
  6288. GETBYTE ();
  6289. switch (op[3] & 0x00)
  6290. {
  6291. case 0x00:
  6292. goto op_semantics_39;
  6293. break;
  6294. }
  6295. break;
  6296. case 0xa8:
  6297. GETBYTE ();
  6298. switch (op[3] & 0x00)
  6299. {
  6300. case 0x00:
  6301. goto op_semantics_40;
  6302. break;
  6303. }
  6304. break;
  6305. case 0xac:
  6306. GETBYTE ();
  6307. switch (op[3] & 0x0f)
  6308. {
  6309. case 0x00:
  6310. goto op_semantics_41;
  6311. break;
  6312. case 0x01:
  6313. goto op_semantics_42;
  6314. break;
  6315. case 0x02:
  6316. goto op_semantics_43;
  6317. break;
  6318. default: UNSUPPORTED(); break;
  6319. }
  6320. break;
  6321. case 0xad:
  6322. GETBYTE ();
  6323. switch (op[3] & 0x0f)
  6324. {
  6325. case 0x00:
  6326. goto op_semantics_44;
  6327. break;
  6328. case 0x08:
  6329. goto op_semantics_45;
  6330. break;
  6331. case 0x09:
  6332. goto op_semantics_46;
  6333. break;
  6334. case 0x0c:
  6335. goto op_semantics_47;
  6336. break;
  6337. case 0x0d:
  6338. goto op_semantics_48;
  6339. break;
  6340. default: UNSUPPORTED(); break;
  6341. }
  6342. break;
  6343. case 0xb0:
  6344. GETBYTE ();
  6345. switch (op[3] & 0x00)
  6346. {
  6347. case 0x00:
  6348. goto op_semantics_36;
  6349. break;
  6350. }
  6351. break;
  6352. case 0xb1:
  6353. GETBYTE ();
  6354. switch (op[3] & 0x00)
  6355. {
  6356. case 0x00:
  6357. goto op_semantics_37;
  6358. break;
  6359. }
  6360. break;
  6361. case 0xb2:
  6362. GETBYTE ();
  6363. switch (op[3] & 0x00)
  6364. {
  6365. case 0x00:
  6366. goto op_semantics_38;
  6367. break;
  6368. }
  6369. break;
  6370. case 0xb5:
  6371. GETBYTE ();
  6372. switch (op[3] & 0x00)
  6373. {
  6374. case 0x00:
  6375. goto op_semantics_39;
  6376. break;
  6377. }
  6378. break;
  6379. case 0xb8:
  6380. GETBYTE ();
  6381. switch (op[3] & 0x00)
  6382. {
  6383. case 0x00:
  6384. goto op_semantics_40;
  6385. break;
  6386. }
  6387. break;
  6388. case 0xbc:
  6389. GETBYTE ();
  6390. switch (op[3] & 0x0f)
  6391. {
  6392. case 0x00:
  6393. goto op_semantics_41;
  6394. break;
  6395. case 0x01:
  6396. goto op_semantics_42;
  6397. break;
  6398. case 0x02:
  6399. goto op_semantics_43;
  6400. break;
  6401. default: UNSUPPORTED(); break;
  6402. }
  6403. break;
  6404. case 0xbd:
  6405. GETBYTE ();
  6406. switch (op[3] & 0x0f)
  6407. {
  6408. case 0x00:
  6409. goto op_semantics_44;
  6410. break;
  6411. case 0x08:
  6412. goto op_semantics_45;
  6413. break;
  6414. case 0x09:
  6415. goto op_semantics_46;
  6416. break;
  6417. case 0x0c:
  6418. goto op_semantics_47;
  6419. break;
  6420. case 0x0d:
  6421. goto op_semantics_48;
  6422. break;
  6423. default: UNSUPPORTED(); break;
  6424. }
  6425. break;
  6426. case 0xc0:
  6427. GETBYTE ();
  6428. switch (op[3] & 0x00)
  6429. {
  6430. case 0x00:
  6431. goto op_semantics_36;
  6432. break;
  6433. }
  6434. break;
  6435. case 0xc1:
  6436. GETBYTE ();
  6437. switch (op[3] & 0x00)
  6438. {
  6439. case 0x00:
  6440. goto op_semantics_37;
  6441. break;
  6442. }
  6443. break;
  6444. case 0xc2:
  6445. GETBYTE ();
  6446. switch (op[3] & 0x00)
  6447. {
  6448. case 0x00:
  6449. goto op_semantics_38;
  6450. break;
  6451. }
  6452. break;
  6453. case 0xc5:
  6454. GETBYTE ();
  6455. switch (op[3] & 0x00)
  6456. {
  6457. case 0x00:
  6458. goto op_semantics_39;
  6459. break;
  6460. }
  6461. break;
  6462. case 0xc8:
  6463. GETBYTE ();
  6464. switch (op[3] & 0x00)
  6465. {
  6466. case 0x00:
  6467. goto op_semantics_40;
  6468. break;
  6469. }
  6470. break;
  6471. case 0xcc:
  6472. GETBYTE ();
  6473. switch (op[3] & 0x0f)
  6474. {
  6475. case 0x00:
  6476. goto op_semantics_41;
  6477. break;
  6478. case 0x01:
  6479. goto op_semantics_42;
  6480. break;
  6481. case 0x02:
  6482. goto op_semantics_43;
  6483. break;
  6484. default: UNSUPPORTED(); break;
  6485. }
  6486. break;
  6487. case 0xcd:
  6488. GETBYTE ();
  6489. switch (op[3] & 0x0f)
  6490. {
  6491. case 0x00:
  6492. goto op_semantics_44;
  6493. break;
  6494. case 0x08:
  6495. goto op_semantics_45;
  6496. break;
  6497. case 0x09:
  6498. goto op_semantics_46;
  6499. break;
  6500. case 0x0c:
  6501. goto op_semantics_47;
  6502. break;
  6503. case 0x0d:
  6504. goto op_semantics_48;
  6505. break;
  6506. default: UNSUPPORTED(); break;
  6507. }
  6508. break;
  6509. case 0xd0:
  6510. GETBYTE ();
  6511. switch (op[3] & 0x00)
  6512. {
  6513. case 0x00:
  6514. goto op_semantics_36;
  6515. break;
  6516. }
  6517. break;
  6518. case 0xd1:
  6519. GETBYTE ();
  6520. switch (op[3] & 0x00)
  6521. {
  6522. case 0x00:
  6523. goto op_semantics_37;
  6524. break;
  6525. }
  6526. break;
  6527. case 0xd2:
  6528. GETBYTE ();
  6529. switch (op[3] & 0x00)
  6530. {
  6531. case 0x00:
  6532. goto op_semantics_38;
  6533. break;
  6534. }
  6535. break;
  6536. case 0xd5:
  6537. GETBYTE ();
  6538. switch (op[3] & 0x00)
  6539. {
  6540. case 0x00:
  6541. goto op_semantics_39;
  6542. break;
  6543. }
  6544. break;
  6545. case 0xd8:
  6546. GETBYTE ();
  6547. switch (op[3] & 0x00)
  6548. {
  6549. case 0x00:
  6550. goto op_semantics_40;
  6551. break;
  6552. }
  6553. break;
  6554. case 0xdc:
  6555. GETBYTE ();
  6556. switch (op[3] & 0x0f)
  6557. {
  6558. case 0x00:
  6559. goto op_semantics_41;
  6560. break;
  6561. case 0x01:
  6562. goto op_semantics_42;
  6563. break;
  6564. case 0x02:
  6565. goto op_semantics_43;
  6566. break;
  6567. default: UNSUPPORTED(); break;
  6568. }
  6569. break;
  6570. case 0xdd:
  6571. GETBYTE ();
  6572. switch (op[3] & 0x0f)
  6573. {
  6574. case 0x00:
  6575. goto op_semantics_44;
  6576. break;
  6577. case 0x08:
  6578. goto op_semantics_45;
  6579. break;
  6580. case 0x09:
  6581. goto op_semantics_46;
  6582. break;
  6583. case 0x0c:
  6584. goto op_semantics_47;
  6585. break;
  6586. case 0x0d:
  6587. goto op_semantics_48;
  6588. break;
  6589. default: UNSUPPORTED(); break;
  6590. }
  6591. break;
  6592. case 0xe0:
  6593. GETBYTE ();
  6594. switch (op[3] & 0x00)
  6595. {
  6596. case 0x00:
  6597. goto op_semantics_36;
  6598. break;
  6599. }
  6600. break;
  6601. case 0xe1:
  6602. GETBYTE ();
  6603. switch (op[3] & 0x00)
  6604. {
  6605. case 0x00:
  6606. goto op_semantics_37;
  6607. break;
  6608. }
  6609. break;
  6610. case 0xe2:
  6611. GETBYTE ();
  6612. switch (op[3] & 0x00)
  6613. {
  6614. case 0x00:
  6615. goto op_semantics_38;
  6616. break;
  6617. }
  6618. break;
  6619. case 0xe5:
  6620. GETBYTE ();
  6621. switch (op[3] & 0x00)
  6622. {
  6623. case 0x00:
  6624. goto op_semantics_39;
  6625. break;
  6626. }
  6627. break;
  6628. case 0xe8:
  6629. GETBYTE ();
  6630. switch (op[3] & 0x00)
  6631. {
  6632. case 0x00:
  6633. goto op_semantics_40;
  6634. break;
  6635. }
  6636. break;
  6637. case 0xec:
  6638. GETBYTE ();
  6639. switch (op[3] & 0x0f)
  6640. {
  6641. case 0x00:
  6642. goto op_semantics_41;
  6643. break;
  6644. case 0x01:
  6645. goto op_semantics_42;
  6646. break;
  6647. case 0x02:
  6648. goto op_semantics_43;
  6649. break;
  6650. default: UNSUPPORTED(); break;
  6651. }
  6652. break;
  6653. case 0xed:
  6654. GETBYTE ();
  6655. switch (op[3] & 0x0f)
  6656. {
  6657. case 0x00:
  6658. goto op_semantics_44;
  6659. break;
  6660. case 0x08:
  6661. goto op_semantics_45;
  6662. break;
  6663. case 0x09:
  6664. goto op_semantics_46;
  6665. break;
  6666. case 0x0c:
  6667. goto op_semantics_47;
  6668. break;
  6669. case 0x0d:
  6670. goto op_semantics_48;
  6671. break;
  6672. default: UNSUPPORTED(); break;
  6673. }
  6674. break;
  6675. case 0xf0:
  6676. GETBYTE ();
  6677. switch (op[3] & 0x00)
  6678. {
  6679. case 0x00:
  6680. goto op_semantics_36;
  6681. break;
  6682. }
  6683. break;
  6684. case 0xf1:
  6685. GETBYTE ();
  6686. switch (op[3] & 0x00)
  6687. {
  6688. case 0x00:
  6689. goto op_semantics_37;
  6690. break;
  6691. }
  6692. break;
  6693. case 0xf2:
  6694. GETBYTE ();
  6695. switch (op[3] & 0x00)
  6696. {
  6697. case 0x00:
  6698. goto op_semantics_38;
  6699. break;
  6700. }
  6701. break;
  6702. case 0xf5:
  6703. GETBYTE ();
  6704. switch (op[3] & 0x00)
  6705. {
  6706. case 0x00:
  6707. goto op_semantics_39;
  6708. break;
  6709. }
  6710. break;
  6711. case 0xf8:
  6712. GETBYTE ();
  6713. switch (op[3] & 0x00)
  6714. {
  6715. case 0x00:
  6716. goto op_semantics_40;
  6717. break;
  6718. }
  6719. break;
  6720. case 0xfc:
  6721. GETBYTE ();
  6722. switch (op[3] & 0x0f)
  6723. {
  6724. case 0x00:
  6725. goto op_semantics_41;
  6726. break;
  6727. case 0x01:
  6728. goto op_semantics_42;
  6729. break;
  6730. case 0x02:
  6731. goto op_semantics_43;
  6732. break;
  6733. default: UNSUPPORTED(); break;
  6734. }
  6735. break;
  6736. case 0xfd:
  6737. GETBYTE ();
  6738. switch (op[3] & 0x0f)
  6739. {
  6740. case 0x00:
  6741. goto op_semantics_44;
  6742. break;
  6743. case 0x08:
  6744. goto op_semantics_45;
  6745. break;
  6746. case 0x09:
  6747. goto op_semantics_46;
  6748. break;
  6749. case 0x0c:
  6750. goto op_semantics_47;
  6751. break;
  6752. case 0x0d:
  6753. goto op_semantics_48;
  6754. break;
  6755. default: UNSUPPORTED(); break;
  6756. }
  6757. break;
  6758. default: UNSUPPORTED(); break;
  6759. }
  6760. break;
  6761. default: UNSUPPORTED(); break;
  6762. }
  6763. break;
  6764. case 0x77:
  6765. GETBYTE ();
  6766. switch (op[1] & 0xf0)
  6767. {
  6768. case 0x00:
  6769. goto op_semantics_32;
  6770. break;
  6771. case 0x10:
  6772. goto op_semantics_33;
  6773. break;
  6774. case 0x20:
  6775. goto op_semantics_34;
  6776. break;
  6777. case 0x30:
  6778. goto op_semantics_35;
  6779. break;
  6780. default: UNSUPPORTED(); break;
  6781. }
  6782. break;
  6783. case 0x78:
  6784. GETBYTE ();
  6785. switch (op[1] & 0x00)
  6786. {
  6787. case 0x00:
  6788. op_semantics_49:
  6789. {
  6790. /** 0111 100b ittt rdst bset #%1, %0 */
  6791. #line 968 "rx-decode.opc"
  6792. int b AU = op[0] & 0x01;
  6793. #line 968 "rx-decode.opc"
  6794. int ittt AU = (op[1] >> 4) & 0x0f;
  6795. #line 968 "rx-decode.opc"
  6796. int rdst AU = op[1] & 0x0f;
  6797. if (trace)
  6798. {
  6799. printf ("\033[33m%s\033[0m %02x %02x\n",
  6800. "/** 0111 100b ittt rdst bset #%1, %0 */",
  6801. op[0], op[1]);
  6802. printf (" b = 0x%x,", b);
  6803. printf (" ittt = 0x%x,", ittt);
  6804. printf (" rdst = 0x%x\n", rdst);
  6805. }
  6806. SYNTAX("bset #%1, %0");
  6807. #line 968 "rx-decode.opc"
  6808. ID(bset); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
  6809. }
  6810. break;
  6811. }
  6812. break;
  6813. case 0x79:
  6814. GETBYTE ();
  6815. switch (op[1] & 0x00)
  6816. {
  6817. case 0x00:
  6818. goto op_semantics_49;
  6819. break;
  6820. }
  6821. break;
  6822. case 0x7a:
  6823. GETBYTE ();
  6824. switch (op[1] & 0x00)
  6825. {
  6826. case 0x00:
  6827. op_semantics_50:
  6828. {
  6829. /** 0111 101b ittt rdst bclr #%1, %0 */
  6830. #line 980 "rx-decode.opc"
  6831. int b AU = op[0] & 0x01;
  6832. #line 980 "rx-decode.opc"
  6833. int ittt AU = (op[1] >> 4) & 0x0f;
  6834. #line 980 "rx-decode.opc"
  6835. int rdst AU = op[1] & 0x0f;
  6836. if (trace)
  6837. {
  6838. printf ("\033[33m%s\033[0m %02x %02x\n",
  6839. "/** 0111 101b ittt rdst bclr #%1, %0 */",
  6840. op[0], op[1]);
  6841. printf (" b = 0x%x,", b);
  6842. printf (" ittt = 0x%x,", ittt);
  6843. printf (" rdst = 0x%x\n", rdst);
  6844. }
  6845. SYNTAX("bclr #%1, %0");
  6846. #line 980 "rx-decode.opc"
  6847. ID(bclr); BWL(LSIZE); SC(b*16+ittt); DR(rdst); F_____;
  6848. }
  6849. break;
  6850. }
  6851. break;
  6852. case 0x7b:
  6853. GETBYTE ();
  6854. switch (op[1] & 0x00)
  6855. {
  6856. case 0x00:
  6857. goto op_semantics_50;
  6858. break;
  6859. }
  6860. break;
  6861. case 0x7c:
  6862. GETBYTE ();
  6863. switch (op[1] & 0x00)
  6864. {
  6865. case 0x00:
  6866. op_semantics_51:
  6867. {
  6868. /** 0111 110b ittt rdst btst #%2, %1 */
  6869. #line 992 "rx-decode.opc"
  6870. int b AU = op[0] & 0x01;
  6871. #line 992 "rx-decode.opc"
  6872. int ittt AU = (op[1] >> 4) & 0x0f;
  6873. #line 992 "rx-decode.opc"
  6874. int rdst AU = op[1] & 0x0f;
  6875. if (trace)
  6876. {
  6877. printf ("\033[33m%s\033[0m %02x %02x\n",
  6878. "/** 0111 110b ittt rdst btst #%2, %1 */",
  6879. op[0], op[1]);
  6880. printf (" b = 0x%x,", b);
  6881. printf (" ittt = 0x%x,", ittt);
  6882. printf (" rdst = 0x%x\n", rdst);
  6883. }
  6884. SYNTAX("btst #%2, %1");
  6885. #line 992 "rx-decode.opc"
  6886. ID(btst); BWL(LSIZE); S2C(b*16+ittt); SR(rdst); F___ZC;
  6887. }
  6888. break;
  6889. }
  6890. break;
  6891. case 0x7d:
  6892. GETBYTE ();
  6893. switch (op[1] & 0x00)
  6894. {
  6895. case 0x00:
  6896. goto op_semantics_51;
  6897. break;
  6898. }
  6899. break;
  6900. case 0x7e:
  6901. GETBYTE ();
  6902. switch (op[1] & 0xf0)
  6903. {
  6904. case 0x00:
  6905. {
  6906. /** 0111 1110 0000 rdst not %0 */
  6907. #line 483 "rx-decode.opc"
  6908. int rdst AU = op[1] & 0x0f;
  6909. if (trace)
  6910. {
  6911. printf ("\033[33m%s\033[0m %02x %02x\n",
  6912. "/** 0111 1110 0000 rdst not %0 */",
  6913. op[0], op[1]);
  6914. printf (" rdst = 0x%x\n", rdst);
  6915. }
  6916. SYNTAX("not %0");
  6917. #line 483 "rx-decode.opc"
  6918. ID(xor); DR(rdst); SR(rdst); S2C(~0); F__SZ_;
  6919. }
  6920. break;
  6921. case 0x10:
  6922. {
  6923. /** 0111 1110 0001 rdst neg %0 */
  6924. #line 504 "rx-decode.opc"
  6925. int rdst AU = op[1] & 0x0f;
  6926. if (trace)
  6927. {
  6928. printf ("\033[33m%s\033[0m %02x %02x\n",
  6929. "/** 0111 1110 0001 rdst neg %0 */",
  6930. op[0], op[1]);
  6931. printf (" rdst = 0x%x\n", rdst);
  6932. }
  6933. SYNTAX("neg %0");
  6934. #line 504 "rx-decode.opc"
  6935. ID(sub); DR(rdst); SC(0); S2R(rdst); F_OSZC;
  6936. }
  6937. break;
  6938. case 0x20:
  6939. {
  6940. /** 0111 1110 0010 rdst abs %0 */
  6941. #line 586 "rx-decode.opc"
  6942. int rdst AU = op[1] & 0x0f;
  6943. if (trace)
  6944. {
  6945. printf ("\033[33m%s\033[0m %02x %02x\n",
  6946. "/** 0111 1110 0010 rdst abs %0 */",
  6947. op[0], op[1]);
  6948. printf (" rdst = 0x%x\n", rdst);
  6949. }
  6950. SYNTAX("abs %0");
  6951. #line 586 "rx-decode.opc"
  6952. ID(abs); DR(rdst); SR(rdst); F_OSZ_;
  6953. }
  6954. break;
  6955. case 0x30:
  6956. {
  6957. /** 0111 1110 0011 rdst sat %0 */
  6958. #line 906 "rx-decode.opc"
  6959. int rdst AU = op[1] & 0x0f;
  6960. if (trace)
  6961. {
  6962. printf ("\033[33m%s\033[0m %02x %02x\n",
  6963. "/** 0111 1110 0011 rdst sat %0 */",
  6964. op[0], op[1]);
  6965. printf (" rdst = 0x%x\n", rdst);
  6966. }
  6967. SYNTAX("sat %0");
  6968. #line 906 "rx-decode.opc"
  6969. ID(sat); DR (rdst);
  6970. }
  6971. break;
  6972. case 0x40:
  6973. {
  6974. /** 0111 1110 0100 rdst rorc %0 */
  6975. #line 766 "rx-decode.opc"
  6976. int rdst AU = op[1] & 0x0f;
  6977. if (trace)
  6978. {
  6979. printf ("\033[33m%s\033[0m %02x %02x\n",
  6980. "/** 0111 1110 0100 rdst rorc %0 */",
  6981. op[0], op[1]);
  6982. printf (" rdst = 0x%x\n", rdst);
  6983. }
  6984. SYNTAX("rorc %0");
  6985. #line 766 "rx-decode.opc"
  6986. ID(rorc); DR(rdst); F__SZC;
  6987. }
  6988. break;
  6989. case 0x50:
  6990. {
  6991. /** 0111 1110 0101 rdst rolc %0 */
  6992. #line 763 "rx-decode.opc"
  6993. int rdst AU = op[1] & 0x0f;
  6994. if (trace)
  6995. {
  6996. printf ("\033[33m%s\033[0m %02x %02x\n",
  6997. "/** 0111 1110 0101 rdst rolc %0 */",
  6998. op[0], op[1]);
  6999. printf (" rdst = 0x%x\n", rdst);
  7000. }
  7001. SYNTAX("rolc %0");
  7002. #line 763 "rx-decode.opc"
  7003. ID(rolc); DR(rdst); F__SZC;
  7004. }
  7005. break;
  7006. case 0x80:
  7007. case 0x90:
  7008. case 0xa0:
  7009. {
  7010. /** 0111 1110 10sz rsrc push%s %1 */
  7011. #line 399 "rx-decode.opc"
  7012. int sz AU = (op[1] >> 4) & 0x03;
  7013. #line 399 "rx-decode.opc"
  7014. int rsrc AU = op[1] & 0x0f;
  7015. if (trace)
  7016. {
  7017. printf ("\033[33m%s\033[0m %02x %02x\n",
  7018. "/** 0111 1110 10sz rsrc push%s %1 */",
  7019. op[0], op[1]);
  7020. printf (" sz = 0x%x,", sz);
  7021. printf (" rsrc = 0x%x\n", rsrc);
  7022. }
  7023. SYNTAX("push%s %1");
  7024. #line 399 "rx-decode.opc"
  7025. ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SR(rsrc); F_____;
  7026. }
  7027. break;
  7028. case 0xb0:
  7029. {
  7030. /** 0111 1110 1011 rdst pop %0 */
  7031. #line 396 "rx-decode.opc"
  7032. int rdst AU = op[1] & 0x0f;
  7033. if (trace)
  7034. {
  7035. printf ("\033[33m%s\033[0m %02x %02x\n",
  7036. "/** 0111 1110 1011 rdst pop %0 */",
  7037. op[0], op[1]);
  7038. printf (" rdst = 0x%x\n", rdst);
  7039. }
  7040. SYNTAX("pop %0");
  7041. #line 396 "rx-decode.opc"
  7042. ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(rdst); F_____;
  7043. }
  7044. break;
  7045. case 0xc0:
  7046. case 0xd0:
  7047. {
  7048. /** 0111 1110 110 crsrc pushc %1 */
  7049. #line 1029 "rx-decode.opc"
  7050. int crsrc AU = op[1] & 0x1f;
  7051. if (trace)
  7052. {
  7053. printf ("\033[33m%s\033[0m %02x %02x\n",
  7054. "/** 0111 1110 110 crsrc pushc %1 */",
  7055. op[0], op[1]);
  7056. printf (" crsrc = 0x%x\n", crsrc);
  7057. }
  7058. SYNTAX("pushc %1");
  7059. #line 1029 "rx-decode.opc"
  7060. ID(mov); OP(0, RX_Operand_Predec, 0, 0); SR(crsrc + 16);
  7061. }
  7062. break;
  7063. case 0xe0:
  7064. case 0xf0:
  7065. {
  7066. /** 0111 1110 111 crdst popc %0 */
  7067. #line 1026 "rx-decode.opc"
  7068. int crdst AU = op[1] & 0x1f;
  7069. if (trace)
  7070. {
  7071. printf ("\033[33m%s\033[0m %02x %02x\n",
  7072. "/** 0111 1110 111 crdst popc %0 */",
  7073. op[0], op[1]);
  7074. printf (" crdst = 0x%x\n", crdst);
  7075. }
  7076. SYNTAX("popc %0");
  7077. #line 1026 "rx-decode.opc"
  7078. ID(mov); OP(1, RX_Operand_Postinc, 0, 0); DR(crdst + 16);
  7079. }
  7080. break;
  7081. default: UNSUPPORTED(); break;
  7082. }
  7083. break;
  7084. case 0x7f:
  7085. GETBYTE ();
  7086. switch (op[1] & 0xff)
  7087. {
  7088. case 0x00:
  7089. case 0x01:
  7090. case 0x02:
  7091. case 0x03:
  7092. case 0x04:
  7093. case 0x05:
  7094. case 0x06:
  7095. case 0x07:
  7096. case 0x08:
  7097. case 0x09:
  7098. case 0x0a:
  7099. case 0x0b:
  7100. case 0x0c:
  7101. case 0x0d:
  7102. case 0x0e:
  7103. case 0x0f:
  7104. {
  7105. /** 0111 1111 0000 rsrc jmp %0 */
  7106. #line 816 "rx-decode.opc"
  7107. int rsrc AU = op[1] & 0x0f;
  7108. if (trace)
  7109. {
  7110. printf ("\033[33m%s\033[0m %02x %02x\n",
  7111. "/** 0111 1111 0000 rsrc jmp %0 */",
  7112. op[0], op[1]);
  7113. printf (" rsrc = 0x%x\n", rsrc);
  7114. }
  7115. SYNTAX("jmp %0");
  7116. #line 816 "rx-decode.opc"
  7117. ID(branch); DR(rsrc);
  7118. }
  7119. break;
  7120. case 0x10:
  7121. case 0x11:
  7122. case 0x12:
  7123. case 0x13:
  7124. case 0x14:
  7125. case 0x15:
  7126. case 0x16:
  7127. case 0x17:
  7128. case 0x18:
  7129. case 0x19:
  7130. case 0x1a:
  7131. case 0x1b:
  7132. case 0x1c:
  7133. case 0x1d:
  7134. case 0x1e:
  7135. case 0x1f:
  7136. {
  7137. /** 0111 1111 0001 rsrc jsr %0 */
  7138. #line 819 "rx-decode.opc"
  7139. int rsrc AU = op[1] & 0x0f;
  7140. if (trace)
  7141. {
  7142. printf ("\033[33m%s\033[0m %02x %02x\n",
  7143. "/** 0111 1111 0001 rsrc jsr %0 */",
  7144. op[0], op[1]);
  7145. printf (" rsrc = 0x%x\n", rsrc);
  7146. }
  7147. SYNTAX("jsr %0");
  7148. #line 819 "rx-decode.opc"
  7149. ID(jsr); DR(rsrc);
  7150. }
  7151. break;
  7152. case 0x40:
  7153. case 0x41:
  7154. case 0x42:
  7155. case 0x43:
  7156. case 0x44:
  7157. case 0x45:
  7158. case 0x46:
  7159. case 0x47:
  7160. case 0x48:
  7161. case 0x49:
  7162. case 0x4a:
  7163. case 0x4b:
  7164. case 0x4c:
  7165. case 0x4d:
  7166. case 0x4e:
  7167. case 0x4f:
  7168. {
  7169. /** 0111 1111 0100 rsrc bra.l %0 */
  7170. #line 812 "rx-decode.opc"
  7171. int rsrc AU = op[1] & 0x0f;
  7172. if (trace)
  7173. {
  7174. printf ("\033[33m%s\033[0m %02x %02x\n",
  7175. "/** 0111 1111 0100 rsrc bra.l %0 */",
  7176. op[0], op[1]);
  7177. printf (" rsrc = 0x%x\n", rsrc);
  7178. }
  7179. SYNTAX("bra.l %0");
  7180. #line 812 "rx-decode.opc"
  7181. ID(branchrel); DR(rsrc);
  7182. }
  7183. break;
  7184. case 0x50:
  7185. case 0x51:
  7186. case 0x52:
  7187. case 0x53:
  7188. case 0x54:
  7189. case 0x55:
  7190. case 0x56:
  7191. case 0x57:
  7192. case 0x58:
  7193. case 0x59:
  7194. case 0x5a:
  7195. case 0x5b:
  7196. case 0x5c:
  7197. case 0x5d:
  7198. case 0x5e:
  7199. case 0x5f:
  7200. {
  7201. /** 0111 1111 0101 rsrc bsr.l %0 */
  7202. #line 828 "rx-decode.opc"
  7203. int rsrc AU = op[1] & 0x0f;
  7204. if (trace)
  7205. {
  7206. printf ("\033[33m%s\033[0m %02x %02x\n",
  7207. "/** 0111 1111 0101 rsrc bsr.l %0 */",
  7208. op[0], op[1]);
  7209. printf (" rsrc = 0x%x\n", rsrc);
  7210. }
  7211. SYNTAX("bsr.l %0");
  7212. #line 828 "rx-decode.opc"
  7213. ID(jsrrel); DR(rsrc);
  7214. }
  7215. break;
  7216. case 0x80:
  7217. case 0x81:
  7218. case 0x82:
  7219. {
  7220. /** 0111 1111 1000 00sz suntil%s */
  7221. #line 852 "rx-decode.opc"
  7222. int sz AU = op[1] & 0x03;
  7223. if (trace)
  7224. {
  7225. printf ("\033[33m%s\033[0m %02x %02x\n",
  7226. "/** 0111 1111 1000 00sz suntil%s */",
  7227. op[0], op[1]);
  7228. printf (" sz = 0x%x\n", sz);
  7229. }
  7230. SYNTAX("suntil%s");
  7231. #line 852 "rx-decode.opc"
  7232. ID(suntil); BWL(sz); F___ZC;
  7233. }
  7234. break;
  7235. case 0x83:
  7236. {
  7237. /** 0111 1111 1000 0011 scmpu */
  7238. if (trace)
  7239. {
  7240. printf ("\033[33m%s\033[0m %02x %02x\n",
  7241. "/** 0111 1111 1000 0011 scmpu */",
  7242. op[0], op[1]);
  7243. }
  7244. SYNTAX("scmpu");
  7245. #line 843 "rx-decode.opc"
  7246. ID(scmpu); F___ZC;
  7247. }
  7248. break;
  7249. case 0x84:
  7250. case 0x85:
  7251. case 0x86:
  7252. {
  7253. /** 0111 1111 1000 01sz swhile%s */
  7254. #line 855 "rx-decode.opc"
  7255. int sz AU = op[1] & 0x03;
  7256. if (trace)
  7257. {
  7258. printf ("\033[33m%s\033[0m %02x %02x\n",
  7259. "/** 0111 1111 1000 01sz swhile%s */",
  7260. op[0], op[1]);
  7261. printf (" sz = 0x%x\n", sz);
  7262. }
  7263. SYNTAX("swhile%s");
  7264. #line 855 "rx-decode.opc"
  7265. ID(swhile); BWL(sz); F___ZC;
  7266. }
  7267. break;
  7268. case 0x87:
  7269. {
  7270. /** 0111 1111 1000 0111 smovu */
  7271. if (trace)
  7272. {
  7273. printf ("\033[33m%s\033[0m %02x %02x\n",
  7274. "/** 0111 1111 1000 0111 smovu */",
  7275. op[0], op[1]);
  7276. }
  7277. SYNTAX("smovu");
  7278. #line 846 "rx-decode.opc"
  7279. ID(smovu);
  7280. }
  7281. break;
  7282. case 0x88:
  7283. case 0x89:
  7284. case 0x8a:
  7285. {
  7286. /** 0111 1111 1000 10sz sstr%s */
  7287. #line 861 "rx-decode.opc"
  7288. int sz AU = op[1] & 0x03;
  7289. if (trace)
  7290. {
  7291. printf ("\033[33m%s\033[0m %02x %02x\n",
  7292. "/** 0111 1111 1000 10sz sstr%s */",
  7293. op[0], op[1]);
  7294. printf (" sz = 0x%x\n", sz);
  7295. }
  7296. SYNTAX("sstr%s");
  7297. #line 861 "rx-decode.opc"
  7298. ID(sstr); BWL(sz);
  7299. /*----------------------------------------------------------------------*/
  7300. /* RMPA */
  7301. }
  7302. break;
  7303. case 0x8b:
  7304. {
  7305. /** 0111 1111 1000 1011 smovb */
  7306. if (trace)
  7307. {
  7308. printf ("\033[33m%s\033[0m %02x %02x\n",
  7309. "/** 0111 1111 1000 1011 smovb */",
  7310. op[0], op[1]);
  7311. }
  7312. SYNTAX("smovb");
  7313. #line 849 "rx-decode.opc"
  7314. ID(smovb);
  7315. }
  7316. break;
  7317. case 0x8c:
  7318. case 0x8d:
  7319. case 0x8e:
  7320. {
  7321. /** 0111 1111 1000 11sz rmpa%s */
  7322. #line 867 "rx-decode.opc"
  7323. int sz AU = op[1] & 0x03;
  7324. if (trace)
  7325. {
  7326. printf ("\033[33m%s\033[0m %02x %02x\n",
  7327. "/** 0111 1111 1000 11sz rmpa%s */",
  7328. op[0], op[1]);
  7329. printf (" sz = 0x%x\n", sz);
  7330. }
  7331. SYNTAX("rmpa%s");
  7332. #line 867 "rx-decode.opc"
  7333. ID(rmpa); BWL(sz); F_OS__;
  7334. /*----------------------------------------------------------------------*/
  7335. /* HI/LO stuff */
  7336. }
  7337. break;
  7338. case 0x8f:
  7339. {
  7340. /** 0111 1111 1000 1111 smovf */
  7341. if (trace)
  7342. {
  7343. printf ("\033[33m%s\033[0m %02x %02x\n",
  7344. "/** 0111 1111 1000 1111 smovf */",
  7345. op[0], op[1]);
  7346. }
  7347. SYNTAX("smovf");
  7348. #line 858 "rx-decode.opc"
  7349. ID(smovf);
  7350. }
  7351. break;
  7352. case 0x93:
  7353. {
  7354. /** 0111 1111 1001 0011 satr */
  7355. if (trace)
  7356. {
  7357. printf ("\033[33m%s\033[0m %02x %02x\n",
  7358. "/** 0111 1111 1001 0011 satr */",
  7359. op[0], op[1]);
  7360. }
  7361. SYNTAX("satr");
  7362. #line 909 "rx-decode.opc"
  7363. ID(satr);
  7364. /*----------------------------------------------------------------------*/
  7365. /* FLOAT */
  7366. }
  7367. break;
  7368. case 0x94:
  7369. {
  7370. /** 0111 1111 1001 0100 rtfi */
  7371. if (trace)
  7372. {
  7373. printf ("\033[33m%s\033[0m %02x %02x\n",
  7374. "/** 0111 1111 1001 0100 rtfi */",
  7375. op[0], op[1]);
  7376. }
  7377. SYNTAX("rtfi");
  7378. #line 1044 "rx-decode.opc"
  7379. ID(rtfi);
  7380. }
  7381. break;
  7382. case 0x95:
  7383. {
  7384. /** 0111 1111 1001 0101 rte */
  7385. if (trace)
  7386. {
  7387. printf ("\033[33m%s\033[0m %02x %02x\n",
  7388. "/** 0111 1111 1001 0101 rte */",
  7389. op[0], op[1]);
  7390. }
  7391. SYNTAX("rte");
  7392. #line 1047 "rx-decode.opc"
  7393. ID(rte);
  7394. }
  7395. break;
  7396. case 0x96:
  7397. {
  7398. /** 0111 1111 1001 0110 wait */
  7399. if (trace)
  7400. {
  7401. printf ("\033[33m%s\033[0m %02x %02x\n",
  7402. "/** 0111 1111 1001 0110 wait */",
  7403. op[0], op[1]);
  7404. }
  7405. SYNTAX("wait");
  7406. #line 1059 "rx-decode.opc"
  7407. ID(wait);
  7408. /*----------------------------------------------------------------------*/
  7409. /* SCcnd */
  7410. }
  7411. break;
  7412. case 0xa0:
  7413. case 0xa1:
  7414. case 0xa2:
  7415. case 0xa3:
  7416. case 0xa4:
  7417. case 0xa5:
  7418. case 0xa6:
  7419. case 0xa7:
  7420. case 0xa8:
  7421. case 0xa9:
  7422. case 0xaa:
  7423. case 0xab:
  7424. case 0xac:
  7425. case 0xad:
  7426. case 0xae:
  7427. case 0xaf:
  7428. {
  7429. /** 0111 1111 1010 rdst setpsw %0 */
  7430. #line 1020 "rx-decode.opc"
  7431. int rdst AU = op[1] & 0x0f;
  7432. if (trace)
  7433. {
  7434. printf ("\033[33m%s\033[0m %02x %02x\n",
  7435. "/** 0111 1111 1010 rdst setpsw %0 */",
  7436. op[0], op[1]);
  7437. printf (" rdst = 0x%x\n", rdst);
  7438. }
  7439. SYNTAX("setpsw %0");
  7440. #line 1020 "rx-decode.opc"
  7441. ID(setpsw); DF(rdst);
  7442. }
  7443. break;
  7444. case 0xb0:
  7445. case 0xb1:
  7446. case 0xb2:
  7447. case 0xb3:
  7448. case 0xb4:
  7449. case 0xb5:
  7450. case 0xb6:
  7451. case 0xb7:
  7452. case 0xb8:
  7453. case 0xb9:
  7454. case 0xba:
  7455. case 0xbb:
  7456. case 0xbc:
  7457. case 0xbd:
  7458. case 0xbe:
  7459. case 0xbf:
  7460. {
  7461. /** 0111 1111 1011 rdst clrpsw %0 */
  7462. #line 1017 "rx-decode.opc"
  7463. int rdst AU = op[1] & 0x0f;
  7464. if (trace)
  7465. {
  7466. printf ("\033[33m%s\033[0m %02x %02x\n",
  7467. "/** 0111 1111 1011 rdst clrpsw %0 */",
  7468. op[0], op[1]);
  7469. printf (" rdst = 0x%x\n", rdst);
  7470. }
  7471. SYNTAX("clrpsw %0");
  7472. #line 1017 "rx-decode.opc"
  7473. ID(clrpsw); DF(rdst);
  7474. }
  7475. break;
  7476. default: UNSUPPORTED(); break;
  7477. }
  7478. break;
  7479. case 0x80:
  7480. GETBYTE ();
  7481. switch (op[1] & 0x00)
  7482. {
  7483. case 0x00:
  7484. op_semantics_52:
  7485. {
  7486. /** 10sz 0dsp a dst b src mov%s %1, %0 */
  7487. #line 357 "rx-decode.opc"
  7488. int sz AU = (op[0] >> 4) & 0x03;
  7489. #line 357 "rx-decode.opc"
  7490. int dsp AU = op[0] & 0x07;
  7491. #line 357 "rx-decode.opc"
  7492. int a AU = (op[1] >> 7) & 0x01;
  7493. #line 357 "rx-decode.opc"
  7494. int dst AU = (op[1] >> 4) & 0x07;
  7495. #line 357 "rx-decode.opc"
  7496. int b AU = (op[1] >> 3) & 0x01;
  7497. #line 357 "rx-decode.opc"
  7498. int src AU = op[1] & 0x07;
  7499. if (trace)
  7500. {
  7501. printf ("\033[33m%s\033[0m %02x %02x\n",
  7502. "/** 10sz 0dsp a dst b src mov%s %1, %0 */",
  7503. op[0], op[1]);
  7504. printf (" sz = 0x%x,", sz);
  7505. printf (" dsp = 0x%x,", dsp);
  7506. printf (" a = 0x%x,", a);
  7507. printf (" dst = 0x%x,", dst);
  7508. printf (" b = 0x%x,", b);
  7509. printf (" src = 0x%x\n", src);
  7510. }
  7511. SYNTAX("mov%s %1, %0");
  7512. #line 357 "rx-decode.opc"
  7513. ID(mov); sBWL(sz); DIs(dst, dsp*4+a*2+b, sz); SR(src); F_____;
  7514. }
  7515. break;
  7516. }
  7517. break;
  7518. case 0x81:
  7519. GETBYTE ();
  7520. switch (op[1] & 0x00)
  7521. {
  7522. case 0x00:
  7523. goto op_semantics_52;
  7524. break;
  7525. }
  7526. break;
  7527. case 0x82:
  7528. GETBYTE ();
  7529. switch (op[1] & 0x00)
  7530. {
  7531. case 0x00:
  7532. goto op_semantics_52;
  7533. break;
  7534. }
  7535. break;
  7536. case 0x83:
  7537. GETBYTE ();
  7538. switch (op[1] & 0x00)
  7539. {
  7540. case 0x00:
  7541. goto op_semantics_52;
  7542. break;
  7543. }
  7544. break;
  7545. case 0x84:
  7546. GETBYTE ();
  7547. switch (op[1] & 0x00)
  7548. {
  7549. case 0x00:
  7550. goto op_semantics_52;
  7551. break;
  7552. }
  7553. break;
  7554. case 0x85:
  7555. GETBYTE ();
  7556. switch (op[1] & 0x00)
  7557. {
  7558. case 0x00:
  7559. goto op_semantics_52;
  7560. break;
  7561. }
  7562. break;
  7563. case 0x86:
  7564. GETBYTE ();
  7565. switch (op[1] & 0x00)
  7566. {
  7567. case 0x00:
  7568. goto op_semantics_52;
  7569. break;
  7570. }
  7571. break;
  7572. case 0x87:
  7573. GETBYTE ();
  7574. switch (op[1] & 0x00)
  7575. {
  7576. case 0x00:
  7577. goto op_semantics_52;
  7578. break;
  7579. }
  7580. break;
  7581. case 0x88:
  7582. GETBYTE ();
  7583. switch (op[1] & 0x00)
  7584. {
  7585. case 0x00:
  7586. op_semantics_53:
  7587. {
  7588. /** 10sz 1dsp a src b dst mov%s %1, %0 */
  7589. #line 354 "rx-decode.opc"
  7590. int sz AU = (op[0] >> 4) & 0x03;
  7591. #line 354 "rx-decode.opc"
  7592. int dsp AU = op[0] & 0x07;
  7593. #line 354 "rx-decode.opc"
  7594. int a AU = (op[1] >> 7) & 0x01;
  7595. #line 354 "rx-decode.opc"
  7596. int src AU = (op[1] >> 4) & 0x07;
  7597. #line 354 "rx-decode.opc"
  7598. int b AU = (op[1] >> 3) & 0x01;
  7599. #line 354 "rx-decode.opc"
  7600. int dst AU = op[1] & 0x07;
  7601. if (trace)
  7602. {
  7603. printf ("\033[33m%s\033[0m %02x %02x\n",
  7604. "/** 10sz 1dsp a src b dst mov%s %1, %0 */",
  7605. op[0], op[1]);
  7606. printf (" sz = 0x%x,", sz);
  7607. printf (" dsp = 0x%x,", dsp);
  7608. printf (" a = 0x%x,", a);
  7609. printf (" src = 0x%x,", src);
  7610. printf (" b = 0x%x,", b);
  7611. printf (" dst = 0x%x\n", dst);
  7612. }
  7613. SYNTAX("mov%s %1, %0");
  7614. #line 354 "rx-decode.opc"
  7615. ID(mov); sBWL(sz); DR(dst); SIs(src, dsp*4+a*2+b, sz); F_____;
  7616. }
  7617. break;
  7618. }
  7619. break;
  7620. case 0x89:
  7621. GETBYTE ();
  7622. switch (op[1] & 0x00)
  7623. {
  7624. case 0x00:
  7625. goto op_semantics_53;
  7626. break;
  7627. }
  7628. break;
  7629. case 0x8a:
  7630. GETBYTE ();
  7631. switch (op[1] & 0x00)
  7632. {
  7633. case 0x00:
  7634. goto op_semantics_53;
  7635. break;
  7636. }
  7637. break;
  7638. case 0x8b:
  7639. GETBYTE ();
  7640. switch (op[1] & 0x00)
  7641. {
  7642. case 0x00:
  7643. goto op_semantics_53;
  7644. break;
  7645. }
  7646. break;
  7647. case 0x8c:
  7648. GETBYTE ();
  7649. switch (op[1] & 0x00)
  7650. {
  7651. case 0x00:
  7652. goto op_semantics_53;
  7653. break;
  7654. }
  7655. break;
  7656. case 0x8d:
  7657. GETBYTE ();
  7658. switch (op[1] & 0x00)
  7659. {
  7660. case 0x00:
  7661. goto op_semantics_53;
  7662. break;
  7663. }
  7664. break;
  7665. case 0x8e:
  7666. GETBYTE ();
  7667. switch (op[1] & 0x00)
  7668. {
  7669. case 0x00:
  7670. goto op_semantics_53;
  7671. break;
  7672. }
  7673. break;
  7674. case 0x8f:
  7675. GETBYTE ();
  7676. switch (op[1] & 0x00)
  7677. {
  7678. case 0x00:
  7679. goto op_semantics_53;
  7680. break;
  7681. }
  7682. break;
  7683. case 0x90:
  7684. GETBYTE ();
  7685. switch (op[1] & 0x00)
  7686. {
  7687. case 0x00:
  7688. goto op_semantics_52;
  7689. break;
  7690. }
  7691. break;
  7692. case 0x91:
  7693. GETBYTE ();
  7694. switch (op[1] & 0x00)
  7695. {
  7696. case 0x00:
  7697. goto op_semantics_52;
  7698. break;
  7699. }
  7700. break;
  7701. case 0x92:
  7702. GETBYTE ();
  7703. switch (op[1] & 0x00)
  7704. {
  7705. case 0x00:
  7706. goto op_semantics_52;
  7707. break;
  7708. }
  7709. break;
  7710. case 0x93:
  7711. GETBYTE ();
  7712. switch (op[1] & 0x00)
  7713. {
  7714. case 0x00:
  7715. goto op_semantics_52;
  7716. break;
  7717. }
  7718. break;
  7719. case 0x94:
  7720. GETBYTE ();
  7721. switch (op[1] & 0x00)
  7722. {
  7723. case 0x00:
  7724. goto op_semantics_52;
  7725. break;
  7726. }
  7727. break;
  7728. case 0x95:
  7729. GETBYTE ();
  7730. switch (op[1] & 0x00)
  7731. {
  7732. case 0x00:
  7733. goto op_semantics_52;
  7734. break;
  7735. }
  7736. break;
  7737. case 0x96:
  7738. GETBYTE ();
  7739. switch (op[1] & 0x00)
  7740. {
  7741. case 0x00:
  7742. goto op_semantics_52;
  7743. break;
  7744. }
  7745. break;
  7746. case 0x97:
  7747. GETBYTE ();
  7748. switch (op[1] & 0x00)
  7749. {
  7750. case 0x00:
  7751. goto op_semantics_52;
  7752. break;
  7753. }
  7754. break;
  7755. case 0x98:
  7756. GETBYTE ();
  7757. switch (op[1] & 0x00)
  7758. {
  7759. case 0x00:
  7760. goto op_semantics_53;
  7761. break;
  7762. }
  7763. break;
  7764. case 0x99:
  7765. GETBYTE ();
  7766. switch (op[1] & 0x00)
  7767. {
  7768. case 0x00:
  7769. goto op_semantics_53;
  7770. break;
  7771. }
  7772. break;
  7773. case 0x9a:
  7774. GETBYTE ();
  7775. switch (op[1] & 0x00)
  7776. {
  7777. case 0x00:
  7778. goto op_semantics_53;
  7779. break;
  7780. }
  7781. break;
  7782. case 0x9b:
  7783. GETBYTE ();
  7784. switch (op[1] & 0x00)
  7785. {
  7786. case 0x00:
  7787. goto op_semantics_53;
  7788. break;
  7789. }
  7790. break;
  7791. case 0x9c:
  7792. GETBYTE ();
  7793. switch (op[1] & 0x00)
  7794. {
  7795. case 0x00:
  7796. goto op_semantics_53;
  7797. break;
  7798. }
  7799. break;
  7800. case 0x9d:
  7801. GETBYTE ();
  7802. switch (op[1] & 0x00)
  7803. {
  7804. case 0x00:
  7805. goto op_semantics_53;
  7806. break;
  7807. }
  7808. break;
  7809. case 0x9e:
  7810. GETBYTE ();
  7811. switch (op[1] & 0x00)
  7812. {
  7813. case 0x00:
  7814. goto op_semantics_53;
  7815. break;
  7816. }
  7817. break;
  7818. case 0x9f:
  7819. GETBYTE ();
  7820. switch (op[1] & 0x00)
  7821. {
  7822. case 0x00:
  7823. goto op_semantics_53;
  7824. break;
  7825. }
  7826. break;
  7827. case 0xa0:
  7828. GETBYTE ();
  7829. switch (op[1] & 0x00)
  7830. {
  7831. case 0x00:
  7832. goto op_semantics_52;
  7833. break;
  7834. }
  7835. break;
  7836. case 0xa1:
  7837. GETBYTE ();
  7838. switch (op[1] & 0x00)
  7839. {
  7840. case 0x00:
  7841. goto op_semantics_52;
  7842. break;
  7843. }
  7844. break;
  7845. case 0xa2:
  7846. GETBYTE ();
  7847. switch (op[1] & 0x00)
  7848. {
  7849. case 0x00:
  7850. goto op_semantics_52;
  7851. break;
  7852. }
  7853. break;
  7854. case 0xa3:
  7855. GETBYTE ();
  7856. switch (op[1] & 0x00)
  7857. {
  7858. case 0x00:
  7859. goto op_semantics_52;
  7860. break;
  7861. }
  7862. break;
  7863. case 0xa4:
  7864. GETBYTE ();
  7865. switch (op[1] & 0x00)
  7866. {
  7867. case 0x00:
  7868. goto op_semantics_52;
  7869. break;
  7870. }
  7871. break;
  7872. case 0xa5:
  7873. GETBYTE ();
  7874. switch (op[1] & 0x00)
  7875. {
  7876. case 0x00:
  7877. goto op_semantics_52;
  7878. break;
  7879. }
  7880. break;
  7881. case 0xa6:
  7882. GETBYTE ();
  7883. switch (op[1] & 0x00)
  7884. {
  7885. case 0x00:
  7886. goto op_semantics_52;
  7887. break;
  7888. }
  7889. break;
  7890. case 0xa7:
  7891. GETBYTE ();
  7892. switch (op[1] & 0x00)
  7893. {
  7894. case 0x00:
  7895. goto op_semantics_52;
  7896. break;
  7897. }
  7898. break;
  7899. case 0xa8:
  7900. GETBYTE ();
  7901. switch (op[1] & 0x00)
  7902. {
  7903. case 0x00:
  7904. goto op_semantics_53;
  7905. break;
  7906. }
  7907. break;
  7908. case 0xa9:
  7909. GETBYTE ();
  7910. switch (op[1] & 0x00)
  7911. {
  7912. case 0x00:
  7913. goto op_semantics_53;
  7914. break;
  7915. }
  7916. break;
  7917. case 0xaa:
  7918. GETBYTE ();
  7919. switch (op[1] & 0x00)
  7920. {
  7921. case 0x00:
  7922. goto op_semantics_53;
  7923. break;
  7924. }
  7925. break;
  7926. case 0xab:
  7927. GETBYTE ();
  7928. switch (op[1] & 0x00)
  7929. {
  7930. case 0x00:
  7931. goto op_semantics_53;
  7932. break;
  7933. }
  7934. break;
  7935. case 0xac:
  7936. GETBYTE ();
  7937. switch (op[1] & 0x00)
  7938. {
  7939. case 0x00:
  7940. goto op_semantics_53;
  7941. break;
  7942. }
  7943. break;
  7944. case 0xad:
  7945. GETBYTE ();
  7946. switch (op[1] & 0x00)
  7947. {
  7948. case 0x00:
  7949. goto op_semantics_53;
  7950. break;
  7951. }
  7952. break;
  7953. case 0xae:
  7954. GETBYTE ();
  7955. switch (op[1] & 0x00)
  7956. {
  7957. case 0x00:
  7958. goto op_semantics_53;
  7959. break;
  7960. }
  7961. break;
  7962. case 0xaf:
  7963. GETBYTE ();
  7964. switch (op[1] & 0x00)
  7965. {
  7966. case 0x00:
  7967. goto op_semantics_53;
  7968. break;
  7969. }
  7970. break;
  7971. case 0xb0:
  7972. GETBYTE ();
  7973. switch (op[1] & 0x00)
  7974. {
  7975. case 0x00:
  7976. op_semantics_54:
  7977. {
  7978. /** 1011 w dsp a src b dst movu%s %1, %0 */
  7979. #line 377 "rx-decode.opc"
  7980. int w AU = (op[0] >> 3) & 0x01;
  7981. #line 377 "rx-decode.opc"
  7982. int dsp AU = op[0] & 0x07;
  7983. #line 377 "rx-decode.opc"
  7984. int a AU = (op[1] >> 7) & 0x01;
  7985. #line 377 "rx-decode.opc"
  7986. int src AU = (op[1] >> 4) & 0x07;
  7987. #line 377 "rx-decode.opc"
  7988. int b AU = (op[1] >> 3) & 0x01;
  7989. #line 377 "rx-decode.opc"
  7990. int dst AU = op[1] & 0x07;
  7991. if (trace)
  7992. {
  7993. printf ("\033[33m%s\033[0m %02x %02x\n",
  7994. "/** 1011 w dsp a src b dst movu%s %1, %0 */",
  7995. op[0], op[1]);
  7996. printf (" w = 0x%x,", w);
  7997. printf (" dsp = 0x%x,", dsp);
  7998. printf (" a = 0x%x,", a);
  7999. printf (" src = 0x%x,", src);
  8000. printf (" b = 0x%x,", b);
  8001. printf (" dst = 0x%x\n", dst);
  8002. }
  8003. SYNTAX("movu%s %1, %0");
  8004. #line 377 "rx-decode.opc"
  8005. ID(mov); uBW(w); DR(dst); SIs(src, dsp*4+a*2+b, w); F_____;
  8006. }
  8007. break;
  8008. }
  8009. break;
  8010. case 0xb1:
  8011. GETBYTE ();
  8012. switch (op[1] & 0x00)
  8013. {
  8014. case 0x00:
  8015. goto op_semantics_54;
  8016. break;
  8017. }
  8018. break;
  8019. case 0xb2:
  8020. GETBYTE ();
  8021. switch (op[1] & 0x00)
  8022. {
  8023. case 0x00:
  8024. goto op_semantics_54;
  8025. break;
  8026. }
  8027. break;
  8028. case 0xb3:
  8029. GETBYTE ();
  8030. switch (op[1] & 0x00)
  8031. {
  8032. case 0x00:
  8033. goto op_semantics_54;
  8034. break;
  8035. }
  8036. break;
  8037. case 0xb4:
  8038. GETBYTE ();
  8039. switch (op[1] & 0x00)
  8040. {
  8041. case 0x00:
  8042. goto op_semantics_54;
  8043. break;
  8044. }
  8045. break;
  8046. case 0xb5:
  8047. GETBYTE ();
  8048. switch (op[1] & 0x00)
  8049. {
  8050. case 0x00:
  8051. goto op_semantics_54;
  8052. break;
  8053. }
  8054. break;
  8055. case 0xb6:
  8056. GETBYTE ();
  8057. switch (op[1] & 0x00)
  8058. {
  8059. case 0x00:
  8060. goto op_semantics_54;
  8061. break;
  8062. }
  8063. break;
  8064. case 0xb7:
  8065. GETBYTE ();
  8066. switch (op[1] & 0x00)
  8067. {
  8068. case 0x00:
  8069. goto op_semantics_54;
  8070. break;
  8071. }
  8072. break;
  8073. case 0xb8:
  8074. GETBYTE ();
  8075. switch (op[1] & 0x00)
  8076. {
  8077. case 0x00:
  8078. goto op_semantics_54;
  8079. break;
  8080. }
  8081. break;
  8082. case 0xb9:
  8083. GETBYTE ();
  8084. switch (op[1] & 0x00)
  8085. {
  8086. case 0x00:
  8087. goto op_semantics_54;
  8088. break;
  8089. }
  8090. break;
  8091. case 0xba:
  8092. GETBYTE ();
  8093. switch (op[1] & 0x00)
  8094. {
  8095. case 0x00:
  8096. goto op_semantics_54;
  8097. break;
  8098. }
  8099. break;
  8100. case 0xbb:
  8101. GETBYTE ();
  8102. switch (op[1] & 0x00)
  8103. {
  8104. case 0x00:
  8105. goto op_semantics_54;
  8106. break;
  8107. }
  8108. break;
  8109. case 0xbc:
  8110. GETBYTE ();
  8111. switch (op[1] & 0x00)
  8112. {
  8113. case 0x00:
  8114. goto op_semantics_54;
  8115. break;
  8116. }
  8117. break;
  8118. case 0xbd:
  8119. GETBYTE ();
  8120. switch (op[1] & 0x00)
  8121. {
  8122. case 0x00:
  8123. goto op_semantics_54;
  8124. break;
  8125. }
  8126. break;
  8127. case 0xbe:
  8128. GETBYTE ();
  8129. switch (op[1] & 0x00)
  8130. {
  8131. case 0x00:
  8132. goto op_semantics_54;
  8133. break;
  8134. }
  8135. break;
  8136. case 0xbf:
  8137. GETBYTE ();
  8138. switch (op[1] & 0x00)
  8139. {
  8140. case 0x00:
  8141. goto op_semantics_54;
  8142. break;
  8143. }
  8144. break;
  8145. case 0xc0:
  8146. GETBYTE ();
  8147. switch (op[1] & 0x00)
  8148. {
  8149. case 0x00:
  8150. op_semantics_55:
  8151. {
  8152. /** 11sz sd ss rsrc rdst mov%s %1, %0 */
  8153. #line 335 "rx-decode.opc"
  8154. int sz AU = (op[0] >> 4) & 0x03;
  8155. #line 335 "rx-decode.opc"
  8156. int sd AU = (op[0] >> 2) & 0x03;
  8157. #line 335 "rx-decode.opc"
  8158. int ss AU = op[0] & 0x03;
  8159. #line 335 "rx-decode.opc"
  8160. int rsrc AU = (op[1] >> 4) & 0x0f;
  8161. #line 335 "rx-decode.opc"
  8162. int rdst AU = op[1] & 0x0f;
  8163. if (trace)
  8164. {
  8165. printf ("\033[33m%s\033[0m %02x %02x\n",
  8166. "/** 11sz sd ss rsrc rdst mov%s %1, %0 */",
  8167. op[0], op[1]);
  8168. printf (" sz = 0x%x,", sz);
  8169. printf (" sd = 0x%x,", sd);
  8170. printf (" ss = 0x%x,", ss);
  8171. printf (" rsrc = 0x%x,", rsrc);
  8172. printf (" rdst = 0x%x\n", rdst);
  8173. }
  8174. SYNTAX("mov%s %1, %0");
  8175. #line 335 "rx-decode.opc"
  8176. if (sd == 3 && ss == 3 && sz == 2 && rsrc == 0 && rdst == 0)
  8177. {
  8178. ID(nop2);
  8179. SYNTAX ("nop\t; mov.l\tr0, r0");
  8180. }
  8181. else
  8182. {
  8183. ID(mov); sBWL(sz); F_____;
  8184. if ((ss == 3) && (sd != 3))
  8185. {
  8186. SD(ss, rdst, sz); DD(sd, rsrc, sz);
  8187. }
  8188. else
  8189. {
  8190. SD(ss, rsrc, sz); DD(sd, rdst, sz);
  8191. }
  8192. }
  8193. }
  8194. break;
  8195. }
  8196. break;
  8197. case 0xc1:
  8198. GETBYTE ();
  8199. switch (op[1] & 0x00)
  8200. {
  8201. case 0x00:
  8202. goto op_semantics_55;
  8203. break;
  8204. }
  8205. break;
  8206. case 0xc2:
  8207. GETBYTE ();
  8208. switch (op[1] & 0x00)
  8209. {
  8210. case 0x00:
  8211. goto op_semantics_55;
  8212. break;
  8213. }
  8214. break;
  8215. case 0xc3:
  8216. GETBYTE ();
  8217. switch (op[1] & 0x00)
  8218. {
  8219. case 0x00:
  8220. goto op_semantics_55;
  8221. break;
  8222. }
  8223. break;
  8224. case 0xc4:
  8225. GETBYTE ();
  8226. switch (op[1] & 0x00)
  8227. {
  8228. case 0x00:
  8229. goto op_semantics_55;
  8230. break;
  8231. }
  8232. break;
  8233. case 0xc5:
  8234. GETBYTE ();
  8235. switch (op[1] & 0x00)
  8236. {
  8237. case 0x00:
  8238. goto op_semantics_55;
  8239. break;
  8240. }
  8241. break;
  8242. case 0xc6:
  8243. GETBYTE ();
  8244. switch (op[1] & 0x00)
  8245. {
  8246. case 0x00:
  8247. goto op_semantics_55;
  8248. break;
  8249. }
  8250. break;
  8251. case 0xc7:
  8252. GETBYTE ();
  8253. switch (op[1] & 0x00)
  8254. {
  8255. case 0x00:
  8256. goto op_semantics_55;
  8257. break;
  8258. }
  8259. break;
  8260. case 0xc8:
  8261. GETBYTE ();
  8262. switch (op[1] & 0x00)
  8263. {
  8264. case 0x00:
  8265. goto op_semantics_55;
  8266. break;
  8267. }
  8268. break;
  8269. case 0xc9:
  8270. GETBYTE ();
  8271. switch (op[1] & 0x00)
  8272. {
  8273. case 0x00:
  8274. goto op_semantics_55;
  8275. break;
  8276. }
  8277. break;
  8278. case 0xca:
  8279. GETBYTE ();
  8280. switch (op[1] & 0x00)
  8281. {
  8282. case 0x00:
  8283. goto op_semantics_55;
  8284. break;
  8285. }
  8286. break;
  8287. case 0xcb:
  8288. GETBYTE ();
  8289. switch (op[1] & 0x00)
  8290. {
  8291. case 0x00:
  8292. goto op_semantics_55;
  8293. break;
  8294. }
  8295. break;
  8296. case 0xcc:
  8297. GETBYTE ();
  8298. switch (op[1] & 0x00)
  8299. {
  8300. case 0x00:
  8301. goto op_semantics_55;
  8302. break;
  8303. }
  8304. break;
  8305. case 0xcd:
  8306. GETBYTE ();
  8307. switch (op[1] & 0x00)
  8308. {
  8309. case 0x00:
  8310. goto op_semantics_55;
  8311. break;
  8312. }
  8313. break;
  8314. case 0xce:
  8315. GETBYTE ();
  8316. switch (op[1] & 0x00)
  8317. {
  8318. case 0x00:
  8319. goto op_semantics_55;
  8320. break;
  8321. }
  8322. break;
  8323. case 0xcf:
  8324. GETBYTE ();
  8325. switch (op[1] & 0x00)
  8326. {
  8327. case 0x00:
  8328. goto op_semantics_55;
  8329. break;
  8330. }
  8331. break;
  8332. case 0xd0:
  8333. GETBYTE ();
  8334. switch (op[1] & 0x00)
  8335. {
  8336. case 0x00:
  8337. goto op_semantics_55;
  8338. break;
  8339. }
  8340. break;
  8341. case 0xd1:
  8342. GETBYTE ();
  8343. switch (op[1] & 0x00)
  8344. {
  8345. case 0x00:
  8346. goto op_semantics_55;
  8347. break;
  8348. }
  8349. break;
  8350. case 0xd2:
  8351. GETBYTE ();
  8352. switch (op[1] & 0x00)
  8353. {
  8354. case 0x00:
  8355. goto op_semantics_55;
  8356. break;
  8357. }
  8358. break;
  8359. case 0xd3:
  8360. GETBYTE ();
  8361. switch (op[1] & 0x00)
  8362. {
  8363. case 0x00:
  8364. goto op_semantics_55;
  8365. break;
  8366. }
  8367. break;
  8368. case 0xd4:
  8369. GETBYTE ();
  8370. switch (op[1] & 0x00)
  8371. {
  8372. case 0x00:
  8373. goto op_semantics_55;
  8374. break;
  8375. }
  8376. break;
  8377. case 0xd5:
  8378. GETBYTE ();
  8379. switch (op[1] & 0x00)
  8380. {
  8381. case 0x00:
  8382. goto op_semantics_55;
  8383. break;
  8384. }
  8385. break;
  8386. case 0xd6:
  8387. GETBYTE ();
  8388. switch (op[1] & 0x00)
  8389. {
  8390. case 0x00:
  8391. goto op_semantics_55;
  8392. break;
  8393. }
  8394. break;
  8395. case 0xd7:
  8396. GETBYTE ();
  8397. switch (op[1] & 0x00)
  8398. {
  8399. case 0x00:
  8400. goto op_semantics_55;
  8401. break;
  8402. }
  8403. break;
  8404. case 0xd8:
  8405. GETBYTE ();
  8406. switch (op[1] & 0x00)
  8407. {
  8408. case 0x00:
  8409. goto op_semantics_55;
  8410. break;
  8411. }
  8412. break;
  8413. case 0xd9:
  8414. GETBYTE ();
  8415. switch (op[1] & 0x00)
  8416. {
  8417. case 0x00:
  8418. goto op_semantics_55;
  8419. break;
  8420. }
  8421. break;
  8422. case 0xda:
  8423. GETBYTE ();
  8424. switch (op[1] & 0x00)
  8425. {
  8426. case 0x00:
  8427. goto op_semantics_55;
  8428. break;
  8429. }
  8430. break;
  8431. case 0xdb:
  8432. GETBYTE ();
  8433. switch (op[1] & 0x00)
  8434. {
  8435. case 0x00:
  8436. goto op_semantics_55;
  8437. break;
  8438. }
  8439. break;
  8440. case 0xdc:
  8441. GETBYTE ();
  8442. switch (op[1] & 0x00)
  8443. {
  8444. case 0x00:
  8445. goto op_semantics_55;
  8446. break;
  8447. }
  8448. break;
  8449. case 0xdd:
  8450. GETBYTE ();
  8451. switch (op[1] & 0x00)
  8452. {
  8453. case 0x00:
  8454. goto op_semantics_55;
  8455. break;
  8456. }
  8457. break;
  8458. case 0xde:
  8459. GETBYTE ();
  8460. switch (op[1] & 0x00)
  8461. {
  8462. case 0x00:
  8463. goto op_semantics_55;
  8464. break;
  8465. }
  8466. break;
  8467. case 0xdf:
  8468. GETBYTE ();
  8469. switch (op[1] & 0x00)
  8470. {
  8471. case 0x00:
  8472. goto op_semantics_55;
  8473. break;
  8474. }
  8475. break;
  8476. case 0xe0:
  8477. GETBYTE ();
  8478. switch (op[1] & 0x00)
  8479. {
  8480. case 0x00:
  8481. goto op_semantics_55;
  8482. break;
  8483. }
  8484. break;
  8485. case 0xe1:
  8486. GETBYTE ();
  8487. switch (op[1] & 0x00)
  8488. {
  8489. case 0x00:
  8490. goto op_semantics_55;
  8491. break;
  8492. }
  8493. break;
  8494. case 0xe2:
  8495. GETBYTE ();
  8496. switch (op[1] & 0x00)
  8497. {
  8498. case 0x00:
  8499. goto op_semantics_55;
  8500. break;
  8501. }
  8502. break;
  8503. case 0xe3:
  8504. GETBYTE ();
  8505. switch (op[1] & 0x00)
  8506. {
  8507. case 0x00:
  8508. goto op_semantics_55;
  8509. break;
  8510. }
  8511. break;
  8512. case 0xe4:
  8513. GETBYTE ();
  8514. switch (op[1] & 0x00)
  8515. {
  8516. case 0x00:
  8517. goto op_semantics_55;
  8518. break;
  8519. }
  8520. break;
  8521. case 0xe5:
  8522. GETBYTE ();
  8523. switch (op[1] & 0x00)
  8524. {
  8525. case 0x00:
  8526. goto op_semantics_55;
  8527. break;
  8528. }
  8529. break;
  8530. case 0xe6:
  8531. GETBYTE ();
  8532. switch (op[1] & 0x00)
  8533. {
  8534. case 0x00:
  8535. goto op_semantics_55;
  8536. break;
  8537. }
  8538. break;
  8539. case 0xe7:
  8540. GETBYTE ();
  8541. switch (op[1] & 0x00)
  8542. {
  8543. case 0x00:
  8544. goto op_semantics_55;
  8545. break;
  8546. }
  8547. break;
  8548. case 0xe8:
  8549. GETBYTE ();
  8550. switch (op[1] & 0x00)
  8551. {
  8552. case 0x00:
  8553. goto op_semantics_55;
  8554. break;
  8555. }
  8556. break;
  8557. case 0xe9:
  8558. GETBYTE ();
  8559. switch (op[1] & 0x00)
  8560. {
  8561. case 0x00:
  8562. goto op_semantics_55;
  8563. break;
  8564. }
  8565. break;
  8566. case 0xea:
  8567. GETBYTE ();
  8568. switch (op[1] & 0x00)
  8569. {
  8570. case 0x00:
  8571. goto op_semantics_55;
  8572. break;
  8573. }
  8574. break;
  8575. case 0xeb:
  8576. GETBYTE ();
  8577. switch (op[1] & 0x00)
  8578. {
  8579. case 0x00:
  8580. goto op_semantics_55;
  8581. break;
  8582. }
  8583. break;
  8584. case 0xec:
  8585. GETBYTE ();
  8586. switch (op[1] & 0x00)
  8587. {
  8588. case 0x00:
  8589. goto op_semantics_55;
  8590. break;
  8591. }
  8592. break;
  8593. case 0xed:
  8594. GETBYTE ();
  8595. switch (op[1] & 0x00)
  8596. {
  8597. case 0x00:
  8598. goto op_semantics_55;
  8599. break;
  8600. }
  8601. break;
  8602. case 0xee:
  8603. GETBYTE ();
  8604. switch (op[1] & 0x00)
  8605. {
  8606. case 0x00:
  8607. goto op_semantics_55;
  8608. break;
  8609. }
  8610. break;
  8611. case 0xef:
  8612. GETBYTE ();
  8613. switch (op[1] & 0x00)
  8614. {
  8615. case 0x00:
  8616. goto op_semantics_55;
  8617. break;
  8618. }
  8619. break;
  8620. case 0xf0:
  8621. GETBYTE ();
  8622. switch (op[1] & 0x08)
  8623. {
  8624. case 0x00:
  8625. op_semantics_56:
  8626. {
  8627. /** 1111 00sd rdst 0bit bset #%1, %0%S0 */
  8628. #line 960 "rx-decode.opc"
  8629. int sd AU = op[0] & 0x03;
  8630. #line 960 "rx-decode.opc"
  8631. int rdst AU = (op[1] >> 4) & 0x0f;
  8632. #line 960 "rx-decode.opc"
  8633. int bit AU = op[1] & 0x07;
  8634. if (trace)
  8635. {
  8636. printf ("\033[33m%s\033[0m %02x %02x\n",
  8637. "/** 1111 00sd rdst 0bit bset #%1, %0%S0 */",
  8638. op[0], op[1]);
  8639. printf (" sd = 0x%x,", sd);
  8640. printf (" rdst = 0x%x,", rdst);
  8641. printf (" bit = 0x%x\n", bit);
  8642. }
  8643. SYNTAX("bset #%1, %0%S0");
  8644. #line 960 "rx-decode.opc"
  8645. ID(bset); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
  8646. }
  8647. break;
  8648. case 0x08:
  8649. op_semantics_57:
  8650. {
  8651. /** 1111 00sd rdst 1bit bclr #%1, %0%S0 */
  8652. #line 972 "rx-decode.opc"
  8653. int sd AU = op[0] & 0x03;
  8654. #line 972 "rx-decode.opc"
  8655. int rdst AU = (op[1] >> 4) & 0x0f;
  8656. #line 972 "rx-decode.opc"
  8657. int bit AU = op[1] & 0x07;
  8658. if (trace)
  8659. {
  8660. printf ("\033[33m%s\033[0m %02x %02x\n",
  8661. "/** 1111 00sd rdst 1bit bclr #%1, %0%S0 */",
  8662. op[0], op[1]);
  8663. printf (" sd = 0x%x,", sd);
  8664. printf (" rdst = 0x%x,", rdst);
  8665. printf (" bit = 0x%x\n", bit);
  8666. }
  8667. SYNTAX("bclr #%1, %0%S0");
  8668. #line 972 "rx-decode.opc"
  8669. ID(bclr); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE); F_____;
  8670. }
  8671. break;
  8672. }
  8673. break;
  8674. case 0xf1:
  8675. GETBYTE ();
  8676. switch (op[1] & 0x08)
  8677. {
  8678. case 0x00:
  8679. goto op_semantics_56;
  8680. break;
  8681. case 0x08:
  8682. goto op_semantics_57;
  8683. break;
  8684. }
  8685. break;
  8686. case 0xf2:
  8687. GETBYTE ();
  8688. switch (op[1] & 0x08)
  8689. {
  8690. case 0x00:
  8691. goto op_semantics_56;
  8692. break;
  8693. case 0x08:
  8694. goto op_semantics_57;
  8695. break;
  8696. }
  8697. break;
  8698. case 0xf3:
  8699. GETBYTE ();
  8700. switch (op[1] & 0x08)
  8701. {
  8702. case 0x00:
  8703. goto op_semantics_56;
  8704. break;
  8705. case 0x08:
  8706. goto op_semantics_57;
  8707. break;
  8708. }
  8709. break;
  8710. case 0xf4:
  8711. GETBYTE ();
  8712. switch (op[1] & 0x0c)
  8713. {
  8714. case 0x00:
  8715. case 0x04:
  8716. op_semantics_58:
  8717. {
  8718. /** 1111 01sd rdst 0bit btst #%2, %1%S1 */
  8719. #line 984 "rx-decode.opc"
  8720. int sd AU = op[0] & 0x03;
  8721. #line 984 "rx-decode.opc"
  8722. int rdst AU = (op[1] >> 4) & 0x0f;
  8723. #line 984 "rx-decode.opc"
  8724. int bit AU = op[1] & 0x07;
  8725. if (trace)
  8726. {
  8727. printf ("\033[33m%s\033[0m %02x %02x\n",
  8728. "/** 1111 01sd rdst 0bit btst #%2, %1%S1 */",
  8729. op[0], op[1]);
  8730. printf (" sd = 0x%x,", sd);
  8731. printf (" rdst = 0x%x,", rdst);
  8732. printf (" bit = 0x%x\n", bit);
  8733. }
  8734. SYNTAX("btst #%2, %1%S1");
  8735. #line 984 "rx-decode.opc"
  8736. ID(btst); BWL(BSIZE); S2C(bit); SD(sd, rdst, BSIZE); F___ZC;
  8737. }
  8738. break;
  8739. case 0x08:
  8740. op_semantics_59:
  8741. {
  8742. /** 1111 01ss rsrc 10sz push%s %1 */
  8743. #line 402 "rx-decode.opc"
  8744. int ss AU = op[0] & 0x03;
  8745. #line 402 "rx-decode.opc"
  8746. int rsrc AU = (op[1] >> 4) & 0x0f;
  8747. #line 402 "rx-decode.opc"
  8748. int sz AU = op[1] & 0x03;
  8749. if (trace)
  8750. {
  8751. printf ("\033[33m%s\033[0m %02x %02x\n",
  8752. "/** 1111 01ss rsrc 10sz push%s %1 */",
  8753. op[0], op[1]);
  8754. printf (" ss = 0x%x,", ss);
  8755. printf (" rsrc = 0x%x,", rsrc);
  8756. printf (" sz = 0x%x\n", sz);
  8757. }
  8758. SYNTAX("push%s %1");
  8759. #line 402 "rx-decode.opc"
  8760. ID(mov); BWL(sz); OP(0, RX_Operand_Predec, 0, 0); SD(ss, rsrc, sz); F_____;
  8761. /*----------------------------------------------------------------------*/
  8762. /* XCHG */
  8763. }
  8764. break;
  8765. default: UNSUPPORTED(); break;
  8766. }
  8767. break;
  8768. case 0xf5:
  8769. GETBYTE ();
  8770. switch (op[1] & 0x0c)
  8771. {
  8772. case 0x00:
  8773. case 0x04:
  8774. goto op_semantics_58;
  8775. break;
  8776. case 0x08:
  8777. goto op_semantics_59;
  8778. break;
  8779. default: UNSUPPORTED(); break;
  8780. }
  8781. break;
  8782. case 0xf6:
  8783. GETBYTE ();
  8784. switch (op[1] & 0x0c)
  8785. {
  8786. case 0x00:
  8787. case 0x04:
  8788. goto op_semantics_58;
  8789. break;
  8790. case 0x08:
  8791. goto op_semantics_59;
  8792. break;
  8793. default: UNSUPPORTED(); break;
  8794. }
  8795. break;
  8796. case 0xf7:
  8797. GETBYTE ();
  8798. switch (op[1] & 0x0c)
  8799. {
  8800. case 0x00:
  8801. case 0x04:
  8802. goto op_semantics_58;
  8803. break;
  8804. case 0x08:
  8805. goto op_semantics_59;
  8806. break;
  8807. default: UNSUPPORTED(); break;
  8808. }
  8809. break;
  8810. case 0xf8:
  8811. GETBYTE ();
  8812. switch (op[1] & 0x00)
  8813. {
  8814. case 0x00:
  8815. op_semantics_60:
  8816. {
  8817. /** 1111 10sd rdst im sz mov%s #%1, %0 */
  8818. #line 313 "rx-decode.opc"
  8819. int sd AU = op[0] & 0x03;
  8820. #line 313 "rx-decode.opc"
  8821. int rdst AU = (op[1] >> 4) & 0x0f;
  8822. #line 313 "rx-decode.opc"
  8823. int im AU = (op[1] >> 2) & 0x03;
  8824. #line 313 "rx-decode.opc"
  8825. int sz AU = op[1] & 0x03;
  8826. if (trace)
  8827. {
  8828. printf ("\033[33m%s\033[0m %02x %02x\n",
  8829. "/** 1111 10sd rdst im sz mov%s #%1, %0 */",
  8830. op[0], op[1]);
  8831. printf (" sd = 0x%x,", sd);
  8832. printf (" rdst = 0x%x,", rdst);
  8833. printf (" im = 0x%x,", im);
  8834. printf (" sz = 0x%x\n", sz);
  8835. }
  8836. SYNTAX("mov%s #%1, %0");
  8837. #line 313 "rx-decode.opc"
  8838. ID(mov); DD(sd, rdst, sz);
  8839. if ((im == 1 && sz == 0)
  8840. || (im == 2 && sz == 1)
  8841. || (im == 0 && sz == 2))
  8842. {
  8843. BWL (sz);
  8844. SC(IMM(im));
  8845. }
  8846. else
  8847. {
  8848. sBWL (sz);
  8849. SC(IMMex(im));
  8850. }
  8851. F_____;
  8852. }
  8853. break;
  8854. }
  8855. break;
  8856. case 0xf9:
  8857. GETBYTE ();
  8858. switch (op[1] & 0xff)
  8859. {
  8860. case 0x00:
  8861. case 0x01:
  8862. case 0x02:
  8863. case 0x04:
  8864. case 0x05:
  8865. case 0x06:
  8866. case 0x08:
  8867. case 0x09:
  8868. case 0x0a:
  8869. case 0x0c:
  8870. case 0x0d:
  8871. case 0x0e:
  8872. case 0x10:
  8873. case 0x11:
  8874. case 0x12:
  8875. case 0x14:
  8876. case 0x15:
  8877. case 0x16:
  8878. case 0x18:
  8879. case 0x19:
  8880. case 0x1a:
  8881. case 0x1c:
  8882. case 0x1d:
  8883. case 0x1e:
  8884. case 0x20:
  8885. case 0x21:
  8886. case 0x22:
  8887. case 0x24:
  8888. case 0x25:
  8889. case 0x26:
  8890. case 0x28:
  8891. case 0x29:
  8892. case 0x2a:
  8893. case 0x2c:
  8894. case 0x2d:
  8895. case 0x2e:
  8896. case 0x30:
  8897. case 0x31:
  8898. case 0x32:
  8899. case 0x34:
  8900. case 0x35:
  8901. case 0x36:
  8902. case 0x38:
  8903. case 0x39:
  8904. case 0x3a:
  8905. case 0x3c:
  8906. case 0x3d:
  8907. case 0x3e:
  8908. case 0x40:
  8909. case 0x41:
  8910. case 0x42:
  8911. case 0x44:
  8912. case 0x45:
  8913. case 0x46:
  8914. case 0x48:
  8915. case 0x49:
  8916. case 0x4a:
  8917. case 0x4c:
  8918. case 0x4d:
  8919. case 0x4e:
  8920. case 0x50:
  8921. case 0x51:
  8922. case 0x52:
  8923. case 0x54:
  8924. case 0x55:
  8925. case 0x56:
  8926. case 0x58:
  8927. case 0x59:
  8928. case 0x5a:
  8929. case 0x5c:
  8930. case 0x5d:
  8931. case 0x5e:
  8932. case 0x60:
  8933. case 0x61:
  8934. case 0x62:
  8935. case 0x64:
  8936. case 0x65:
  8937. case 0x66:
  8938. case 0x68:
  8939. case 0x69:
  8940. case 0x6a:
  8941. case 0x6c:
  8942. case 0x6d:
  8943. case 0x6e:
  8944. case 0x70:
  8945. case 0x71:
  8946. case 0x72:
  8947. case 0x74:
  8948. case 0x75:
  8949. case 0x76:
  8950. case 0x78:
  8951. case 0x79:
  8952. case 0x7a:
  8953. case 0x7c:
  8954. case 0x7d:
  8955. case 0x7e:
  8956. case 0x80:
  8957. case 0x81:
  8958. case 0x82:
  8959. case 0x84:
  8960. case 0x85:
  8961. case 0x86:
  8962. case 0x88:
  8963. case 0x89:
  8964. case 0x8a:
  8965. case 0x8c:
  8966. case 0x8d:
  8967. case 0x8e:
  8968. case 0x90:
  8969. case 0x91:
  8970. case 0x92:
  8971. case 0x94:
  8972. case 0x95:
  8973. case 0x96:
  8974. case 0x98:
  8975. case 0x99:
  8976. case 0x9a:
  8977. case 0x9c:
  8978. case 0x9d:
  8979. case 0x9e:
  8980. case 0xa0:
  8981. case 0xa1:
  8982. case 0xa2:
  8983. case 0xa4:
  8984. case 0xa5:
  8985. case 0xa6:
  8986. case 0xa8:
  8987. case 0xa9:
  8988. case 0xaa:
  8989. case 0xac:
  8990. case 0xad:
  8991. case 0xae:
  8992. case 0xb0:
  8993. case 0xb1:
  8994. case 0xb2:
  8995. case 0xb4:
  8996. case 0xb5:
  8997. case 0xb6:
  8998. case 0xb8:
  8999. case 0xb9:
  9000. case 0xba:
  9001. case 0xbc:
  9002. case 0xbd:
  9003. case 0xbe:
  9004. case 0xc0:
  9005. case 0xc1:
  9006. case 0xc2:
  9007. case 0xc4:
  9008. case 0xc5:
  9009. case 0xc6:
  9010. case 0xc8:
  9011. case 0xc9:
  9012. case 0xca:
  9013. case 0xcc:
  9014. case 0xcd:
  9015. case 0xce:
  9016. case 0xd0:
  9017. case 0xd1:
  9018. case 0xd2:
  9019. case 0xd4:
  9020. case 0xd5:
  9021. case 0xd6:
  9022. case 0xd8:
  9023. case 0xd9:
  9024. case 0xda:
  9025. case 0xdc:
  9026. case 0xdd:
  9027. case 0xde:
  9028. case 0xe0:
  9029. case 0xe1:
  9030. case 0xe2:
  9031. case 0xe4:
  9032. case 0xe5:
  9033. case 0xe6:
  9034. case 0xe8:
  9035. case 0xe9:
  9036. case 0xea:
  9037. case 0xec:
  9038. case 0xed:
  9039. case 0xee:
  9040. case 0xf0:
  9041. case 0xf1:
  9042. case 0xf2:
  9043. case 0xf4:
  9044. case 0xf5:
  9045. case 0xf6:
  9046. case 0xf8:
  9047. case 0xf9:
  9048. case 0xfa:
  9049. case 0xfc:
  9050. case 0xfd:
  9051. case 0xfe:
  9052. goto op_semantics_60;
  9053. break;
  9054. case 0x03:
  9055. GETBYTE ();
  9056. switch (op[2] & 0x0f)
  9057. {
  9058. case 0x00:
  9059. {
  9060. /** 1111 1001 0000 0011 rdst 0000 dmov.l #%1, %0 */
  9061. #line 1211 "rx-decode.opc"
  9062. int rdst AU = (op[2] >> 4) & 0x0f;
  9063. if (trace)
  9064. {
  9065. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9066. "/** 1111 1001 0000 0011 rdst 0000 dmov.l #%1, %0 */",
  9067. op[0], op[1], op[2]);
  9068. printf (" rdst = 0x%x\n", rdst);
  9069. }
  9070. SYNTAX("dmov.l #%1, %0");
  9071. #line 1211 "rx-decode.opc"
  9072. ID(dmov); DDRL(rdst); SC(IMMex(0)); F_____;
  9073. }
  9074. break;
  9075. case 0x02:
  9076. case 0x03:
  9077. {
  9078. /** 1111 1001 0000 0011 rdst 001s dmov%s #%1, %0 */
  9079. #line 1208 "rx-decode.opc"
  9080. int rdst AU = (op[2] >> 4) & 0x0f;
  9081. #line 1208 "rx-decode.opc"
  9082. int s AU = op[2] & 0x01;
  9083. if (trace)
  9084. {
  9085. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9086. "/** 1111 1001 0000 0011 rdst 001s dmov%s #%1, %0 */",
  9087. op[0], op[1], op[2]);
  9088. printf (" rdst = 0x%x,", rdst);
  9089. printf (" s = 0x%x\n", s);
  9090. }
  9091. SYNTAX("dmov%s #%1, %0");
  9092. #line 1208 "rx-decode.opc"
  9093. ID(dmov); DDRH(rdst); DL(s); SC(IMMex(0)); F_____;
  9094. }
  9095. break;
  9096. default: UNSUPPORTED(); break;
  9097. }
  9098. break;
  9099. default: UNSUPPORTED(); break;
  9100. }
  9101. break;
  9102. case 0xfa:
  9103. GETBYTE ();
  9104. switch (op[1] & 0x00)
  9105. {
  9106. case 0x00:
  9107. goto op_semantics_60;
  9108. break;
  9109. }
  9110. break;
  9111. case 0xfb:
  9112. GETBYTE ();
  9113. switch (op[1] & 0x00)
  9114. {
  9115. case 0x00:
  9116. goto op_semantics_60;
  9117. break;
  9118. }
  9119. break;
  9120. case 0xfc:
  9121. GETBYTE ();
  9122. switch (op[1] & 0xff)
  9123. {
  9124. case 0x03:
  9125. GETBYTE ();
  9126. switch (op[2] & 0x00)
  9127. {
  9128. case 0x00:
  9129. {
  9130. /** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */
  9131. #line 576 "rx-decode.opc"
  9132. int rsrc AU = (op[2] >> 4) & 0x0f;
  9133. #line 576 "rx-decode.opc"
  9134. int rdst AU = op[2] & 0x0f;
  9135. if (trace)
  9136. {
  9137. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9138. "/** 1111 1100 0000 0011 rsrc rdst sbb %1, %0 */",
  9139. op[0], op[1], op[2]);
  9140. printf (" rsrc = 0x%x,", rsrc);
  9141. printf (" rdst = 0x%x\n", rdst);
  9142. }
  9143. SYNTAX("sbb %1, %0");
  9144. #line 576 "rx-decode.opc"
  9145. ID(sbb); SR (rsrc); DR(rdst); F_OSZC;
  9146. /* FIXME: only supports .L */
  9147. }
  9148. break;
  9149. }
  9150. break;
  9151. case 0x07:
  9152. GETBYTE ();
  9153. switch (op[2] & 0x00)
  9154. {
  9155. case 0x00:
  9156. {
  9157. /** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */
  9158. #line 507 "rx-decode.opc"
  9159. int rsrc AU = (op[2] >> 4) & 0x0f;
  9160. #line 507 "rx-decode.opc"
  9161. int rdst AU = op[2] & 0x0f;
  9162. if (trace)
  9163. {
  9164. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9165. "/** 1111 1100 0000 0111 rsrc rdst neg %2, %0 */",
  9166. op[0], op[1], op[2]);
  9167. printf (" rsrc = 0x%x,", rsrc);
  9168. printf (" rdst = 0x%x\n", rdst);
  9169. }
  9170. SYNTAX("neg %2, %0");
  9171. #line 507 "rx-decode.opc"
  9172. ID(sub); DR(rdst); SC(0); S2R(rsrc); F_OSZC;
  9173. /*----------------------------------------------------------------------*/
  9174. /* ADC */
  9175. }
  9176. break;
  9177. }
  9178. break;
  9179. case 0x0b:
  9180. GETBYTE ();
  9181. switch (op[2] & 0x00)
  9182. {
  9183. case 0x00:
  9184. {
  9185. /** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */
  9186. #line 516 "rx-decode.opc"
  9187. int rsrc AU = (op[2] >> 4) & 0x0f;
  9188. #line 516 "rx-decode.opc"
  9189. int rdst AU = op[2] & 0x0f;
  9190. if (trace)
  9191. {
  9192. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9193. "/** 1111 1100 0000 1011 rsrc rdst adc %1, %0 */",
  9194. op[0], op[1], op[2]);
  9195. printf (" rsrc = 0x%x,", rsrc);
  9196. printf (" rdst = 0x%x\n", rdst);
  9197. }
  9198. SYNTAX("adc %1, %0");
  9199. #line 516 "rx-decode.opc"
  9200. ID(adc); SR(rsrc); DR(rdst); F_OSZC;
  9201. }
  9202. break;
  9203. }
  9204. break;
  9205. case 0x0f:
  9206. GETBYTE ();
  9207. switch (op[2] & 0x00)
  9208. {
  9209. case 0x00:
  9210. {
  9211. /** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */
  9212. #line 589 "rx-decode.opc"
  9213. int rsrc AU = (op[2] >> 4) & 0x0f;
  9214. #line 589 "rx-decode.opc"
  9215. int rdst AU = op[2] & 0x0f;
  9216. if (trace)
  9217. {
  9218. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9219. "/** 1111 1100 0000 1111 rsrc rdst abs %1, %0 */",
  9220. op[0], op[1], op[2]);
  9221. printf (" rsrc = 0x%x,", rsrc);
  9222. printf (" rdst = 0x%x\n", rdst);
  9223. }
  9224. SYNTAX("abs %1, %0");
  9225. #line 589 "rx-decode.opc"
  9226. ID(abs); DR(rdst); SR(rsrc); F_OSZ_;
  9227. /*----------------------------------------------------------------------*/
  9228. /* MAX */
  9229. }
  9230. break;
  9231. }
  9232. break;
  9233. case 0x10:
  9234. GETBYTE ();
  9235. switch (op[2] & 0x00)
  9236. {
  9237. case 0x00:
  9238. op_semantics_61:
  9239. {
  9240. /** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */
  9241. #line 608 "rx-decode.opc"
  9242. int ss AU = op[1] & 0x03;
  9243. #line 608 "rx-decode.opc"
  9244. int rsrc AU = (op[2] >> 4) & 0x0f;
  9245. #line 608 "rx-decode.opc"
  9246. int rdst AU = op[2] & 0x0f;
  9247. if (trace)
  9248. {
  9249. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9250. "/** 1111 1100 0001 00ss rsrc rdst max %1%S1, %0 */",
  9251. op[0], op[1], op[2]);
  9252. printf (" ss = 0x%x,", ss);
  9253. printf (" rsrc = 0x%x,", rsrc);
  9254. printf (" rdst = 0x%x\n", rdst);
  9255. }
  9256. SYNTAX("max %1%S1, %0");
  9257. #line 608 "rx-decode.opc"
  9258. if (ss == 3 && rsrc == 0 && rdst == 0)
  9259. {
  9260. ID(nop3);
  9261. SYNTAX("nop\t; max\tr0, r0");
  9262. }
  9263. else
  9264. {
  9265. ID(max); SP(ss, rsrc); DR(rdst);
  9266. }
  9267. }
  9268. break;
  9269. }
  9270. break;
  9271. case 0x11:
  9272. GETBYTE ();
  9273. switch (op[2] & 0x00)
  9274. {
  9275. case 0x00:
  9276. goto op_semantics_61;
  9277. break;
  9278. }
  9279. break;
  9280. case 0x12:
  9281. GETBYTE ();
  9282. switch (op[2] & 0x00)
  9283. {
  9284. case 0x00:
  9285. goto op_semantics_61;
  9286. break;
  9287. }
  9288. break;
  9289. case 0x13:
  9290. GETBYTE ();
  9291. switch (op[2] & 0x00)
  9292. {
  9293. case 0x00:
  9294. goto op_semantics_61;
  9295. break;
  9296. }
  9297. break;
  9298. case 0x14:
  9299. GETBYTE ();
  9300. switch (op[2] & 0x00)
  9301. {
  9302. case 0x00:
  9303. op_semantics_62:
  9304. {
  9305. /** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */
  9306. #line 628 "rx-decode.opc"
  9307. int ss AU = op[1] & 0x03;
  9308. #line 628 "rx-decode.opc"
  9309. int rsrc AU = (op[2] >> 4) & 0x0f;
  9310. #line 628 "rx-decode.opc"
  9311. int rdst AU = op[2] & 0x0f;
  9312. if (trace)
  9313. {
  9314. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9315. "/** 1111 1100 0001 01ss rsrc rdst min %1%S1, %0 */",
  9316. op[0], op[1], op[2]);
  9317. printf (" ss = 0x%x,", ss);
  9318. printf (" rsrc = 0x%x,", rsrc);
  9319. printf (" rdst = 0x%x\n", rdst);
  9320. }
  9321. SYNTAX("min %1%S1, %0");
  9322. #line 628 "rx-decode.opc"
  9323. ID(min); SP(ss, rsrc); DR(rdst);
  9324. }
  9325. break;
  9326. }
  9327. break;
  9328. case 0x15:
  9329. GETBYTE ();
  9330. switch (op[2] & 0x00)
  9331. {
  9332. case 0x00:
  9333. goto op_semantics_62;
  9334. break;
  9335. }
  9336. break;
  9337. case 0x16:
  9338. GETBYTE ();
  9339. switch (op[2] & 0x00)
  9340. {
  9341. case 0x00:
  9342. goto op_semantics_62;
  9343. break;
  9344. }
  9345. break;
  9346. case 0x17:
  9347. GETBYTE ();
  9348. switch (op[2] & 0x00)
  9349. {
  9350. case 0x00:
  9351. goto op_semantics_62;
  9352. break;
  9353. }
  9354. break;
  9355. case 0x18:
  9356. GETBYTE ();
  9357. switch (op[2] & 0x00)
  9358. {
  9359. case 0x00:
  9360. op_semantics_63:
  9361. {
  9362. /** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */
  9363. #line 686 "rx-decode.opc"
  9364. int ss AU = op[1] & 0x03;
  9365. #line 686 "rx-decode.opc"
  9366. int rsrc AU = (op[2] >> 4) & 0x0f;
  9367. #line 686 "rx-decode.opc"
  9368. int rdst AU = op[2] & 0x0f;
  9369. if (trace)
  9370. {
  9371. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9372. "/** 1111 1100 0001 10ss rsrc rdst emul %1%S1, %0 */",
  9373. op[0], op[1], op[2]);
  9374. printf (" ss = 0x%x,", ss);
  9375. printf (" rsrc = 0x%x,", rsrc);
  9376. printf (" rdst = 0x%x\n", rdst);
  9377. }
  9378. SYNTAX("emul %1%S1, %0");
  9379. #line 686 "rx-decode.opc"
  9380. ID(emul); SP(ss, rsrc); DR(rdst);
  9381. }
  9382. break;
  9383. }
  9384. break;
  9385. case 0x19:
  9386. GETBYTE ();
  9387. switch (op[2] & 0x00)
  9388. {
  9389. case 0x00:
  9390. goto op_semantics_63;
  9391. break;
  9392. }
  9393. break;
  9394. case 0x1a:
  9395. GETBYTE ();
  9396. switch (op[2] & 0x00)
  9397. {
  9398. case 0x00:
  9399. goto op_semantics_63;
  9400. break;
  9401. }
  9402. break;
  9403. case 0x1b:
  9404. GETBYTE ();
  9405. switch (op[2] & 0x00)
  9406. {
  9407. case 0x00:
  9408. goto op_semantics_63;
  9409. break;
  9410. }
  9411. break;
  9412. case 0x1c:
  9413. GETBYTE ();
  9414. switch (op[2] & 0x00)
  9415. {
  9416. case 0x00:
  9417. op_semantics_64:
  9418. {
  9419. /** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */
  9420. #line 698 "rx-decode.opc"
  9421. int ss AU = op[1] & 0x03;
  9422. #line 698 "rx-decode.opc"
  9423. int rsrc AU = (op[2] >> 4) & 0x0f;
  9424. #line 698 "rx-decode.opc"
  9425. int rdst AU = op[2] & 0x0f;
  9426. if (trace)
  9427. {
  9428. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9429. "/** 1111 1100 0001 11ss rsrc rdst emulu %1%S1, %0 */",
  9430. op[0], op[1], op[2]);
  9431. printf (" ss = 0x%x,", ss);
  9432. printf (" rsrc = 0x%x,", rsrc);
  9433. printf (" rdst = 0x%x\n", rdst);
  9434. }
  9435. SYNTAX("emulu %1%S1, %0");
  9436. #line 698 "rx-decode.opc"
  9437. ID(emulu); SP(ss, rsrc); DR(rdst);
  9438. }
  9439. break;
  9440. }
  9441. break;
  9442. case 0x1d:
  9443. GETBYTE ();
  9444. switch (op[2] & 0x00)
  9445. {
  9446. case 0x00:
  9447. goto op_semantics_64;
  9448. break;
  9449. }
  9450. break;
  9451. case 0x1e:
  9452. GETBYTE ();
  9453. switch (op[2] & 0x00)
  9454. {
  9455. case 0x00:
  9456. goto op_semantics_64;
  9457. break;
  9458. }
  9459. break;
  9460. case 0x1f:
  9461. GETBYTE ();
  9462. switch (op[2] & 0x00)
  9463. {
  9464. case 0x00:
  9465. goto op_semantics_64;
  9466. break;
  9467. }
  9468. break;
  9469. case 0x20:
  9470. GETBYTE ();
  9471. switch (op[2] & 0x00)
  9472. {
  9473. case 0x00:
  9474. op_semantics_65:
  9475. {
  9476. /** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */
  9477. #line 710 "rx-decode.opc"
  9478. int ss AU = op[1] & 0x03;
  9479. #line 710 "rx-decode.opc"
  9480. int rsrc AU = (op[2] >> 4) & 0x0f;
  9481. #line 710 "rx-decode.opc"
  9482. int rdst AU = op[2] & 0x0f;
  9483. if (trace)
  9484. {
  9485. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9486. "/** 1111 1100 0010 00ss rsrc rdst div %1%S1, %0 */",
  9487. op[0], op[1], op[2]);
  9488. printf (" ss = 0x%x,", ss);
  9489. printf (" rsrc = 0x%x,", rsrc);
  9490. printf (" rdst = 0x%x\n", rdst);
  9491. }
  9492. SYNTAX("div %1%S1, %0");
  9493. #line 710 "rx-decode.opc"
  9494. ID(div); SP(ss, rsrc); DR(rdst); F_O___;
  9495. }
  9496. break;
  9497. }
  9498. break;
  9499. case 0x21:
  9500. GETBYTE ();
  9501. switch (op[2] & 0x00)
  9502. {
  9503. case 0x00:
  9504. goto op_semantics_65;
  9505. break;
  9506. }
  9507. break;
  9508. case 0x22:
  9509. GETBYTE ();
  9510. switch (op[2] & 0x00)
  9511. {
  9512. case 0x00:
  9513. goto op_semantics_65;
  9514. break;
  9515. }
  9516. break;
  9517. case 0x23:
  9518. GETBYTE ();
  9519. switch (op[2] & 0x00)
  9520. {
  9521. case 0x00:
  9522. goto op_semantics_65;
  9523. break;
  9524. }
  9525. break;
  9526. case 0x24:
  9527. GETBYTE ();
  9528. switch (op[2] & 0x00)
  9529. {
  9530. case 0x00:
  9531. op_semantics_66:
  9532. {
  9533. /** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */
  9534. #line 722 "rx-decode.opc"
  9535. int ss AU = op[1] & 0x03;
  9536. #line 722 "rx-decode.opc"
  9537. int rsrc AU = (op[2] >> 4) & 0x0f;
  9538. #line 722 "rx-decode.opc"
  9539. int rdst AU = op[2] & 0x0f;
  9540. if (trace)
  9541. {
  9542. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9543. "/** 1111 1100 0010 01ss rsrc rdst divu %1%S1, %0 */",
  9544. op[0], op[1], op[2]);
  9545. printf (" ss = 0x%x,", ss);
  9546. printf (" rsrc = 0x%x,", rsrc);
  9547. printf (" rdst = 0x%x\n", rdst);
  9548. }
  9549. SYNTAX("divu %1%S1, %0");
  9550. #line 722 "rx-decode.opc"
  9551. ID(divu); SP(ss, rsrc); DR(rdst); F_O___;
  9552. }
  9553. break;
  9554. }
  9555. break;
  9556. case 0x25:
  9557. GETBYTE ();
  9558. switch (op[2] & 0x00)
  9559. {
  9560. case 0x00:
  9561. goto op_semantics_66;
  9562. break;
  9563. }
  9564. break;
  9565. case 0x26:
  9566. GETBYTE ();
  9567. switch (op[2] & 0x00)
  9568. {
  9569. case 0x00:
  9570. goto op_semantics_66;
  9571. break;
  9572. }
  9573. break;
  9574. case 0x27:
  9575. GETBYTE ();
  9576. switch (op[2] & 0x00)
  9577. {
  9578. case 0x00:
  9579. goto op_semantics_66;
  9580. break;
  9581. }
  9582. break;
  9583. case 0x30:
  9584. GETBYTE ();
  9585. switch (op[2] & 0x00)
  9586. {
  9587. case 0x00:
  9588. op_semantics_67:
  9589. {
  9590. /** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */
  9591. #line 495 "rx-decode.opc"
  9592. int ss AU = op[1] & 0x03;
  9593. #line 495 "rx-decode.opc"
  9594. int rsrc AU = (op[2] >> 4) & 0x0f;
  9595. #line 495 "rx-decode.opc"
  9596. int rdst AU = op[2] & 0x0f;
  9597. if (trace)
  9598. {
  9599. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9600. "/** 1111 1100 0011 00ss rsrc rdst tst %1%S1, %2 */",
  9601. op[0], op[1], op[2]);
  9602. printf (" ss = 0x%x,", ss);
  9603. printf (" rsrc = 0x%x,", rsrc);
  9604. printf (" rdst = 0x%x\n", rdst);
  9605. }
  9606. SYNTAX("tst %1%S1, %2");
  9607. #line 495 "rx-decode.opc"
  9608. ID(and); SP(ss, rsrc); S2R(rdst); F__SZ_;
  9609. }
  9610. break;
  9611. }
  9612. break;
  9613. case 0x31:
  9614. GETBYTE ();
  9615. switch (op[2] & 0x00)
  9616. {
  9617. case 0x00:
  9618. goto op_semantics_67;
  9619. break;
  9620. }
  9621. break;
  9622. case 0x32:
  9623. GETBYTE ();
  9624. switch (op[2] & 0x00)
  9625. {
  9626. case 0x00:
  9627. goto op_semantics_67;
  9628. break;
  9629. }
  9630. break;
  9631. case 0x33:
  9632. GETBYTE ();
  9633. switch (op[2] & 0x00)
  9634. {
  9635. case 0x00:
  9636. goto op_semantics_67;
  9637. break;
  9638. }
  9639. break;
  9640. case 0x34:
  9641. GETBYTE ();
  9642. switch (op[2] & 0x00)
  9643. {
  9644. case 0x00:
  9645. op_semantics_68:
  9646. {
  9647. /** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */
  9648. #line 474 "rx-decode.opc"
  9649. int ss AU = op[1] & 0x03;
  9650. #line 474 "rx-decode.opc"
  9651. int rsrc AU = (op[2] >> 4) & 0x0f;
  9652. #line 474 "rx-decode.opc"
  9653. int rdst AU = op[2] & 0x0f;
  9654. if (trace)
  9655. {
  9656. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9657. "/** 1111 1100 0011 01ss rsrc rdst xor %1%S1, %0 */",
  9658. op[0], op[1], op[2]);
  9659. printf (" ss = 0x%x,", ss);
  9660. printf (" rsrc = 0x%x,", rsrc);
  9661. printf (" rdst = 0x%x\n", rdst);
  9662. }
  9663. SYNTAX("xor %1%S1, %0");
  9664. #line 474 "rx-decode.opc"
  9665. ID(xor); SP(ss, rsrc); DR(rdst); F__SZ_;
  9666. }
  9667. break;
  9668. }
  9669. break;
  9670. case 0x35:
  9671. GETBYTE ();
  9672. switch (op[2] & 0x00)
  9673. {
  9674. case 0x00:
  9675. goto op_semantics_68;
  9676. break;
  9677. }
  9678. break;
  9679. case 0x36:
  9680. GETBYTE ();
  9681. switch (op[2] & 0x00)
  9682. {
  9683. case 0x00:
  9684. goto op_semantics_68;
  9685. break;
  9686. }
  9687. break;
  9688. case 0x37:
  9689. GETBYTE ();
  9690. switch (op[2] & 0x00)
  9691. {
  9692. case 0x00:
  9693. goto op_semantics_68;
  9694. break;
  9695. }
  9696. break;
  9697. case 0x3b:
  9698. GETBYTE ();
  9699. switch (op[2] & 0x00)
  9700. {
  9701. case 0x00:
  9702. {
  9703. /** 1111 1100 0011 1011 rsrc rdst not %1, %0 */
  9704. #line 486 "rx-decode.opc"
  9705. int rsrc AU = (op[2] >> 4) & 0x0f;
  9706. #line 486 "rx-decode.opc"
  9707. int rdst AU = op[2] & 0x0f;
  9708. if (trace)
  9709. {
  9710. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9711. "/** 1111 1100 0011 1011 rsrc rdst not %1, %0 */",
  9712. op[0], op[1], op[2]);
  9713. printf (" rsrc = 0x%x,", rsrc);
  9714. printf (" rdst = 0x%x\n", rdst);
  9715. }
  9716. SYNTAX("not %1, %0");
  9717. #line 486 "rx-decode.opc"
  9718. ID(xor); DR(rdst); SR(rsrc); S2C(~0); F__SZ_;
  9719. /*----------------------------------------------------------------------*/
  9720. /* TST */
  9721. }
  9722. break;
  9723. }
  9724. break;
  9725. case 0x40:
  9726. GETBYTE ();
  9727. switch (op[2] & 0x00)
  9728. {
  9729. case 0x00:
  9730. op_semantics_69:
  9731. {
  9732. /** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */
  9733. #line 408 "rx-decode.opc"
  9734. int ss AU = op[1] & 0x03;
  9735. #line 408 "rx-decode.opc"
  9736. int rsrc AU = (op[2] >> 4) & 0x0f;
  9737. #line 408 "rx-decode.opc"
  9738. int rdst AU = op[2] & 0x0f;
  9739. if (trace)
  9740. {
  9741. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9742. "/** 1111 1100 0100 00ss rsrc rdst xchg %1%S1, %0 */",
  9743. op[0], op[1], op[2]);
  9744. printf (" ss = 0x%x,", ss);
  9745. printf (" rsrc = 0x%x,", rsrc);
  9746. printf (" rdst = 0x%x\n", rdst);
  9747. }
  9748. SYNTAX("xchg %1%S1, %0");
  9749. #line 408 "rx-decode.opc"
  9750. ID(xchg); DR(rdst); SP(ss, rsrc);
  9751. }
  9752. break;
  9753. }
  9754. break;
  9755. case 0x41:
  9756. GETBYTE ();
  9757. switch (op[2] & 0x00)
  9758. {
  9759. case 0x00:
  9760. goto op_semantics_69;
  9761. break;
  9762. }
  9763. break;
  9764. case 0x42:
  9765. GETBYTE ();
  9766. switch (op[2] & 0x00)
  9767. {
  9768. case 0x00:
  9769. goto op_semantics_69;
  9770. break;
  9771. }
  9772. break;
  9773. case 0x43:
  9774. GETBYTE ();
  9775. switch (op[2] & 0x00)
  9776. {
  9777. case 0x00:
  9778. goto op_semantics_69;
  9779. break;
  9780. }
  9781. break;
  9782. case 0x44:
  9783. GETBYTE ();
  9784. switch (op[2] & 0x00)
  9785. {
  9786. case 0x00:
  9787. op_semantics_70:
  9788. {
  9789. /** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */
  9790. #line 951 "rx-decode.opc"
  9791. int sd AU = op[1] & 0x03;
  9792. #line 951 "rx-decode.opc"
  9793. int rsrc AU = (op[2] >> 4) & 0x0f;
  9794. #line 951 "rx-decode.opc"
  9795. int rdst AU = op[2] & 0x0f;
  9796. if (trace)
  9797. {
  9798. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9799. "/** 1111 1100 0100 01sd rsrc rdst itof %1%S1, %0 */",
  9800. op[0], op[1], op[2]);
  9801. printf (" sd = 0x%x,", sd);
  9802. printf (" rsrc = 0x%x,", rsrc);
  9803. printf (" rdst = 0x%x\n", rdst);
  9804. }
  9805. SYNTAX("itof %1%S1, %0");
  9806. #line 951 "rx-decode.opc"
  9807. ID(itof); DR (rdst); SP(sd, rsrc); F__SZ_;
  9808. }
  9809. break;
  9810. }
  9811. break;
  9812. case 0x45:
  9813. GETBYTE ();
  9814. switch (op[2] & 0x00)
  9815. {
  9816. case 0x00:
  9817. goto op_semantics_70;
  9818. break;
  9819. }
  9820. break;
  9821. case 0x46:
  9822. GETBYTE ();
  9823. switch (op[2] & 0x00)
  9824. {
  9825. case 0x00:
  9826. goto op_semantics_70;
  9827. break;
  9828. }
  9829. break;
  9830. case 0x47:
  9831. GETBYTE ();
  9832. switch (op[2] & 0x00)
  9833. {
  9834. case 0x00:
  9835. goto op_semantics_70;
  9836. break;
  9837. }
  9838. break;
  9839. case 0x4b:
  9840. GETBYTE ();
  9841. switch (op[2] & 0x00)
  9842. {
  9843. case 0x00:
  9844. {
  9845. /** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */
  9846. #line 1077 "rx-decode.opc"
  9847. int rsrc AU = (op[2] >> 4) & 0x0f;
  9848. #line 1077 "rx-decode.opc"
  9849. int rdst AU = op[2] & 0x0f;
  9850. if (trace)
  9851. {
  9852. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9853. "/** 1111 1100 0100 1011 rsrc rdst stz %1, %0 */",
  9854. op[0], op[1], op[2]);
  9855. printf (" rsrc = 0x%x,", rsrc);
  9856. printf (" rdst = 0x%x\n", rdst);
  9857. }
  9858. SYNTAX("stz %1, %0");
  9859. #line 1077 "rx-decode.opc"
  9860. ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_z);
  9861. }
  9862. break;
  9863. }
  9864. break;
  9865. case 0x4f:
  9866. GETBYTE ();
  9867. switch (op[2] & 0x00)
  9868. {
  9869. case 0x00:
  9870. {
  9871. /** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */
  9872. #line 1080 "rx-decode.opc"
  9873. int rsrc AU = (op[2] >> 4) & 0x0f;
  9874. #line 1080 "rx-decode.opc"
  9875. int rdst AU = op[2] & 0x0f;
  9876. if (trace)
  9877. {
  9878. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9879. "/** 1111 1100 0100 1111 rsrc rdst stnz %1, %0 */",
  9880. op[0], op[1], op[2]);
  9881. printf (" rsrc = 0x%x,", rsrc);
  9882. printf (" rdst = 0x%x\n", rdst);
  9883. }
  9884. SYNTAX("stnz %1, %0");
  9885. #line 1080 "rx-decode.opc"
  9886. ID(stcc); SR(rsrc); DR(rdst); S2cc(RXC_nz);
  9887. }
  9888. break;
  9889. }
  9890. break;
  9891. case 0x54:
  9892. GETBYTE ();
  9893. switch (op[2] & 0x00)
  9894. {
  9895. case 0x00:
  9896. op_semantics_71:
  9897. {
  9898. /** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */
  9899. #line 1137 "rx-decode.opc"
  9900. int sd AU = op[1] & 0x03;
  9901. #line 1137 "rx-decode.opc"
  9902. int rsrc AU = (op[2] >> 4) & 0x0f;
  9903. #line 1137 "rx-decode.opc"
  9904. int rdst AU = op[2] & 0x0f;
  9905. if (trace)
  9906. {
  9907. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9908. "/** 1111 1100 0101 01sd rsrc rdst utof %1%S1, %0 */",
  9909. op[0], op[1], op[2]);
  9910. printf (" sd = 0x%x,", sd);
  9911. printf (" rsrc = 0x%x,", rsrc);
  9912. printf (" rdst = 0x%x\n", rdst);
  9913. }
  9914. SYNTAX("utof %1%S1, %0");
  9915. #line 1137 "rx-decode.opc"
  9916. ID(utof); DR (rdst); SP(sd, rsrc); F__SZ_;
  9917. }
  9918. break;
  9919. }
  9920. break;
  9921. case 0x55:
  9922. GETBYTE ();
  9923. switch (op[2] & 0x00)
  9924. {
  9925. case 0x00:
  9926. goto op_semantics_71;
  9927. break;
  9928. }
  9929. break;
  9930. case 0x56:
  9931. GETBYTE ();
  9932. switch (op[2] & 0x00)
  9933. {
  9934. case 0x00:
  9935. goto op_semantics_71;
  9936. break;
  9937. }
  9938. break;
  9939. case 0x57:
  9940. GETBYTE ();
  9941. switch (op[2] & 0x00)
  9942. {
  9943. case 0x00:
  9944. goto op_semantics_71;
  9945. break;
  9946. }
  9947. break;
  9948. case 0x5a:
  9949. GETBYTE ();
  9950. switch (op[2] & 0x00)
  9951. {
  9952. case 0x00:
  9953. {
  9954. /** 1111 1100 0101 1010 rsrc rdst bfmovz %bf */
  9955. #line 1152 "rx-decode.opc"
  9956. int rsrc AU = (op[2] >> 4) & 0x0f;
  9957. #line 1152 "rx-decode.opc"
  9958. int rdst AU = op[2] & 0x0f;
  9959. if (trace)
  9960. {
  9961. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9962. "/** 1111 1100 0101 1010 rsrc rdst bfmovz %bf */",
  9963. op[0], op[1], op[2]);
  9964. printf (" rsrc = 0x%x,", rsrc);
  9965. printf (" rdst = 0x%x\n", rdst);
  9966. }
  9967. SYNTAX("bfmovz %bf");
  9968. #line 1152 "rx-decode.opc"
  9969. ID(bfmovz); DR(rdst); SR(rsrc); S2C(IMM(2)); F_____;
  9970. }
  9971. break;
  9972. }
  9973. break;
  9974. case 0x5e:
  9975. GETBYTE ();
  9976. switch (op[2] & 0x00)
  9977. {
  9978. case 0x00:
  9979. {
  9980. /** 1111 1100 0101 1110 rsrc rdst bfmov %bf */
  9981. #line 1149 "rx-decode.opc"
  9982. int rsrc AU = (op[2] >> 4) & 0x0f;
  9983. #line 1149 "rx-decode.opc"
  9984. int rdst AU = op[2] & 0x0f;
  9985. if (trace)
  9986. {
  9987. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  9988. "/** 1111 1100 0101 1110 rsrc rdst bfmov %bf */",
  9989. op[0], op[1], op[2]);
  9990. printf (" rsrc = 0x%x,", rsrc);
  9991. printf (" rdst = 0x%x\n", rdst);
  9992. }
  9993. SYNTAX("bfmov %bf");
  9994. #line 1149 "rx-decode.opc"
  9995. ID(bfmov); DR(rdst); SR(rsrc); S2C(IMM(2)); F_____;
  9996. }
  9997. break;
  9998. }
  9999. break;
  10000. case 0x60:
  10001. GETBYTE ();
  10002. switch (op[2] & 0x00)
  10003. {
  10004. case 0x00:
  10005. op_semantics_72:
  10006. {
  10007. /** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */
  10008. #line 963 "rx-decode.opc"
  10009. int sd AU = op[1] & 0x03;
  10010. #line 963 "rx-decode.opc"
  10011. int rdst AU = (op[2] >> 4) & 0x0f;
  10012. #line 963 "rx-decode.opc"
  10013. int rsrc AU = op[2] & 0x0f;
  10014. if (trace)
  10015. {
  10016. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10017. "/** 1111 1100 0110 00sd rdst rsrc bset %1, %0%S0 */",
  10018. op[0], op[1], op[2]);
  10019. printf (" sd = 0x%x,", sd);
  10020. printf (" rdst = 0x%x,", rdst);
  10021. printf (" rsrc = 0x%x\n", rsrc);
  10022. }
  10023. SYNTAX("bset %1, %0%S0");
  10024. #line 963 "rx-decode.opc"
  10025. ID(bset); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
  10026. if (sd == 3) /* bset reg,reg */
  10027. BWL(LSIZE);
  10028. }
  10029. break;
  10030. }
  10031. break;
  10032. case 0x61:
  10033. GETBYTE ();
  10034. switch (op[2] & 0x00)
  10035. {
  10036. case 0x00:
  10037. goto op_semantics_72;
  10038. break;
  10039. }
  10040. break;
  10041. case 0x62:
  10042. GETBYTE ();
  10043. switch (op[2] & 0x00)
  10044. {
  10045. case 0x00:
  10046. goto op_semantics_72;
  10047. break;
  10048. }
  10049. break;
  10050. case 0x63:
  10051. GETBYTE ();
  10052. switch (op[2] & 0x00)
  10053. {
  10054. case 0x00:
  10055. goto op_semantics_72;
  10056. break;
  10057. }
  10058. break;
  10059. case 0x64:
  10060. GETBYTE ();
  10061. switch (op[2] & 0x00)
  10062. {
  10063. case 0x00:
  10064. op_semantics_73:
  10065. {
  10066. /** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */
  10067. #line 975 "rx-decode.opc"
  10068. int sd AU = op[1] & 0x03;
  10069. #line 975 "rx-decode.opc"
  10070. int rdst AU = (op[2] >> 4) & 0x0f;
  10071. #line 975 "rx-decode.opc"
  10072. int rsrc AU = op[2] & 0x0f;
  10073. if (trace)
  10074. {
  10075. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10076. "/** 1111 1100 0110 01sd rdst rsrc bclr %1, %0%S0 */",
  10077. op[0], op[1], op[2]);
  10078. printf (" sd = 0x%x,", sd);
  10079. printf (" rdst = 0x%x,", rdst);
  10080. printf (" rsrc = 0x%x\n", rsrc);
  10081. }
  10082. SYNTAX("bclr %1, %0%S0");
  10083. #line 975 "rx-decode.opc"
  10084. ID(bclr); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE); F_____;
  10085. if (sd == 3) /* bset reg,reg */
  10086. BWL(LSIZE);
  10087. }
  10088. break;
  10089. }
  10090. break;
  10091. case 0x65:
  10092. GETBYTE ();
  10093. switch (op[2] & 0x00)
  10094. {
  10095. case 0x00:
  10096. goto op_semantics_73;
  10097. break;
  10098. }
  10099. break;
  10100. case 0x66:
  10101. GETBYTE ();
  10102. switch (op[2] & 0x00)
  10103. {
  10104. case 0x00:
  10105. goto op_semantics_73;
  10106. break;
  10107. }
  10108. break;
  10109. case 0x67:
  10110. GETBYTE ();
  10111. switch (op[2] & 0x00)
  10112. {
  10113. case 0x00:
  10114. goto op_semantics_73;
  10115. break;
  10116. }
  10117. break;
  10118. case 0x68:
  10119. GETBYTE ();
  10120. switch (op[2] & 0x00)
  10121. {
  10122. case 0x00:
  10123. op_semantics_74:
  10124. {
  10125. /** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */
  10126. #line 987 "rx-decode.opc"
  10127. int sd AU = op[1] & 0x03;
  10128. #line 987 "rx-decode.opc"
  10129. int rdst AU = (op[2] >> 4) & 0x0f;
  10130. #line 987 "rx-decode.opc"
  10131. int rsrc AU = op[2] & 0x0f;
  10132. if (trace)
  10133. {
  10134. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10135. "/** 1111 1100 0110 10sd rdst rsrc btst %2, %1%S1 */",
  10136. op[0], op[1], op[2]);
  10137. printf (" sd = 0x%x,", sd);
  10138. printf (" rdst = 0x%x,", rdst);
  10139. printf (" rsrc = 0x%x\n", rsrc);
  10140. }
  10141. SYNTAX("btst %2, %1%S1");
  10142. #line 987 "rx-decode.opc"
  10143. ID(btst); BWL(BSIZE); S2R(rsrc); SD(sd, rdst, BSIZE); F___ZC;
  10144. if (sd == 3) /* bset reg,reg */
  10145. BWL(LSIZE);
  10146. }
  10147. break;
  10148. }
  10149. break;
  10150. case 0x69:
  10151. GETBYTE ();
  10152. switch (op[2] & 0x00)
  10153. {
  10154. case 0x00:
  10155. goto op_semantics_74;
  10156. break;
  10157. }
  10158. break;
  10159. case 0x6a:
  10160. GETBYTE ();
  10161. switch (op[2] & 0x00)
  10162. {
  10163. case 0x00:
  10164. goto op_semantics_74;
  10165. break;
  10166. }
  10167. break;
  10168. case 0x6b:
  10169. GETBYTE ();
  10170. switch (op[2] & 0x00)
  10171. {
  10172. case 0x00:
  10173. goto op_semantics_74;
  10174. break;
  10175. }
  10176. break;
  10177. case 0x6c:
  10178. GETBYTE ();
  10179. switch (op[2] & 0x00)
  10180. {
  10181. case 0x00:
  10182. op_semantics_75:
  10183. {
  10184. /** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */
  10185. #line 999 "rx-decode.opc"
  10186. int sd AU = op[1] & 0x03;
  10187. #line 999 "rx-decode.opc"
  10188. int rdst AU = (op[2] >> 4) & 0x0f;
  10189. #line 999 "rx-decode.opc"
  10190. int rsrc AU = op[2] & 0x0f;
  10191. if (trace)
  10192. {
  10193. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10194. "/** 1111 1100 0110 11sd rdst rsrc bnot %1, %0%S0 */",
  10195. op[0], op[1], op[2]);
  10196. printf (" sd = 0x%x,", sd);
  10197. printf (" rdst = 0x%x,", rdst);
  10198. printf (" rsrc = 0x%x\n", rsrc);
  10199. }
  10200. SYNTAX("bnot %1, %0%S0");
  10201. #line 999 "rx-decode.opc"
  10202. ID(bnot); BWL(BSIZE); SR(rsrc); DD(sd, rdst, BSIZE);
  10203. if (sd == 3) /* bset reg,reg */
  10204. BWL(LSIZE);
  10205. }
  10206. break;
  10207. }
  10208. break;
  10209. case 0x6d:
  10210. GETBYTE ();
  10211. switch (op[2] & 0x00)
  10212. {
  10213. case 0x00:
  10214. goto op_semantics_75;
  10215. break;
  10216. }
  10217. break;
  10218. case 0x6e:
  10219. GETBYTE ();
  10220. switch (op[2] & 0x00)
  10221. {
  10222. case 0x00:
  10223. goto op_semantics_75;
  10224. break;
  10225. }
  10226. break;
  10227. case 0x6f:
  10228. GETBYTE ();
  10229. switch (op[2] & 0x00)
  10230. {
  10231. case 0x00:
  10232. goto op_semantics_75;
  10233. break;
  10234. }
  10235. break;
  10236. case 0x78:
  10237. GETBYTE ();
  10238. switch (op[2] & 0x0f)
  10239. {
  10240. case 0x08:
  10241. op_semantics_76:
  10242. {
  10243. /** 1111 1100 0111 10sz rdst 1000 dmov.d %1, %0 */
  10244. #line 1185 "rx-decode.opc"
  10245. int sz AU = op[1] & 0x03;
  10246. #line 1185 "rx-decode.opc"
  10247. int rdst AU = (op[2] >> 4) & 0x0f;
  10248. if (trace)
  10249. {
  10250. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10251. "/** 1111 1100 0111 10sz rdst 1000 dmov.d %1, %0 */",
  10252. op[0], op[1], op[2]);
  10253. printf (" sz = 0x%x,", sz);
  10254. printf (" rdst = 0x%x\n", rdst);
  10255. }
  10256. SYNTAX("dmov.d %1, %0");
  10257. #line 1185 "rx-decode.opc"
  10258. int rsrc;
  10259. rx_disp(0, sz, rdst, RX_Double, ld);
  10260. rsrc = GETBYTE();
  10261. if (rsrc & 0x0f)
  10262. UNSUPPORTED();
  10263. else {
  10264. ID(dmov); SDR(rsrc >> 4); F_____;
  10265. }
  10266. }
  10267. break;
  10268. default: UNSUPPORTED(); break;
  10269. }
  10270. break;
  10271. case 0x79:
  10272. GETBYTE ();
  10273. switch (op[2] & 0x0f)
  10274. {
  10275. case 0x08:
  10276. goto op_semantics_76;
  10277. break;
  10278. default: UNSUPPORTED(); break;
  10279. }
  10280. break;
  10281. case 0x7a:
  10282. GETBYTE ();
  10283. switch (op[2] & 0x0f)
  10284. {
  10285. case 0x08:
  10286. goto op_semantics_76;
  10287. break;
  10288. default: UNSUPPORTED(); break;
  10289. }
  10290. break;
  10291. case 0x80:
  10292. GETBYTE ();
  10293. switch (op[2] & 0x00)
  10294. {
  10295. case 0x00:
  10296. op_semantics_77:
  10297. {
  10298. /** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */
  10299. #line 930 "rx-decode.opc"
  10300. int sd AU = op[1] & 0x03;
  10301. #line 930 "rx-decode.opc"
  10302. int rsrc AU = (op[2] >> 4) & 0x0f;
  10303. #line 930 "rx-decode.opc"
  10304. int rdst AU = op[2] & 0x0f;
  10305. if (trace)
  10306. {
  10307. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10308. "/** 1111 1100 1000 00sd rsrc rdst fsub %1%S1, %0 */",
  10309. op[0], op[1], op[2]);
  10310. printf (" sd = 0x%x,", sd);
  10311. printf (" rsrc = 0x%x,", rsrc);
  10312. printf (" rdst = 0x%x\n", rdst);
  10313. }
  10314. SYNTAX("fsub %1%S1, %0");
  10315. #line 930 "rx-decode.opc"
  10316. ID(fsub); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
  10317. }
  10318. break;
  10319. }
  10320. break;
  10321. case 0x81:
  10322. GETBYTE ();
  10323. switch (op[2] & 0x00)
  10324. {
  10325. case 0x00:
  10326. goto op_semantics_77;
  10327. break;
  10328. }
  10329. break;
  10330. case 0x82:
  10331. GETBYTE ();
  10332. switch (op[2] & 0x00)
  10333. {
  10334. case 0x00:
  10335. goto op_semantics_77;
  10336. break;
  10337. }
  10338. break;
  10339. case 0x83:
  10340. GETBYTE ();
  10341. switch (op[2] & 0x00)
  10342. {
  10343. case 0x00:
  10344. goto op_semantics_77;
  10345. break;
  10346. }
  10347. break;
  10348. case 0x84:
  10349. GETBYTE ();
  10350. switch (op[2] & 0x00)
  10351. {
  10352. case 0x00:
  10353. op_semantics_78:
  10354. {
  10355. /** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */
  10356. #line 924 "rx-decode.opc"
  10357. int sd AU = op[1] & 0x03;
  10358. #line 924 "rx-decode.opc"
  10359. int rsrc AU = (op[2] >> 4) & 0x0f;
  10360. #line 924 "rx-decode.opc"
  10361. int rdst AU = op[2] & 0x0f;
  10362. if (trace)
  10363. {
  10364. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10365. "/** 1111 1100 1000 01sd rsrc rdst fcmp %1%S1, %0 */",
  10366. op[0], op[1], op[2]);
  10367. printf (" sd = 0x%x,", sd);
  10368. printf (" rsrc = 0x%x,", rsrc);
  10369. printf (" rdst = 0x%x\n", rdst);
  10370. }
  10371. SYNTAX("fcmp %1%S1, %0");
  10372. #line 924 "rx-decode.opc"
  10373. ID(fcmp); DR(rdst); SD(sd, rsrc, LSIZE); F_OSZ_;
  10374. }
  10375. break;
  10376. }
  10377. break;
  10378. case 0x85:
  10379. GETBYTE ();
  10380. switch (op[2] & 0x00)
  10381. {
  10382. case 0x00:
  10383. goto op_semantics_78;
  10384. break;
  10385. }
  10386. break;
  10387. case 0x86:
  10388. GETBYTE ();
  10389. switch (op[2] & 0x00)
  10390. {
  10391. case 0x00:
  10392. goto op_semantics_78;
  10393. break;
  10394. }
  10395. break;
  10396. case 0x87:
  10397. GETBYTE ();
  10398. switch (op[2] & 0x00)
  10399. {
  10400. case 0x00:
  10401. goto op_semantics_78;
  10402. break;
  10403. }
  10404. break;
  10405. case 0x88:
  10406. GETBYTE ();
  10407. switch (op[2] & 0x00)
  10408. {
  10409. case 0x00:
  10410. op_semantics_79:
  10411. {
  10412. /** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */
  10413. #line 918 "rx-decode.opc"
  10414. int sd AU = op[1] & 0x03;
  10415. #line 918 "rx-decode.opc"
  10416. int rsrc AU = (op[2] >> 4) & 0x0f;
  10417. #line 918 "rx-decode.opc"
  10418. int rdst AU = op[2] & 0x0f;
  10419. if (trace)
  10420. {
  10421. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10422. "/** 1111 1100 1000 10sd rsrc rdst fadd %1%S1, %0 */",
  10423. op[0], op[1], op[2]);
  10424. printf (" sd = 0x%x,", sd);
  10425. printf (" rsrc = 0x%x,", rsrc);
  10426. printf (" rdst = 0x%x\n", rdst);
  10427. }
  10428. SYNTAX("fadd %1%S1, %0");
  10429. #line 918 "rx-decode.opc"
  10430. ID(fadd); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
  10431. }
  10432. break;
  10433. }
  10434. break;
  10435. case 0x89:
  10436. GETBYTE ();
  10437. switch (op[2] & 0x00)
  10438. {
  10439. case 0x00:
  10440. goto op_semantics_79;
  10441. break;
  10442. }
  10443. break;
  10444. case 0x8a:
  10445. GETBYTE ();
  10446. switch (op[2] & 0x00)
  10447. {
  10448. case 0x00:
  10449. goto op_semantics_79;
  10450. break;
  10451. }
  10452. break;
  10453. case 0x8b:
  10454. GETBYTE ();
  10455. switch (op[2] & 0x00)
  10456. {
  10457. case 0x00:
  10458. goto op_semantics_79;
  10459. break;
  10460. }
  10461. break;
  10462. case 0x8c:
  10463. GETBYTE ();
  10464. switch (op[2] & 0x00)
  10465. {
  10466. case 0x00:
  10467. op_semantics_80:
  10468. {
  10469. /** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */
  10470. #line 939 "rx-decode.opc"
  10471. int sd AU = op[1] & 0x03;
  10472. #line 939 "rx-decode.opc"
  10473. int rsrc AU = (op[2] >> 4) & 0x0f;
  10474. #line 939 "rx-decode.opc"
  10475. int rdst AU = op[2] & 0x0f;
  10476. if (trace)
  10477. {
  10478. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10479. "/** 1111 1100 1000 11sd rsrc rdst fmul %1%S1, %0 */",
  10480. op[0], op[1], op[2]);
  10481. printf (" sd = 0x%x,", sd);
  10482. printf (" rsrc = 0x%x,", rsrc);
  10483. printf (" rdst = 0x%x\n", rdst);
  10484. }
  10485. SYNTAX("fmul %1%S1, %0");
  10486. #line 939 "rx-decode.opc"
  10487. ID(fmul); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
  10488. }
  10489. break;
  10490. }
  10491. break;
  10492. case 0x8d:
  10493. GETBYTE ();
  10494. switch (op[2] & 0x00)
  10495. {
  10496. case 0x00:
  10497. goto op_semantics_80;
  10498. break;
  10499. }
  10500. break;
  10501. case 0x8e:
  10502. GETBYTE ();
  10503. switch (op[2] & 0x00)
  10504. {
  10505. case 0x00:
  10506. goto op_semantics_80;
  10507. break;
  10508. }
  10509. break;
  10510. case 0x8f:
  10511. GETBYTE ();
  10512. switch (op[2] & 0x00)
  10513. {
  10514. case 0x00:
  10515. goto op_semantics_80;
  10516. break;
  10517. }
  10518. break;
  10519. case 0x90:
  10520. GETBYTE ();
  10521. switch (op[2] & 0x00)
  10522. {
  10523. case 0x00:
  10524. op_semantics_81:
  10525. {
  10526. /** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */
  10527. #line 945 "rx-decode.opc"
  10528. int sd AU = op[1] & 0x03;
  10529. #line 945 "rx-decode.opc"
  10530. int rsrc AU = (op[2] >> 4) & 0x0f;
  10531. #line 945 "rx-decode.opc"
  10532. int rdst AU = op[2] & 0x0f;
  10533. if (trace)
  10534. {
  10535. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10536. "/** 1111 1100 1001 00sd rsrc rdst fdiv %1%S1, %0 */",
  10537. op[0], op[1], op[2]);
  10538. printf (" sd = 0x%x,", sd);
  10539. printf (" rsrc = 0x%x,", rsrc);
  10540. printf (" rdst = 0x%x\n", rdst);
  10541. }
  10542. SYNTAX("fdiv %1%S1, %0");
  10543. #line 945 "rx-decode.opc"
  10544. ID(fdiv); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
  10545. }
  10546. break;
  10547. }
  10548. break;
  10549. case 0x91:
  10550. GETBYTE ();
  10551. switch (op[2] & 0x00)
  10552. {
  10553. case 0x00:
  10554. goto op_semantics_81;
  10555. break;
  10556. }
  10557. break;
  10558. case 0x92:
  10559. GETBYTE ();
  10560. switch (op[2] & 0x00)
  10561. {
  10562. case 0x00:
  10563. goto op_semantics_81;
  10564. break;
  10565. }
  10566. break;
  10567. case 0x93:
  10568. GETBYTE ();
  10569. switch (op[2] & 0x00)
  10570. {
  10571. case 0x00:
  10572. goto op_semantics_81;
  10573. break;
  10574. }
  10575. break;
  10576. case 0x94:
  10577. GETBYTE ();
  10578. switch (op[2] & 0x00)
  10579. {
  10580. case 0x00:
  10581. op_semantics_82:
  10582. {
  10583. /** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */
  10584. #line 933 "rx-decode.opc"
  10585. int sd AU = op[1] & 0x03;
  10586. #line 933 "rx-decode.opc"
  10587. int rsrc AU = (op[2] >> 4) & 0x0f;
  10588. #line 933 "rx-decode.opc"
  10589. int rdst AU = op[2] & 0x0f;
  10590. if (trace)
  10591. {
  10592. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10593. "/** 1111 1100 1001 01sd rsrc rdst ftoi %1%S1, %0 */",
  10594. op[0], op[1], op[2]);
  10595. printf (" sd = 0x%x,", sd);
  10596. printf (" rsrc = 0x%x,", rsrc);
  10597. printf (" rdst = 0x%x\n", rdst);
  10598. }
  10599. SYNTAX("ftoi %1%S1, %0");
  10600. #line 933 "rx-decode.opc"
  10601. ID(ftoi); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
  10602. }
  10603. break;
  10604. }
  10605. break;
  10606. case 0x95:
  10607. GETBYTE ();
  10608. switch (op[2] & 0x00)
  10609. {
  10610. case 0x00:
  10611. goto op_semantics_82;
  10612. break;
  10613. }
  10614. break;
  10615. case 0x96:
  10616. GETBYTE ();
  10617. switch (op[2] & 0x00)
  10618. {
  10619. case 0x00:
  10620. goto op_semantics_82;
  10621. break;
  10622. }
  10623. break;
  10624. case 0x97:
  10625. GETBYTE ();
  10626. switch (op[2] & 0x00)
  10627. {
  10628. case 0x00:
  10629. goto op_semantics_82;
  10630. break;
  10631. }
  10632. break;
  10633. case 0x98:
  10634. GETBYTE ();
  10635. switch (op[2] & 0x00)
  10636. {
  10637. case 0x00:
  10638. op_semantics_83:
  10639. {
  10640. /** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */
  10641. #line 948 "rx-decode.opc"
  10642. int sd AU = op[1] & 0x03;
  10643. #line 948 "rx-decode.opc"
  10644. int rsrc AU = (op[2] >> 4) & 0x0f;
  10645. #line 948 "rx-decode.opc"
  10646. int rdst AU = op[2] & 0x0f;
  10647. if (trace)
  10648. {
  10649. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10650. "/** 1111 1100 1001 10sd rsrc rdst round %1%S1, %0 */",
  10651. op[0], op[1], op[2]);
  10652. printf (" sd = 0x%x,", sd);
  10653. printf (" rsrc = 0x%x,", rsrc);
  10654. printf (" rdst = 0x%x\n", rdst);
  10655. }
  10656. SYNTAX("round %1%S1, %0");
  10657. #line 948 "rx-decode.opc"
  10658. ID(round); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
  10659. }
  10660. break;
  10661. }
  10662. break;
  10663. case 0x99:
  10664. GETBYTE ();
  10665. switch (op[2] & 0x00)
  10666. {
  10667. case 0x00:
  10668. goto op_semantics_83;
  10669. break;
  10670. }
  10671. break;
  10672. case 0x9a:
  10673. GETBYTE ();
  10674. switch (op[2] & 0x00)
  10675. {
  10676. case 0x00:
  10677. goto op_semantics_83;
  10678. break;
  10679. }
  10680. break;
  10681. case 0x9b:
  10682. GETBYTE ();
  10683. switch (op[2] & 0x00)
  10684. {
  10685. case 0x00:
  10686. goto op_semantics_83;
  10687. break;
  10688. }
  10689. break;
  10690. case 0xa0:
  10691. GETBYTE ();
  10692. switch (op[2] & 0x00)
  10693. {
  10694. case 0x00:
  10695. op_semantics_84:
  10696. {
  10697. /** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */
  10698. #line 1131 "rx-decode.opc"
  10699. int sd AU = op[1] & 0x03;
  10700. #line 1131 "rx-decode.opc"
  10701. int rsrc AU = (op[2] >> 4) & 0x0f;
  10702. #line 1131 "rx-decode.opc"
  10703. int rdst AU = op[2] & 0x0f;
  10704. if (trace)
  10705. {
  10706. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10707. "/** 1111 1100 1010 00sd rsrc rdst fsqrt %1%S1, %0 */",
  10708. op[0], op[1], op[2]);
  10709. printf (" sd = 0x%x,", sd);
  10710. printf (" rsrc = 0x%x,", rsrc);
  10711. printf (" rdst = 0x%x\n", rdst);
  10712. }
  10713. SYNTAX("fsqrt %1%S1, %0");
  10714. #line 1131 "rx-decode.opc"
  10715. ID(fsqrt); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
  10716. }
  10717. break;
  10718. }
  10719. break;
  10720. case 0xa1:
  10721. GETBYTE ();
  10722. switch (op[2] & 0x00)
  10723. {
  10724. case 0x00:
  10725. goto op_semantics_84;
  10726. break;
  10727. }
  10728. break;
  10729. case 0xa2:
  10730. GETBYTE ();
  10731. switch (op[2] & 0x00)
  10732. {
  10733. case 0x00:
  10734. goto op_semantics_84;
  10735. break;
  10736. }
  10737. break;
  10738. case 0xa3:
  10739. GETBYTE ();
  10740. switch (op[2] & 0x00)
  10741. {
  10742. case 0x00:
  10743. goto op_semantics_84;
  10744. break;
  10745. }
  10746. break;
  10747. case 0xa4:
  10748. GETBYTE ();
  10749. switch (op[2] & 0x00)
  10750. {
  10751. case 0x00:
  10752. op_semantics_85:
  10753. {
  10754. /** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */
  10755. #line 1134 "rx-decode.opc"
  10756. int sd AU = op[1] & 0x03;
  10757. #line 1134 "rx-decode.opc"
  10758. int rsrc AU = (op[2] >> 4) & 0x0f;
  10759. #line 1134 "rx-decode.opc"
  10760. int rdst AU = op[2] & 0x0f;
  10761. if (trace)
  10762. {
  10763. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10764. "/** 1111 1100 1010 01sd rsrc rdst ftou %1%S1, %0 */",
  10765. op[0], op[1], op[2]);
  10766. printf (" sd = 0x%x,", sd);
  10767. printf (" rsrc = 0x%x,", rsrc);
  10768. printf (" rdst = 0x%x\n", rdst);
  10769. }
  10770. SYNTAX("ftou %1%S1, %0");
  10771. #line 1134 "rx-decode.opc"
  10772. ID(ftou); DR(rdst); SD(sd, rsrc, LSIZE); F__SZ_;
  10773. }
  10774. break;
  10775. }
  10776. break;
  10777. case 0xa5:
  10778. GETBYTE ();
  10779. switch (op[2] & 0x00)
  10780. {
  10781. case 0x00:
  10782. goto op_semantics_85;
  10783. break;
  10784. }
  10785. break;
  10786. case 0xa6:
  10787. GETBYTE ();
  10788. switch (op[2] & 0x00)
  10789. {
  10790. case 0x00:
  10791. goto op_semantics_85;
  10792. break;
  10793. }
  10794. break;
  10795. case 0xa7:
  10796. GETBYTE ();
  10797. switch (op[2] & 0x00)
  10798. {
  10799. case 0x00:
  10800. goto op_semantics_85;
  10801. break;
  10802. }
  10803. break;
  10804. case 0xc8:
  10805. GETBYTE ();
  10806. switch (op[2] & 0x0f)
  10807. {
  10808. case 0x08:
  10809. op_semantics_86:
  10810. {
  10811. /** 1111 1100 1100 10sz rsrc 1000 dmov.d %1, %0 */
  10812. #line 1198 "rx-decode.opc"
  10813. int sz AU = op[1] & 0x03;
  10814. #line 1198 "rx-decode.opc"
  10815. int rsrc AU = (op[2] >> 4) & 0x0f;
  10816. if (trace)
  10817. {
  10818. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10819. "/** 1111 1100 1100 10sz rsrc 1000 dmov.d %1, %0 */",
  10820. op[0], op[1], op[2]);
  10821. printf (" sz = 0x%x,", sz);
  10822. printf (" rsrc = 0x%x\n", rsrc);
  10823. }
  10824. SYNTAX("dmov.d %1, %0");
  10825. #line 1198 "rx-decode.opc"
  10826. int rdst;
  10827. rx_disp(1, sz, rsrc, RX_Double, ld);
  10828. rdst = GETBYTE();
  10829. if (rdst & 0x0f)
  10830. UNSUPPORTED();
  10831. else {
  10832. ID(dmov); DDR(rdst >> 4); F_____;
  10833. }
  10834. }
  10835. break;
  10836. default: UNSUPPORTED(); break;
  10837. }
  10838. break;
  10839. case 0xc9:
  10840. GETBYTE ();
  10841. switch (op[2] & 0x0f)
  10842. {
  10843. case 0x08:
  10844. goto op_semantics_86;
  10845. break;
  10846. default: UNSUPPORTED(); break;
  10847. }
  10848. break;
  10849. case 0xca:
  10850. GETBYTE ();
  10851. switch (op[2] & 0x0f)
  10852. {
  10853. case 0x08:
  10854. goto op_semantics_86;
  10855. break;
  10856. default: UNSUPPORTED(); break;
  10857. }
  10858. break;
  10859. case 0xd0:
  10860. GETBYTE ();
  10861. switch (op[2] & 0x00)
  10862. {
  10863. case 0x00:
  10864. op_semantics_87:
  10865. {
  10866. /** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */
  10867. #line 1065 "rx-decode.opc"
  10868. int sz AU = (op[1] >> 2) & 0x03;
  10869. #line 1065 "rx-decode.opc"
  10870. int sd AU = op[1] & 0x03;
  10871. #line 1065 "rx-decode.opc"
  10872. int rdst AU = (op[2] >> 4) & 0x0f;
  10873. #line 1065 "rx-decode.opc"
  10874. int cond AU = op[2] & 0x0f;
  10875. if (trace)
  10876. {
  10877. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  10878. "/** 1111 1100 1101 sz sd rdst cond sc%1%s %0 */",
  10879. op[0], op[1], op[2]);
  10880. printf (" sz = 0x%x,", sz);
  10881. printf (" sd = 0x%x,", sd);
  10882. printf (" rdst = 0x%x,", rdst);
  10883. printf (" cond = 0x%x\n", cond);
  10884. }
  10885. SYNTAX("sc%1%s %0");
  10886. #line 1065 "rx-decode.opc"
  10887. ID(sccnd); BWL(sz); DD (sd, rdst, sz); Scc(cond);
  10888. /*----------------------------------------------------------------------*/
  10889. /* RXv2 enhanced */
  10890. }
  10891. break;
  10892. }
  10893. break;
  10894. case 0xd1:
  10895. GETBYTE ();
  10896. switch (op[2] & 0x00)
  10897. {
  10898. case 0x00:
  10899. goto op_semantics_87;
  10900. break;
  10901. }
  10902. break;
  10903. case 0xd2:
  10904. GETBYTE ();
  10905. switch (op[2] & 0x00)
  10906. {
  10907. case 0x00:
  10908. goto op_semantics_87;
  10909. break;
  10910. }
  10911. break;
  10912. case 0xd3:
  10913. GETBYTE ();
  10914. switch (op[2] & 0x00)
  10915. {
  10916. case 0x00:
  10917. goto op_semantics_87;
  10918. break;
  10919. }
  10920. break;
  10921. case 0xd4:
  10922. GETBYTE ();
  10923. switch (op[2] & 0x00)
  10924. {
  10925. case 0x00:
  10926. goto op_semantics_87;
  10927. break;
  10928. }
  10929. break;
  10930. case 0xd5:
  10931. GETBYTE ();
  10932. switch (op[2] & 0x00)
  10933. {
  10934. case 0x00:
  10935. goto op_semantics_87;
  10936. break;
  10937. }
  10938. break;
  10939. case 0xd6:
  10940. GETBYTE ();
  10941. switch (op[2] & 0x00)
  10942. {
  10943. case 0x00:
  10944. goto op_semantics_87;
  10945. break;
  10946. }
  10947. break;
  10948. case 0xd7:
  10949. GETBYTE ();
  10950. switch (op[2] & 0x00)
  10951. {
  10952. case 0x00:
  10953. goto op_semantics_87;
  10954. break;
  10955. }
  10956. break;
  10957. case 0xd8:
  10958. GETBYTE ();
  10959. switch (op[2] & 0x00)
  10960. {
  10961. case 0x00:
  10962. goto op_semantics_87;
  10963. break;
  10964. }
  10965. break;
  10966. case 0xd9:
  10967. GETBYTE ();
  10968. switch (op[2] & 0x00)
  10969. {
  10970. case 0x00:
  10971. goto op_semantics_87;
  10972. break;
  10973. }
  10974. break;
  10975. case 0xda:
  10976. GETBYTE ();
  10977. switch (op[2] & 0x00)
  10978. {
  10979. case 0x00:
  10980. goto op_semantics_87;
  10981. break;
  10982. }
  10983. break;
  10984. case 0xdb:
  10985. GETBYTE ();
  10986. switch (op[2] & 0x00)
  10987. {
  10988. case 0x00:
  10989. goto op_semantics_87;
  10990. break;
  10991. }
  10992. break;
  10993. case 0xe0:
  10994. GETBYTE ();
  10995. switch (op[2] & 0x0f)
  10996. {
  10997. case 0x00:
  10998. case 0x01:
  10999. case 0x02:
  11000. case 0x03:
  11001. case 0x04:
  11002. case 0x05:
  11003. case 0x06:
  11004. case 0x07:
  11005. case 0x08:
  11006. case 0x09:
  11007. case 0x0a:
  11008. case 0x0b:
  11009. case 0x0c:
  11010. case 0x0d:
  11011. case 0x0e:
  11012. op_semantics_88:
  11013. {
  11014. /** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */
  11015. #line 1008 "rx-decode.opc"
  11016. int bit AU = (op[1] >> 2) & 0x07;
  11017. #line 1008 "rx-decode.opc"
  11018. int sd AU = op[1] & 0x03;
  11019. #line 1008 "rx-decode.opc"
  11020. int rdst AU = (op[2] >> 4) & 0x0f;
  11021. #line 1008 "rx-decode.opc"
  11022. int cond AU = op[2] & 0x0f;
  11023. if (trace)
  11024. {
  11025. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  11026. "/** 1111 1100 111bit sd rdst cond bm%2 #%1, %0%S0 */",
  11027. op[0], op[1], op[2]);
  11028. printf (" bit = 0x%x,", bit);
  11029. printf (" sd = 0x%x,", sd);
  11030. printf (" rdst = 0x%x,", rdst);
  11031. printf (" cond = 0x%x\n", cond);
  11032. }
  11033. SYNTAX("bm%2 #%1, %0%S0");
  11034. #line 1008 "rx-decode.opc"
  11035. ID(bmcc); BWL(BSIZE); S2cc(cond); SC(bit); DD(sd, rdst, BSIZE);
  11036. }
  11037. break;
  11038. case 0x0f:
  11039. op_semantics_89:
  11040. {
  11041. /** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */
  11042. #line 996 "rx-decode.opc"
  11043. int bit AU = (op[1] >> 2) & 0x07;
  11044. #line 996 "rx-decode.opc"
  11045. int sd AU = op[1] & 0x03;
  11046. #line 996 "rx-decode.opc"
  11047. int rdst AU = (op[2] >> 4) & 0x0f;
  11048. if (trace)
  11049. {
  11050. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  11051. "/** 1111 1100 111bit sd rdst 1111 bnot #%1, %0%S0 */",
  11052. op[0], op[1], op[2]);
  11053. printf (" bit = 0x%x,", bit);
  11054. printf (" sd = 0x%x,", sd);
  11055. printf (" rdst = 0x%x\n", rdst);
  11056. }
  11057. SYNTAX("bnot #%1, %0%S0");
  11058. #line 996 "rx-decode.opc"
  11059. ID(bnot); BWL(BSIZE); SC(bit); DD(sd, rdst, BSIZE);
  11060. }
  11061. break;
  11062. }
  11063. break;
  11064. case 0xe1:
  11065. GETBYTE ();
  11066. switch (op[2] & 0x0f)
  11067. {
  11068. case 0x00:
  11069. case 0x01:
  11070. case 0x02:
  11071. case 0x03:
  11072. case 0x04:
  11073. case 0x05:
  11074. case 0x06:
  11075. case 0x07:
  11076. case 0x08:
  11077. case 0x09:
  11078. case 0x0a:
  11079. case 0x0b:
  11080. case 0x0c:
  11081. case 0x0d:
  11082. case 0x0e:
  11083. goto op_semantics_88;
  11084. break;
  11085. case 0x0f:
  11086. goto op_semantics_89;
  11087. break;
  11088. }
  11089. break;
  11090. case 0xe2:
  11091. GETBYTE ();
  11092. switch (op[2] & 0x0f)
  11093. {
  11094. case 0x00:
  11095. case 0x01:
  11096. case 0x02:
  11097. case 0x03:
  11098. case 0x04:
  11099. case 0x05:
  11100. case 0x06:
  11101. case 0x07:
  11102. case 0x08:
  11103. case 0x09:
  11104. case 0x0a:
  11105. case 0x0b:
  11106. case 0x0c:
  11107. case 0x0d:
  11108. case 0x0e:
  11109. goto op_semantics_88;
  11110. break;
  11111. case 0x0f:
  11112. goto op_semantics_89;
  11113. break;
  11114. }
  11115. break;
  11116. case 0xe3:
  11117. GETBYTE ();
  11118. switch (op[2] & 0x0f)
  11119. {
  11120. case 0x00:
  11121. case 0x01:
  11122. case 0x02:
  11123. case 0x03:
  11124. case 0x04:
  11125. case 0x05:
  11126. case 0x06:
  11127. case 0x07:
  11128. case 0x08:
  11129. case 0x09:
  11130. case 0x0a:
  11131. case 0x0b:
  11132. case 0x0c:
  11133. case 0x0d:
  11134. case 0x0e:
  11135. goto op_semantics_88;
  11136. break;
  11137. case 0x0f:
  11138. goto op_semantics_89;
  11139. break;
  11140. }
  11141. break;
  11142. case 0xe4:
  11143. GETBYTE ();
  11144. switch (op[2] & 0x0f)
  11145. {
  11146. case 0x00:
  11147. case 0x01:
  11148. case 0x02:
  11149. case 0x03:
  11150. case 0x04:
  11151. case 0x05:
  11152. case 0x06:
  11153. case 0x07:
  11154. case 0x08:
  11155. case 0x09:
  11156. case 0x0a:
  11157. case 0x0b:
  11158. case 0x0c:
  11159. case 0x0d:
  11160. case 0x0e:
  11161. goto op_semantics_88;
  11162. break;
  11163. case 0x0f:
  11164. goto op_semantics_89;
  11165. break;
  11166. }
  11167. break;
  11168. case 0xe5:
  11169. GETBYTE ();
  11170. switch (op[2] & 0x0f)
  11171. {
  11172. case 0x00:
  11173. case 0x01:
  11174. case 0x02:
  11175. case 0x03:
  11176. case 0x04:
  11177. case 0x05:
  11178. case 0x06:
  11179. case 0x07:
  11180. case 0x08:
  11181. case 0x09:
  11182. case 0x0a:
  11183. case 0x0b:
  11184. case 0x0c:
  11185. case 0x0d:
  11186. case 0x0e:
  11187. goto op_semantics_88;
  11188. break;
  11189. case 0x0f:
  11190. goto op_semantics_89;
  11191. break;
  11192. }
  11193. break;
  11194. case 0xe6:
  11195. GETBYTE ();
  11196. switch (op[2] & 0x0f)
  11197. {
  11198. case 0x00:
  11199. case 0x01:
  11200. case 0x02:
  11201. case 0x03:
  11202. case 0x04:
  11203. case 0x05:
  11204. case 0x06:
  11205. case 0x07:
  11206. case 0x08:
  11207. case 0x09:
  11208. case 0x0a:
  11209. case 0x0b:
  11210. case 0x0c:
  11211. case 0x0d:
  11212. case 0x0e:
  11213. goto op_semantics_88;
  11214. break;
  11215. case 0x0f:
  11216. goto op_semantics_89;
  11217. break;
  11218. }
  11219. break;
  11220. case 0xe7:
  11221. GETBYTE ();
  11222. switch (op[2] & 0x0f)
  11223. {
  11224. case 0x00:
  11225. case 0x01:
  11226. case 0x02:
  11227. case 0x03:
  11228. case 0x04:
  11229. case 0x05:
  11230. case 0x06:
  11231. case 0x07:
  11232. case 0x08:
  11233. case 0x09:
  11234. case 0x0a:
  11235. case 0x0b:
  11236. case 0x0c:
  11237. case 0x0d:
  11238. case 0x0e:
  11239. goto op_semantics_88;
  11240. break;
  11241. case 0x0f:
  11242. goto op_semantics_89;
  11243. break;
  11244. }
  11245. break;
  11246. case 0xe8:
  11247. GETBYTE ();
  11248. switch (op[2] & 0x0f)
  11249. {
  11250. case 0x00:
  11251. case 0x01:
  11252. case 0x02:
  11253. case 0x03:
  11254. case 0x04:
  11255. case 0x05:
  11256. case 0x06:
  11257. case 0x07:
  11258. case 0x08:
  11259. case 0x09:
  11260. case 0x0a:
  11261. case 0x0b:
  11262. case 0x0c:
  11263. case 0x0d:
  11264. case 0x0e:
  11265. goto op_semantics_88;
  11266. break;
  11267. case 0x0f:
  11268. goto op_semantics_89;
  11269. break;
  11270. }
  11271. break;
  11272. case 0xe9:
  11273. GETBYTE ();
  11274. switch (op[2] & 0x0f)
  11275. {
  11276. case 0x00:
  11277. case 0x01:
  11278. case 0x02:
  11279. case 0x03:
  11280. case 0x04:
  11281. case 0x05:
  11282. case 0x06:
  11283. case 0x07:
  11284. case 0x08:
  11285. case 0x09:
  11286. case 0x0a:
  11287. case 0x0b:
  11288. case 0x0c:
  11289. case 0x0d:
  11290. case 0x0e:
  11291. goto op_semantics_88;
  11292. break;
  11293. case 0x0f:
  11294. goto op_semantics_89;
  11295. break;
  11296. }
  11297. break;
  11298. case 0xea:
  11299. GETBYTE ();
  11300. switch (op[2] & 0x0f)
  11301. {
  11302. case 0x00:
  11303. case 0x01:
  11304. case 0x02:
  11305. case 0x03:
  11306. case 0x04:
  11307. case 0x05:
  11308. case 0x06:
  11309. case 0x07:
  11310. case 0x08:
  11311. case 0x09:
  11312. case 0x0a:
  11313. case 0x0b:
  11314. case 0x0c:
  11315. case 0x0d:
  11316. case 0x0e:
  11317. goto op_semantics_88;
  11318. break;
  11319. case 0x0f:
  11320. goto op_semantics_89;
  11321. break;
  11322. }
  11323. break;
  11324. case 0xeb:
  11325. GETBYTE ();
  11326. switch (op[2] & 0x0f)
  11327. {
  11328. case 0x00:
  11329. case 0x01:
  11330. case 0x02:
  11331. case 0x03:
  11332. case 0x04:
  11333. case 0x05:
  11334. case 0x06:
  11335. case 0x07:
  11336. case 0x08:
  11337. case 0x09:
  11338. case 0x0a:
  11339. case 0x0b:
  11340. case 0x0c:
  11341. case 0x0d:
  11342. case 0x0e:
  11343. goto op_semantics_88;
  11344. break;
  11345. case 0x0f:
  11346. goto op_semantics_89;
  11347. break;
  11348. }
  11349. break;
  11350. case 0xec:
  11351. GETBYTE ();
  11352. switch (op[2] & 0x0f)
  11353. {
  11354. case 0x00:
  11355. case 0x01:
  11356. case 0x02:
  11357. case 0x03:
  11358. case 0x04:
  11359. case 0x05:
  11360. case 0x06:
  11361. case 0x07:
  11362. case 0x08:
  11363. case 0x09:
  11364. case 0x0a:
  11365. case 0x0b:
  11366. case 0x0c:
  11367. case 0x0d:
  11368. case 0x0e:
  11369. goto op_semantics_88;
  11370. break;
  11371. case 0x0f:
  11372. goto op_semantics_89;
  11373. break;
  11374. }
  11375. break;
  11376. case 0xed:
  11377. GETBYTE ();
  11378. switch (op[2] & 0x0f)
  11379. {
  11380. case 0x00:
  11381. case 0x01:
  11382. case 0x02:
  11383. case 0x03:
  11384. case 0x04:
  11385. case 0x05:
  11386. case 0x06:
  11387. case 0x07:
  11388. case 0x08:
  11389. case 0x09:
  11390. case 0x0a:
  11391. case 0x0b:
  11392. case 0x0c:
  11393. case 0x0d:
  11394. case 0x0e:
  11395. goto op_semantics_88;
  11396. break;
  11397. case 0x0f:
  11398. goto op_semantics_89;
  11399. break;
  11400. }
  11401. break;
  11402. case 0xee:
  11403. GETBYTE ();
  11404. switch (op[2] & 0x0f)
  11405. {
  11406. case 0x00:
  11407. case 0x01:
  11408. case 0x02:
  11409. case 0x03:
  11410. case 0x04:
  11411. case 0x05:
  11412. case 0x06:
  11413. case 0x07:
  11414. case 0x08:
  11415. case 0x09:
  11416. case 0x0a:
  11417. case 0x0b:
  11418. case 0x0c:
  11419. case 0x0d:
  11420. case 0x0e:
  11421. goto op_semantics_88;
  11422. break;
  11423. case 0x0f:
  11424. goto op_semantics_89;
  11425. break;
  11426. }
  11427. break;
  11428. case 0xef:
  11429. GETBYTE ();
  11430. switch (op[2] & 0x0f)
  11431. {
  11432. case 0x00:
  11433. case 0x01:
  11434. case 0x02:
  11435. case 0x03:
  11436. case 0x04:
  11437. case 0x05:
  11438. case 0x06:
  11439. case 0x07:
  11440. case 0x08:
  11441. case 0x09:
  11442. case 0x0a:
  11443. case 0x0b:
  11444. case 0x0c:
  11445. case 0x0d:
  11446. case 0x0e:
  11447. goto op_semantics_88;
  11448. break;
  11449. case 0x0f:
  11450. goto op_semantics_89;
  11451. break;
  11452. }
  11453. break;
  11454. case 0xf0:
  11455. GETBYTE ();
  11456. switch (op[2] & 0x0f)
  11457. {
  11458. case 0x00:
  11459. case 0x01:
  11460. case 0x02:
  11461. case 0x03:
  11462. case 0x04:
  11463. case 0x05:
  11464. case 0x06:
  11465. case 0x07:
  11466. case 0x08:
  11467. case 0x09:
  11468. case 0x0a:
  11469. case 0x0b:
  11470. case 0x0c:
  11471. case 0x0d:
  11472. case 0x0e:
  11473. goto op_semantics_88;
  11474. break;
  11475. case 0x0f:
  11476. goto op_semantics_89;
  11477. break;
  11478. }
  11479. break;
  11480. case 0xf1:
  11481. GETBYTE ();
  11482. switch (op[2] & 0x0f)
  11483. {
  11484. case 0x00:
  11485. case 0x01:
  11486. case 0x02:
  11487. case 0x03:
  11488. case 0x04:
  11489. case 0x05:
  11490. case 0x06:
  11491. case 0x07:
  11492. case 0x08:
  11493. case 0x09:
  11494. case 0x0a:
  11495. case 0x0b:
  11496. case 0x0c:
  11497. case 0x0d:
  11498. case 0x0e:
  11499. goto op_semantics_88;
  11500. break;
  11501. case 0x0f:
  11502. goto op_semantics_89;
  11503. break;
  11504. }
  11505. break;
  11506. case 0xf2:
  11507. GETBYTE ();
  11508. switch (op[2] & 0x0f)
  11509. {
  11510. case 0x00:
  11511. case 0x01:
  11512. case 0x02:
  11513. case 0x03:
  11514. case 0x04:
  11515. case 0x05:
  11516. case 0x06:
  11517. case 0x07:
  11518. case 0x08:
  11519. case 0x09:
  11520. case 0x0a:
  11521. case 0x0b:
  11522. case 0x0c:
  11523. case 0x0d:
  11524. case 0x0e:
  11525. goto op_semantics_88;
  11526. break;
  11527. case 0x0f:
  11528. goto op_semantics_89;
  11529. break;
  11530. }
  11531. break;
  11532. case 0xf3:
  11533. GETBYTE ();
  11534. switch (op[2] & 0x0f)
  11535. {
  11536. case 0x00:
  11537. case 0x01:
  11538. case 0x02:
  11539. case 0x03:
  11540. case 0x04:
  11541. case 0x05:
  11542. case 0x06:
  11543. case 0x07:
  11544. case 0x08:
  11545. case 0x09:
  11546. case 0x0a:
  11547. case 0x0b:
  11548. case 0x0c:
  11549. case 0x0d:
  11550. case 0x0e:
  11551. goto op_semantics_88;
  11552. break;
  11553. case 0x0f:
  11554. goto op_semantics_89;
  11555. break;
  11556. }
  11557. break;
  11558. case 0xf4:
  11559. GETBYTE ();
  11560. switch (op[2] & 0x0f)
  11561. {
  11562. case 0x00:
  11563. case 0x01:
  11564. case 0x02:
  11565. case 0x03:
  11566. case 0x04:
  11567. case 0x05:
  11568. case 0x06:
  11569. case 0x07:
  11570. case 0x08:
  11571. case 0x09:
  11572. case 0x0a:
  11573. case 0x0b:
  11574. case 0x0c:
  11575. case 0x0d:
  11576. case 0x0e:
  11577. goto op_semantics_88;
  11578. break;
  11579. case 0x0f:
  11580. goto op_semantics_89;
  11581. break;
  11582. }
  11583. break;
  11584. case 0xf5:
  11585. GETBYTE ();
  11586. switch (op[2] & 0x0f)
  11587. {
  11588. case 0x00:
  11589. case 0x01:
  11590. case 0x02:
  11591. case 0x03:
  11592. case 0x04:
  11593. case 0x05:
  11594. case 0x06:
  11595. case 0x07:
  11596. case 0x08:
  11597. case 0x09:
  11598. case 0x0a:
  11599. case 0x0b:
  11600. case 0x0c:
  11601. case 0x0d:
  11602. case 0x0e:
  11603. goto op_semantics_88;
  11604. break;
  11605. case 0x0f:
  11606. goto op_semantics_89;
  11607. break;
  11608. }
  11609. break;
  11610. case 0xf6:
  11611. GETBYTE ();
  11612. switch (op[2] & 0x0f)
  11613. {
  11614. case 0x00:
  11615. case 0x01:
  11616. case 0x02:
  11617. case 0x03:
  11618. case 0x04:
  11619. case 0x05:
  11620. case 0x06:
  11621. case 0x07:
  11622. case 0x08:
  11623. case 0x09:
  11624. case 0x0a:
  11625. case 0x0b:
  11626. case 0x0c:
  11627. case 0x0d:
  11628. case 0x0e:
  11629. goto op_semantics_88;
  11630. break;
  11631. case 0x0f:
  11632. goto op_semantics_89;
  11633. break;
  11634. }
  11635. break;
  11636. case 0xf7:
  11637. GETBYTE ();
  11638. switch (op[2] & 0x0f)
  11639. {
  11640. case 0x00:
  11641. case 0x01:
  11642. case 0x02:
  11643. case 0x03:
  11644. case 0x04:
  11645. case 0x05:
  11646. case 0x06:
  11647. case 0x07:
  11648. case 0x08:
  11649. case 0x09:
  11650. case 0x0a:
  11651. case 0x0b:
  11652. case 0x0c:
  11653. case 0x0d:
  11654. case 0x0e:
  11655. goto op_semantics_88;
  11656. break;
  11657. case 0x0f:
  11658. goto op_semantics_89;
  11659. break;
  11660. }
  11661. break;
  11662. case 0xf8:
  11663. GETBYTE ();
  11664. switch (op[2] & 0x0f)
  11665. {
  11666. case 0x00:
  11667. case 0x01:
  11668. case 0x02:
  11669. case 0x03:
  11670. case 0x04:
  11671. case 0x05:
  11672. case 0x06:
  11673. case 0x07:
  11674. case 0x08:
  11675. case 0x09:
  11676. case 0x0a:
  11677. case 0x0b:
  11678. case 0x0c:
  11679. case 0x0d:
  11680. case 0x0e:
  11681. goto op_semantics_88;
  11682. break;
  11683. case 0x0f:
  11684. goto op_semantics_89;
  11685. break;
  11686. }
  11687. break;
  11688. case 0xf9:
  11689. GETBYTE ();
  11690. switch (op[2] & 0x0f)
  11691. {
  11692. case 0x00:
  11693. case 0x01:
  11694. case 0x02:
  11695. case 0x03:
  11696. case 0x04:
  11697. case 0x05:
  11698. case 0x06:
  11699. case 0x07:
  11700. case 0x08:
  11701. case 0x09:
  11702. case 0x0a:
  11703. case 0x0b:
  11704. case 0x0c:
  11705. case 0x0d:
  11706. case 0x0e:
  11707. goto op_semantics_88;
  11708. break;
  11709. case 0x0f:
  11710. goto op_semantics_89;
  11711. break;
  11712. }
  11713. break;
  11714. case 0xfa:
  11715. GETBYTE ();
  11716. switch (op[2] & 0x0f)
  11717. {
  11718. case 0x00:
  11719. case 0x01:
  11720. case 0x02:
  11721. case 0x03:
  11722. case 0x04:
  11723. case 0x05:
  11724. case 0x06:
  11725. case 0x07:
  11726. case 0x08:
  11727. case 0x09:
  11728. case 0x0a:
  11729. case 0x0b:
  11730. case 0x0c:
  11731. case 0x0d:
  11732. case 0x0e:
  11733. goto op_semantics_88;
  11734. break;
  11735. case 0x0f:
  11736. goto op_semantics_89;
  11737. break;
  11738. }
  11739. break;
  11740. case 0xfb:
  11741. GETBYTE ();
  11742. switch (op[2] & 0x0f)
  11743. {
  11744. case 0x00:
  11745. case 0x01:
  11746. case 0x02:
  11747. case 0x03:
  11748. case 0x04:
  11749. case 0x05:
  11750. case 0x06:
  11751. case 0x07:
  11752. case 0x08:
  11753. case 0x09:
  11754. case 0x0a:
  11755. case 0x0b:
  11756. case 0x0c:
  11757. case 0x0d:
  11758. case 0x0e:
  11759. goto op_semantics_88;
  11760. break;
  11761. case 0x0f:
  11762. goto op_semantics_89;
  11763. break;
  11764. }
  11765. break;
  11766. case 0xfc:
  11767. GETBYTE ();
  11768. switch (op[2] & 0x0f)
  11769. {
  11770. case 0x00:
  11771. case 0x01:
  11772. case 0x02:
  11773. case 0x03:
  11774. case 0x04:
  11775. case 0x05:
  11776. case 0x06:
  11777. case 0x07:
  11778. case 0x08:
  11779. case 0x09:
  11780. case 0x0a:
  11781. case 0x0b:
  11782. case 0x0c:
  11783. case 0x0d:
  11784. case 0x0e:
  11785. goto op_semantics_88;
  11786. break;
  11787. case 0x0f:
  11788. goto op_semantics_89;
  11789. break;
  11790. }
  11791. break;
  11792. case 0xfd:
  11793. GETBYTE ();
  11794. switch (op[2] & 0x0f)
  11795. {
  11796. case 0x00:
  11797. case 0x01:
  11798. case 0x02:
  11799. case 0x03:
  11800. case 0x04:
  11801. case 0x05:
  11802. case 0x06:
  11803. case 0x07:
  11804. case 0x08:
  11805. case 0x09:
  11806. case 0x0a:
  11807. case 0x0b:
  11808. case 0x0c:
  11809. case 0x0d:
  11810. case 0x0e:
  11811. goto op_semantics_88;
  11812. break;
  11813. case 0x0f:
  11814. goto op_semantics_89;
  11815. break;
  11816. }
  11817. break;
  11818. case 0xfe:
  11819. GETBYTE ();
  11820. switch (op[2] & 0x0f)
  11821. {
  11822. case 0x00:
  11823. case 0x01:
  11824. case 0x02:
  11825. case 0x03:
  11826. case 0x04:
  11827. case 0x05:
  11828. case 0x06:
  11829. case 0x07:
  11830. case 0x08:
  11831. case 0x09:
  11832. case 0x0a:
  11833. case 0x0b:
  11834. case 0x0c:
  11835. case 0x0d:
  11836. case 0x0e:
  11837. goto op_semantics_88;
  11838. break;
  11839. case 0x0f:
  11840. goto op_semantics_89;
  11841. break;
  11842. }
  11843. break;
  11844. case 0xff:
  11845. GETBYTE ();
  11846. switch (op[2] & 0x0f)
  11847. {
  11848. case 0x00:
  11849. case 0x01:
  11850. case 0x02:
  11851. case 0x03:
  11852. case 0x04:
  11853. case 0x05:
  11854. case 0x06:
  11855. case 0x07:
  11856. case 0x08:
  11857. case 0x09:
  11858. case 0x0a:
  11859. case 0x0b:
  11860. case 0x0c:
  11861. case 0x0d:
  11862. case 0x0e:
  11863. goto op_semantics_88;
  11864. break;
  11865. case 0x0f:
  11866. goto op_semantics_89;
  11867. break;
  11868. }
  11869. break;
  11870. default: UNSUPPORTED(); break;
  11871. }
  11872. break;
  11873. case 0xfd:
  11874. GETBYTE ();
  11875. switch (op[1] & 0xff)
  11876. {
  11877. case 0x00:
  11878. GETBYTE ();
  11879. switch (op[2] & 0x00)
  11880. {
  11881. case 0x00:
  11882. op_semantics_90:
  11883. {
  11884. /** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */
  11885. #line 873 "rx-decode.opc"
  11886. int a AU = (op[1] >> 3) & 0x01;
  11887. #line 873 "rx-decode.opc"
  11888. int srca AU = (op[2] >> 4) & 0x0f;
  11889. #line 873 "rx-decode.opc"
  11890. int srcb AU = op[2] & 0x0f;
  11891. if (trace)
  11892. {
  11893. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  11894. "/** 1111 1101 0000 a000 srca srcb mulhi %1, %2, %0 */",
  11895. op[0], op[1], op[2]);
  11896. printf (" a = 0x%x,", a);
  11897. printf (" srca = 0x%x,", srca);
  11898. printf (" srcb = 0x%x\n", srcb);
  11899. }
  11900. SYNTAX("mulhi %1, %2, %0");
  11901. #line 873 "rx-decode.opc"
  11902. ID(mulhi); DR(a+32); SR(srca); S2R(srcb); F_____;
  11903. }
  11904. break;
  11905. }
  11906. break;
  11907. case 0x01:
  11908. GETBYTE ();
  11909. switch (op[2] & 0x00)
  11910. {
  11911. case 0x00:
  11912. op_semantics_91:
  11913. {
  11914. /** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */
  11915. #line 876 "rx-decode.opc"
  11916. int a AU = (op[1] >> 3) & 0x01;
  11917. #line 876 "rx-decode.opc"
  11918. int srca AU = (op[2] >> 4) & 0x0f;
  11919. #line 876 "rx-decode.opc"
  11920. int srcb AU = op[2] & 0x0f;
  11921. if (trace)
  11922. {
  11923. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  11924. "/** 1111 1101 0000 a001 srca srcb mullo %1, %2, %0 */",
  11925. op[0], op[1], op[2]);
  11926. printf (" a = 0x%x,", a);
  11927. printf (" srca = 0x%x,", srca);
  11928. printf (" srcb = 0x%x\n", srcb);
  11929. }
  11930. SYNTAX("mullo %1, %2, %0");
  11931. #line 876 "rx-decode.opc"
  11932. ID(mullo); DR(a+32); SR(srca); S2R(srcb); F_____;
  11933. }
  11934. break;
  11935. }
  11936. break;
  11937. case 0x02:
  11938. GETBYTE ();
  11939. switch (op[2] & 0x00)
  11940. {
  11941. case 0x00:
  11942. op_semantics_92:
  11943. {
  11944. /** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */
  11945. #line 1104 "rx-decode.opc"
  11946. int a AU = (op[1] >> 3) & 0x01;
  11947. #line 1104 "rx-decode.opc"
  11948. int srca AU = (op[2] >> 4) & 0x0f;
  11949. #line 1104 "rx-decode.opc"
  11950. int srcb AU = op[2] & 0x0f;
  11951. if (trace)
  11952. {
  11953. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  11954. "/** 1111 1101 0000 a010 srca srcb mullh %1, %2, %0 */",
  11955. op[0], op[1], op[2]);
  11956. printf (" a = 0x%x,", a);
  11957. printf (" srca = 0x%x,", srca);
  11958. printf (" srcb = 0x%x\n", srcb);
  11959. }
  11960. SYNTAX("mullh %1, %2, %0");
  11961. #line 1104 "rx-decode.opc"
  11962. ID(mullh); DR(a+32); SR(srca); S2R(srcb); F_____;
  11963. }
  11964. break;
  11965. }
  11966. break;
  11967. case 0x03:
  11968. GETBYTE ();
  11969. switch (op[2] & 0x00)
  11970. {
  11971. case 0x00:
  11972. op_semantics_93:
  11973. {
  11974. /** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */
  11975. #line 1089 "rx-decode.opc"
  11976. int a AU = (op[1] >> 3) & 0x01;
  11977. #line 1089 "rx-decode.opc"
  11978. int srca AU = (op[2] >> 4) & 0x0f;
  11979. #line 1089 "rx-decode.opc"
  11980. int srcb AU = op[2] & 0x0f;
  11981. if (trace)
  11982. {
  11983. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  11984. "/** 1111 1101 0000 a011 srca srcb emula %1, %2, %0 */",
  11985. op[0], op[1], op[2]);
  11986. printf (" a = 0x%x,", a);
  11987. printf (" srca = 0x%x,", srca);
  11988. printf (" srcb = 0x%x\n", srcb);
  11989. }
  11990. SYNTAX("emula %1, %2, %0");
  11991. #line 1089 "rx-decode.opc"
  11992. ID(emula); DR(a+32); SR(srca); S2R(srcb); F_____;
  11993. }
  11994. break;
  11995. }
  11996. break;
  11997. case 0x04:
  11998. GETBYTE ();
  11999. switch (op[2] & 0x00)
  12000. {
  12001. case 0x00:
  12002. op_semantics_94:
  12003. {
  12004. /** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */
  12005. #line 879 "rx-decode.opc"
  12006. int a AU = (op[1] >> 3) & 0x01;
  12007. #line 879 "rx-decode.opc"
  12008. int srca AU = (op[2] >> 4) & 0x0f;
  12009. #line 879 "rx-decode.opc"
  12010. int srcb AU = op[2] & 0x0f;
  12011. if (trace)
  12012. {
  12013. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12014. "/** 1111 1101 0000 a100 srca srcb machi %1, %2, %0 */",
  12015. op[0], op[1], op[2]);
  12016. printf (" a = 0x%x,", a);
  12017. printf (" srca = 0x%x,", srca);
  12018. printf (" srcb = 0x%x\n", srcb);
  12019. }
  12020. SYNTAX("machi %1, %2, %0");
  12021. #line 879 "rx-decode.opc"
  12022. ID(machi); DR(a+32); SR(srca); S2R(srcb); F_____;
  12023. }
  12024. break;
  12025. }
  12026. break;
  12027. case 0x05:
  12028. GETBYTE ();
  12029. switch (op[2] & 0x00)
  12030. {
  12031. case 0x00:
  12032. op_semantics_95:
  12033. {
  12034. /** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */
  12035. #line 882 "rx-decode.opc"
  12036. int a AU = (op[1] >> 3) & 0x01;
  12037. #line 882 "rx-decode.opc"
  12038. int srca AU = (op[2] >> 4) & 0x0f;
  12039. #line 882 "rx-decode.opc"
  12040. int srcb AU = op[2] & 0x0f;
  12041. if (trace)
  12042. {
  12043. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12044. "/** 1111 1101 0000 a101 srca srcb maclo %1, %2, %0 */",
  12045. op[0], op[1], op[2]);
  12046. printf (" a = 0x%x,", a);
  12047. printf (" srca = 0x%x,", srca);
  12048. printf (" srcb = 0x%x\n", srcb);
  12049. }
  12050. SYNTAX("maclo %1, %2, %0");
  12051. #line 882 "rx-decode.opc"
  12052. ID(maclo); DR(a+32); SR(srca); S2R(srcb); F_____;
  12053. }
  12054. break;
  12055. }
  12056. break;
  12057. case 0x06:
  12058. GETBYTE ();
  12059. switch (op[2] & 0x00)
  12060. {
  12061. case 0x00:
  12062. op_semantics_96:
  12063. {
  12064. /** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */
  12065. #line 1092 "rx-decode.opc"
  12066. int a AU = (op[1] >> 3) & 0x01;
  12067. #line 1092 "rx-decode.opc"
  12068. int srca AU = (op[2] >> 4) & 0x0f;
  12069. #line 1092 "rx-decode.opc"
  12070. int srcb AU = op[2] & 0x0f;
  12071. if (trace)
  12072. {
  12073. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12074. "/** 1111 1101 0000 a110 srca srcb maclh %1, %2, %0 */",
  12075. op[0], op[1], op[2]);
  12076. printf (" a = 0x%x,", a);
  12077. printf (" srca = 0x%x,", srca);
  12078. printf (" srcb = 0x%x\n", srcb);
  12079. }
  12080. SYNTAX("maclh %1, %2, %0");
  12081. #line 1092 "rx-decode.opc"
  12082. ID(maclh); DR(a+32); SR(srca); S2R(srcb); F_____;
  12083. }
  12084. break;
  12085. }
  12086. break;
  12087. case 0x07:
  12088. GETBYTE ();
  12089. switch (op[2] & 0x00)
  12090. {
  12091. case 0x00:
  12092. op_semantics_97:
  12093. {
  12094. /** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */
  12095. #line 1083 "rx-decode.opc"
  12096. int a AU = (op[1] >> 3) & 0x01;
  12097. #line 1083 "rx-decode.opc"
  12098. int srca AU = (op[2] >> 4) & 0x0f;
  12099. #line 1083 "rx-decode.opc"
  12100. int srcb AU = op[2] & 0x0f;
  12101. if (trace)
  12102. {
  12103. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12104. "/** 1111 1101 0000 a111 srca srcb emaca %1, %2, %0 */",
  12105. op[0], op[1], op[2]);
  12106. printf (" a = 0x%x,", a);
  12107. printf (" srca = 0x%x,", srca);
  12108. printf (" srcb = 0x%x\n", srcb);
  12109. }
  12110. SYNTAX("emaca %1, %2, %0");
  12111. #line 1083 "rx-decode.opc"
  12112. ID(emaca); DR(a+32); SR(srca); S2R(srcb); F_____;
  12113. }
  12114. break;
  12115. }
  12116. break;
  12117. case 0x08:
  12118. GETBYTE ();
  12119. switch (op[2] & 0x00)
  12120. {
  12121. case 0x00:
  12122. goto op_semantics_90;
  12123. break;
  12124. }
  12125. break;
  12126. case 0x09:
  12127. GETBYTE ();
  12128. switch (op[2] & 0x00)
  12129. {
  12130. case 0x00:
  12131. goto op_semantics_91;
  12132. break;
  12133. }
  12134. break;
  12135. case 0x0a:
  12136. GETBYTE ();
  12137. switch (op[2] & 0x00)
  12138. {
  12139. case 0x00:
  12140. goto op_semantics_92;
  12141. break;
  12142. }
  12143. break;
  12144. case 0x0b:
  12145. GETBYTE ();
  12146. switch (op[2] & 0x00)
  12147. {
  12148. case 0x00:
  12149. goto op_semantics_93;
  12150. break;
  12151. }
  12152. break;
  12153. case 0x0c:
  12154. GETBYTE ();
  12155. switch (op[2] & 0x00)
  12156. {
  12157. case 0x00:
  12158. goto op_semantics_94;
  12159. break;
  12160. }
  12161. break;
  12162. case 0x0d:
  12163. GETBYTE ();
  12164. switch (op[2] & 0x00)
  12165. {
  12166. case 0x00:
  12167. goto op_semantics_95;
  12168. break;
  12169. }
  12170. break;
  12171. case 0x0e:
  12172. GETBYTE ();
  12173. switch (op[2] & 0x00)
  12174. {
  12175. case 0x00:
  12176. goto op_semantics_96;
  12177. break;
  12178. }
  12179. break;
  12180. case 0x0f:
  12181. GETBYTE ();
  12182. switch (op[2] & 0x00)
  12183. {
  12184. case 0x00:
  12185. goto op_semantics_97;
  12186. break;
  12187. }
  12188. break;
  12189. case 0x17:
  12190. GETBYTE ();
  12191. switch (op[2] & 0x70)
  12192. {
  12193. case 0x00:
  12194. {
  12195. /** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */
  12196. #line 885 "rx-decode.opc"
  12197. int a AU = (op[2] >> 7) & 0x01;
  12198. #line 885 "rx-decode.opc"
  12199. int rsrc AU = op[2] & 0x0f;
  12200. if (trace)
  12201. {
  12202. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12203. "/** 1111 1101 0001 0111 a000 rsrc mvtachi %1, %0 */",
  12204. op[0], op[1], op[2]);
  12205. printf (" a = 0x%x,", a);
  12206. printf (" rsrc = 0x%x\n", rsrc);
  12207. }
  12208. SYNTAX("mvtachi %1, %0");
  12209. #line 885 "rx-decode.opc"
  12210. ID(mvtachi); DR(a+32); SR(rsrc); F_____;
  12211. }
  12212. break;
  12213. case 0x10:
  12214. {
  12215. /** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */
  12216. #line 888 "rx-decode.opc"
  12217. int a AU = (op[2] >> 7) & 0x01;
  12218. #line 888 "rx-decode.opc"
  12219. int rsrc AU = op[2] & 0x0f;
  12220. if (trace)
  12221. {
  12222. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12223. "/** 1111 1101 0001 0111 a001 rsrc mvtaclo %1, %0 */",
  12224. op[0], op[1], op[2]);
  12225. printf (" a = 0x%x,", a);
  12226. printf (" rsrc = 0x%x\n", rsrc);
  12227. }
  12228. SYNTAX("mvtaclo %1, %0");
  12229. #line 888 "rx-decode.opc"
  12230. ID(mvtaclo); DR(a+32); SR(rsrc); F_____;
  12231. }
  12232. break;
  12233. case 0x30:
  12234. {
  12235. /** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */
  12236. #line 1110 "rx-decode.opc"
  12237. int a AU = (op[2] >> 7) & 0x01;
  12238. #line 1110 "rx-decode.opc"
  12239. int rdst AU = op[2] & 0x0f;
  12240. if (trace)
  12241. {
  12242. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12243. "/** 1111 1101 0001 0111 a011 rdst mvtacgu %0, %1 */",
  12244. op[0], op[1], op[2]);
  12245. printf (" a = 0x%x,", a);
  12246. printf (" rdst = 0x%x\n", rdst);
  12247. }
  12248. SYNTAX("mvtacgu %0, %1");
  12249. #line 1110 "rx-decode.opc"
  12250. ID(mvtacgu); DR(a+32); SR(rdst); F_____;
  12251. }
  12252. break;
  12253. default: UNSUPPORTED(); break;
  12254. }
  12255. break;
  12256. case 0x18:
  12257. GETBYTE ();
  12258. switch (op[2] & 0x6f)
  12259. {
  12260. case 0x00:
  12261. {
  12262. /** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */
  12263. #line 900 "rx-decode.opc"
  12264. int a AU = (op[2] >> 7) & 0x01;
  12265. #line 900 "rx-decode.opc"
  12266. int i AU = (op[2] >> 4) & 0x01;
  12267. if (trace)
  12268. {
  12269. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12270. "/** 1111 1101 0001 1000 a00i 0000 racw #%1, %0 */",
  12271. op[0], op[1], op[2]);
  12272. printf (" a = 0x%x,", a);
  12273. printf (" i = 0x%x\n", i);
  12274. }
  12275. SYNTAX("racw #%1, %0");
  12276. #line 900 "rx-decode.opc"
  12277. ID(racw); SC(i+1); DR(a+32); F_____;
  12278. /*----------------------------------------------------------------------*/
  12279. /* SAT */
  12280. }
  12281. break;
  12282. case 0x40:
  12283. {
  12284. /** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */
  12285. #line 1119 "rx-decode.opc"
  12286. int a AU = (op[2] >> 7) & 0x01;
  12287. #line 1119 "rx-decode.opc"
  12288. int i AU = (op[2] >> 4) & 0x01;
  12289. if (trace)
  12290. {
  12291. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12292. "/** 1111 1101 0001 1000 a10i 0000 rdacw #%1, %0 */",
  12293. op[0], op[1], op[2]);
  12294. printf (" a = 0x%x,", a);
  12295. printf (" i = 0x%x\n", i);
  12296. }
  12297. SYNTAX("rdacw #%1, %0");
  12298. #line 1119 "rx-decode.opc"
  12299. ID(rdacw); SC(i+1); DR(a+32); F_____;
  12300. }
  12301. break;
  12302. default: UNSUPPORTED(); break;
  12303. }
  12304. break;
  12305. case 0x19:
  12306. GETBYTE ();
  12307. switch (op[2] & 0x6f)
  12308. {
  12309. case 0x00:
  12310. {
  12311. /** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */
  12312. #line 1113 "rx-decode.opc"
  12313. int a AU = (op[2] >> 7) & 0x01;
  12314. #line 1113 "rx-decode.opc"
  12315. int i AU = (op[2] >> 4) & 0x01;
  12316. if (trace)
  12317. {
  12318. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12319. "/** 1111 1101 0001 1001 a00i 0000 racl #%1, %0 */",
  12320. op[0], op[1], op[2]);
  12321. printf (" a = 0x%x,", a);
  12322. printf (" i = 0x%x\n", i);
  12323. }
  12324. SYNTAX("racl #%1, %0");
  12325. #line 1113 "rx-decode.opc"
  12326. ID(racl); SC(i+1); DR(a+32); F_____;
  12327. }
  12328. break;
  12329. case 0x40:
  12330. {
  12331. /** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */
  12332. #line 1116 "rx-decode.opc"
  12333. int a AU = (op[2] >> 7) & 0x01;
  12334. #line 1116 "rx-decode.opc"
  12335. int i AU = (op[2] >> 4) & 0x01;
  12336. if (trace)
  12337. {
  12338. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12339. "/** 1111 1101 0001 1001 a10i 0000 rdacl #%1, %0 */",
  12340. op[0], op[1], op[2]);
  12341. printf (" a = 0x%x,", a);
  12342. printf (" i = 0x%x\n", i);
  12343. }
  12344. SYNTAX("rdacl #%1, %0");
  12345. #line 1116 "rx-decode.opc"
  12346. ID(rdacl); SC(i+1); DR(a+32); F_____;
  12347. }
  12348. break;
  12349. default: UNSUPPORTED(); break;
  12350. }
  12351. break;
  12352. case 0x1e:
  12353. GETBYTE ();
  12354. switch (op[2] & 0x30)
  12355. {
  12356. case 0x00:
  12357. op_semantics_98:
  12358. {
  12359. /** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */
  12360. #line 891 "rx-decode.opc"
  12361. int i AU = op[1] & 0x01;
  12362. #line 891 "rx-decode.opc"
  12363. int a AU = (op[2] >> 7) & 0x01;
  12364. #line 891 "rx-decode.opc"
  12365. int m AU = (op[2] >> 6) & 0x01;
  12366. #line 891 "rx-decode.opc"
  12367. int rdst AU = op[2] & 0x0f;
  12368. if (trace)
  12369. {
  12370. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12371. "/** 1111 1101 0001 111i a m00 rdst mvfachi #%2, %1, %0 */",
  12372. op[0], op[1], op[2]);
  12373. printf (" i = 0x%x,", i);
  12374. printf (" a = 0x%x,", a);
  12375. printf (" m = 0x%x,", m);
  12376. printf (" rdst = 0x%x\n", rdst);
  12377. }
  12378. SYNTAX("mvfachi #%2, %1, %0");
  12379. #line 891 "rx-decode.opc"
  12380. ID(mvfachi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
  12381. }
  12382. break;
  12383. case 0x10:
  12384. op_semantics_99:
  12385. {
  12386. /** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */
  12387. #line 897 "rx-decode.opc"
  12388. int i AU = op[1] & 0x01;
  12389. #line 897 "rx-decode.opc"
  12390. int a AU = (op[2] >> 7) & 0x01;
  12391. #line 897 "rx-decode.opc"
  12392. int m AU = (op[2] >> 6) & 0x01;
  12393. #line 897 "rx-decode.opc"
  12394. int rdst AU = op[2] & 0x0f;
  12395. if (trace)
  12396. {
  12397. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12398. "/** 1111 1101 0001 111i a m01 rdst mvfaclo #%2, %1, %0 */",
  12399. op[0], op[1], op[2]);
  12400. printf (" i = 0x%x,", i);
  12401. printf (" a = 0x%x,", a);
  12402. printf (" m = 0x%x,", m);
  12403. printf (" rdst = 0x%x\n", rdst);
  12404. }
  12405. SYNTAX("mvfaclo #%2, %1, %0");
  12406. #line 897 "rx-decode.opc"
  12407. ID(mvfaclo); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
  12408. }
  12409. break;
  12410. case 0x20:
  12411. op_semantics_100:
  12412. {
  12413. /** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */
  12414. #line 894 "rx-decode.opc"
  12415. int i AU = op[1] & 0x01;
  12416. #line 894 "rx-decode.opc"
  12417. int a AU = (op[2] >> 7) & 0x01;
  12418. #line 894 "rx-decode.opc"
  12419. int m AU = (op[2] >> 6) & 0x01;
  12420. #line 894 "rx-decode.opc"
  12421. int rdst AU = op[2] & 0x0f;
  12422. if (trace)
  12423. {
  12424. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12425. "/** 1111 1101 0001 111i a m10 rdst mvfacmi #%2, %1, %0 */",
  12426. op[0], op[1], op[2]);
  12427. printf (" i = 0x%x,", i);
  12428. printf (" a = 0x%x,", a);
  12429. printf (" m = 0x%x,", m);
  12430. printf (" rdst = 0x%x\n", rdst);
  12431. }
  12432. SYNTAX("mvfacmi #%2, %1, %0");
  12433. #line 894 "rx-decode.opc"
  12434. ID(mvfacmi); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
  12435. }
  12436. break;
  12437. case 0x30:
  12438. op_semantics_101:
  12439. {
  12440. /** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */
  12441. #line 1107 "rx-decode.opc"
  12442. int i AU = op[1] & 0x01;
  12443. #line 1107 "rx-decode.opc"
  12444. int a AU = (op[2] >> 7) & 0x01;
  12445. #line 1107 "rx-decode.opc"
  12446. int m AU = (op[2] >> 6) & 0x01;
  12447. #line 1107 "rx-decode.opc"
  12448. int rdst AU = op[2] & 0x0f;
  12449. if (trace)
  12450. {
  12451. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12452. "/** 1111 1101 0001 111i a m11 rdst mvfacgu #%2, %1, %0 */",
  12453. op[0], op[1], op[2]);
  12454. printf (" i = 0x%x,", i);
  12455. printf (" a = 0x%x,", a);
  12456. printf (" m = 0x%x,", m);
  12457. printf (" rdst = 0x%x\n", rdst);
  12458. }
  12459. SYNTAX("mvfacgu #%2, %1, %0");
  12460. #line 1107 "rx-decode.opc"
  12461. ID(mvfacgu); S2C(((i^1)<<1)|m); SR(a+32); DR(rdst); F_____;
  12462. }
  12463. break;
  12464. }
  12465. break;
  12466. case 0x1f:
  12467. GETBYTE ();
  12468. switch (op[2] & 0x30)
  12469. {
  12470. case 0x00:
  12471. goto op_semantics_98;
  12472. break;
  12473. case 0x10:
  12474. goto op_semantics_99;
  12475. break;
  12476. case 0x20:
  12477. goto op_semantics_100;
  12478. break;
  12479. case 0x30:
  12480. goto op_semantics_101;
  12481. break;
  12482. }
  12483. break;
  12484. case 0x20:
  12485. GETBYTE ();
  12486. switch (op[2] & 0x00)
  12487. {
  12488. case 0x00:
  12489. op_semantics_102:
  12490. {
  12491. /** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */
  12492. #line 369 "rx-decode.opc"
  12493. int p AU = (op[1] >> 2) & 0x01;
  12494. #line 369 "rx-decode.opc"
  12495. int sz AU = op[1] & 0x03;
  12496. #line 369 "rx-decode.opc"
  12497. int rdst AU = (op[2] >> 4) & 0x0f;
  12498. #line 369 "rx-decode.opc"
  12499. int rsrc AU = op[2] & 0x0f;
  12500. if (trace)
  12501. {
  12502. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12503. "/** 1111 1101 0010 0p sz rdst rsrc mov%s %1, %0 */",
  12504. op[0], op[1], op[2]);
  12505. printf (" p = 0x%x,", p);
  12506. printf (" sz = 0x%x,", sz);
  12507. printf (" rdst = 0x%x,", rdst);
  12508. printf (" rsrc = 0x%x\n", rsrc);
  12509. }
  12510. SYNTAX("mov%s %1, %0");
  12511. #line 369 "rx-decode.opc"
  12512. ID(mov); sBWL (sz); SR(rsrc); F_____;
  12513. OP(0, p ? RX_Operand_Predec : RX_Operand_Postinc, rdst, 0);
  12514. }
  12515. break;
  12516. }
  12517. break;
  12518. case 0x21:
  12519. GETBYTE ();
  12520. switch (op[2] & 0x00)
  12521. {
  12522. case 0x00:
  12523. goto op_semantics_102;
  12524. break;
  12525. }
  12526. break;
  12527. case 0x22:
  12528. GETBYTE ();
  12529. switch (op[2] & 0x00)
  12530. {
  12531. case 0x00:
  12532. goto op_semantics_102;
  12533. break;
  12534. }
  12535. break;
  12536. case 0x24:
  12537. GETBYTE ();
  12538. switch (op[2] & 0x00)
  12539. {
  12540. case 0x00:
  12541. goto op_semantics_102;
  12542. break;
  12543. }
  12544. break;
  12545. case 0x25:
  12546. GETBYTE ();
  12547. switch (op[2] & 0x00)
  12548. {
  12549. case 0x00:
  12550. goto op_semantics_102;
  12551. break;
  12552. }
  12553. break;
  12554. case 0x26:
  12555. GETBYTE ();
  12556. switch (op[2] & 0x00)
  12557. {
  12558. case 0x00:
  12559. goto op_semantics_102;
  12560. break;
  12561. }
  12562. break;
  12563. case 0x27:
  12564. GETBYTE ();
  12565. switch (op[2] & 0x00)
  12566. {
  12567. case 0x00:
  12568. {
  12569. /** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */
  12570. #line 1071 "rx-decode.opc"
  12571. int rdst AU = (op[2] >> 4) & 0x0f;
  12572. #line 1071 "rx-decode.opc"
  12573. int rsrc AU = op[2] & 0x0f;
  12574. if (trace)
  12575. {
  12576. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12577. "/** 1111 1101 0010 0111 rdst rsrc movco %1, [%0] */",
  12578. op[0], op[1], op[2]);
  12579. printf (" rdst = 0x%x,", rdst);
  12580. printf (" rsrc = 0x%x\n", rsrc);
  12581. }
  12582. SYNTAX("movco %1, [%0]");
  12583. #line 1071 "rx-decode.opc"
  12584. ID(movco); SR(rsrc); DR(rdst); F_____;
  12585. }
  12586. break;
  12587. }
  12588. break;
  12589. case 0x28:
  12590. GETBYTE ();
  12591. switch (op[2] & 0x00)
  12592. {
  12593. case 0x00:
  12594. op_semantics_103:
  12595. {
  12596. /** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */
  12597. #line 373 "rx-decode.opc"
  12598. int p AU = (op[1] >> 2) & 0x01;
  12599. #line 373 "rx-decode.opc"
  12600. int sz AU = op[1] & 0x03;
  12601. #line 373 "rx-decode.opc"
  12602. int rsrc AU = (op[2] >> 4) & 0x0f;
  12603. #line 373 "rx-decode.opc"
  12604. int rdst AU = op[2] & 0x0f;
  12605. if (trace)
  12606. {
  12607. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12608. "/** 1111 1101 0010 1p sz rsrc rdst mov%s %1, %0 */",
  12609. op[0], op[1], op[2]);
  12610. printf (" p = 0x%x,", p);
  12611. printf (" sz = 0x%x,", sz);
  12612. printf (" rsrc = 0x%x,", rsrc);
  12613. printf (" rdst = 0x%x\n", rdst);
  12614. }
  12615. SYNTAX("mov%s %1, %0");
  12616. #line 373 "rx-decode.opc"
  12617. ID(mov); sBWL (sz); DR(rdst); F_____;
  12618. OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
  12619. }
  12620. break;
  12621. }
  12622. break;
  12623. case 0x29:
  12624. GETBYTE ();
  12625. switch (op[2] & 0x00)
  12626. {
  12627. case 0x00:
  12628. goto op_semantics_103;
  12629. break;
  12630. }
  12631. break;
  12632. case 0x2a:
  12633. GETBYTE ();
  12634. switch (op[2] & 0x00)
  12635. {
  12636. case 0x00:
  12637. goto op_semantics_103;
  12638. break;
  12639. }
  12640. break;
  12641. case 0x2c:
  12642. GETBYTE ();
  12643. switch (op[2] & 0x00)
  12644. {
  12645. case 0x00:
  12646. goto op_semantics_103;
  12647. break;
  12648. }
  12649. break;
  12650. case 0x2d:
  12651. GETBYTE ();
  12652. switch (op[2] & 0x00)
  12653. {
  12654. case 0x00:
  12655. goto op_semantics_103;
  12656. break;
  12657. }
  12658. break;
  12659. case 0x2e:
  12660. GETBYTE ();
  12661. switch (op[2] & 0x00)
  12662. {
  12663. case 0x00:
  12664. goto op_semantics_103;
  12665. break;
  12666. }
  12667. break;
  12668. case 0x2f:
  12669. GETBYTE ();
  12670. switch (op[2] & 0x00)
  12671. {
  12672. case 0x00:
  12673. {
  12674. /** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */
  12675. #line 1074 "rx-decode.opc"
  12676. int rsrc AU = (op[2] >> 4) & 0x0f;
  12677. #line 1074 "rx-decode.opc"
  12678. int rdst AU = op[2] & 0x0f;
  12679. if (trace)
  12680. {
  12681. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12682. "/** 1111 1101 0010 1111 rsrc rdst movli [%1], %0 */",
  12683. op[0], op[1], op[2]);
  12684. printf (" rsrc = 0x%x,", rsrc);
  12685. printf (" rdst = 0x%x\n", rdst);
  12686. }
  12687. SYNTAX("movli [%1], %0");
  12688. #line 1074 "rx-decode.opc"
  12689. ID(movli); SR(rsrc); DR(rdst); F_____;
  12690. }
  12691. break;
  12692. }
  12693. break;
  12694. case 0x38:
  12695. GETBYTE ();
  12696. switch (op[2] & 0x00)
  12697. {
  12698. case 0x00:
  12699. op_semantics_104:
  12700. {
  12701. /** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */
  12702. #line 383 "rx-decode.opc"
  12703. int p AU = (op[1] >> 2) & 0x01;
  12704. #line 383 "rx-decode.opc"
  12705. int sz AU = op[1] & 0x03;
  12706. #line 383 "rx-decode.opc"
  12707. int rsrc AU = (op[2] >> 4) & 0x0f;
  12708. #line 383 "rx-decode.opc"
  12709. int rdst AU = op[2] & 0x0f;
  12710. if (trace)
  12711. {
  12712. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12713. "/** 1111 1101 0011 1p sz rsrc rdst movu%s %1, %0 */",
  12714. op[0], op[1], op[2]);
  12715. printf (" p = 0x%x,", p);
  12716. printf (" sz = 0x%x,", sz);
  12717. printf (" rsrc = 0x%x,", rsrc);
  12718. printf (" rdst = 0x%x\n", rdst);
  12719. }
  12720. SYNTAX("movu%s %1, %0");
  12721. #line 383 "rx-decode.opc"
  12722. ID(mov); uBW (sz); DR(rdst); F_____;
  12723. OP(1, p ? RX_Operand_Predec : RX_Operand_Postinc, rsrc, 0);
  12724. /*----------------------------------------------------------------------*/
  12725. /* PUSH/POP */
  12726. }
  12727. break;
  12728. }
  12729. break;
  12730. case 0x39:
  12731. GETBYTE ();
  12732. switch (op[2] & 0x00)
  12733. {
  12734. case 0x00:
  12735. goto op_semantics_104;
  12736. break;
  12737. }
  12738. break;
  12739. case 0x3a:
  12740. GETBYTE ();
  12741. switch (op[2] & 0x00)
  12742. {
  12743. case 0x00:
  12744. goto op_semantics_104;
  12745. break;
  12746. }
  12747. break;
  12748. case 0x3c:
  12749. GETBYTE ();
  12750. switch (op[2] & 0x00)
  12751. {
  12752. case 0x00:
  12753. goto op_semantics_104;
  12754. break;
  12755. }
  12756. break;
  12757. case 0x3d:
  12758. GETBYTE ();
  12759. switch (op[2] & 0x00)
  12760. {
  12761. case 0x00:
  12762. goto op_semantics_104;
  12763. break;
  12764. }
  12765. break;
  12766. case 0x3e:
  12767. GETBYTE ();
  12768. switch (op[2] & 0x00)
  12769. {
  12770. case 0x00:
  12771. goto op_semantics_104;
  12772. break;
  12773. }
  12774. break;
  12775. case 0x44:
  12776. GETBYTE ();
  12777. switch (op[2] & 0x00)
  12778. {
  12779. case 0x00:
  12780. op_semantics_105:
  12781. {
  12782. /** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */
  12783. #line 1095 "rx-decode.opc"
  12784. int a AU = (op[1] >> 3) & 0x01;
  12785. #line 1095 "rx-decode.opc"
  12786. int srca AU = (op[2] >> 4) & 0x0f;
  12787. #line 1095 "rx-decode.opc"
  12788. int srcb AU = op[2] & 0x0f;
  12789. if (trace)
  12790. {
  12791. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12792. "/** 1111 1101 0100 a100 srca srcb msbhi %1, %2, %0 */",
  12793. op[0], op[1], op[2]);
  12794. printf (" a = 0x%x,", a);
  12795. printf (" srca = 0x%x,", srca);
  12796. printf (" srcb = 0x%x\n", srcb);
  12797. }
  12798. SYNTAX("msbhi %1, %2, %0");
  12799. #line 1095 "rx-decode.opc"
  12800. ID(msbhi); DR(a+32); SR(srca); S2R(srcb); F_____;
  12801. }
  12802. break;
  12803. }
  12804. break;
  12805. case 0x45:
  12806. GETBYTE ();
  12807. switch (op[2] & 0x00)
  12808. {
  12809. case 0x00:
  12810. op_semantics_106:
  12811. {
  12812. /** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */
  12813. #line 1101 "rx-decode.opc"
  12814. int a AU = (op[1] >> 3) & 0x01;
  12815. #line 1101 "rx-decode.opc"
  12816. int srca AU = (op[2] >> 4) & 0x0f;
  12817. #line 1101 "rx-decode.opc"
  12818. int srcb AU = op[2] & 0x0f;
  12819. if (trace)
  12820. {
  12821. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12822. "/** 1111 1101 0100 a101 srca srcb msblo %1, %2, %0 */",
  12823. op[0], op[1], op[2]);
  12824. printf (" a = 0x%x,", a);
  12825. printf (" srca = 0x%x,", srca);
  12826. printf (" srcb = 0x%x\n", srcb);
  12827. }
  12828. SYNTAX("msblo %1, %2, %0");
  12829. #line 1101 "rx-decode.opc"
  12830. ID(msblo); DR(a+32); SR(srca); S2R(srcb); F_____;
  12831. }
  12832. break;
  12833. }
  12834. break;
  12835. case 0x46:
  12836. GETBYTE ();
  12837. switch (op[2] & 0x00)
  12838. {
  12839. case 0x00:
  12840. op_semantics_107:
  12841. {
  12842. /** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */
  12843. #line 1098 "rx-decode.opc"
  12844. int a AU = (op[1] >> 3) & 0x01;
  12845. #line 1098 "rx-decode.opc"
  12846. int srca AU = (op[2] >> 4) & 0x0f;
  12847. #line 1098 "rx-decode.opc"
  12848. int srcb AU = op[2] & 0x0f;
  12849. if (trace)
  12850. {
  12851. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12852. "/** 1111 1101 0100 a110 srca srcb msblh %1, %2, %0 */",
  12853. op[0], op[1], op[2]);
  12854. printf (" a = 0x%x,", a);
  12855. printf (" srca = 0x%x,", srca);
  12856. printf (" srcb = 0x%x\n", srcb);
  12857. }
  12858. SYNTAX("msblh %1, %2, %0");
  12859. #line 1098 "rx-decode.opc"
  12860. ID(msblh); DR(a+32); SR(srca); S2R(srcb); F_____;
  12861. }
  12862. break;
  12863. }
  12864. break;
  12865. case 0x47:
  12866. GETBYTE ();
  12867. switch (op[2] & 0x00)
  12868. {
  12869. case 0x00:
  12870. op_semantics_108:
  12871. {
  12872. /** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */
  12873. #line 1086 "rx-decode.opc"
  12874. int a AU = (op[1] >> 3) & 0x01;
  12875. #line 1086 "rx-decode.opc"
  12876. int srca AU = (op[2] >> 4) & 0x0f;
  12877. #line 1086 "rx-decode.opc"
  12878. int srcb AU = op[2] & 0x0f;
  12879. if (trace)
  12880. {
  12881. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12882. "/** 1111 1101 0100 a111 srca srcb emsba %1, %2, %0 */",
  12883. op[0], op[1], op[2]);
  12884. printf (" a = 0x%x,", a);
  12885. printf (" srca = 0x%x,", srca);
  12886. printf (" srcb = 0x%x\n", srcb);
  12887. }
  12888. SYNTAX("emsba %1, %2, %0");
  12889. #line 1086 "rx-decode.opc"
  12890. ID(emsba); DR(a+32); SR(srca); S2R(srcb); F_____;
  12891. }
  12892. break;
  12893. }
  12894. break;
  12895. case 0x4c:
  12896. GETBYTE ();
  12897. switch (op[2] & 0x00)
  12898. {
  12899. case 0x00:
  12900. goto op_semantics_105;
  12901. break;
  12902. }
  12903. break;
  12904. case 0x4d:
  12905. GETBYTE ();
  12906. switch (op[2] & 0x00)
  12907. {
  12908. case 0x00:
  12909. goto op_semantics_106;
  12910. break;
  12911. }
  12912. break;
  12913. case 0x4e:
  12914. GETBYTE ();
  12915. switch (op[2] & 0x00)
  12916. {
  12917. case 0x00:
  12918. goto op_semantics_107;
  12919. break;
  12920. }
  12921. break;
  12922. case 0x4f:
  12923. GETBYTE ();
  12924. switch (op[2] & 0x00)
  12925. {
  12926. case 0x00:
  12927. goto op_semantics_108;
  12928. break;
  12929. }
  12930. break;
  12931. case 0x60:
  12932. GETBYTE ();
  12933. switch (op[2] & 0x00)
  12934. {
  12935. case 0x00:
  12936. {
  12937. /** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */
  12938. #line 754 "rx-decode.opc"
  12939. int rsrc AU = (op[2] >> 4) & 0x0f;
  12940. #line 754 "rx-decode.opc"
  12941. int rdst AU = op[2] & 0x0f;
  12942. if (trace)
  12943. {
  12944. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12945. "/** 1111 1101 0110 0000 rsrc rdst shlr %2, %0 */",
  12946. op[0], op[1], op[2]);
  12947. printf (" rsrc = 0x%x,", rsrc);
  12948. printf (" rdst = 0x%x\n", rdst);
  12949. }
  12950. SYNTAX("shlr %2, %0");
  12951. #line 754 "rx-decode.opc"
  12952. ID(shlr); S2R(rsrc); SR(rdst); DR(rdst); F__SZC;
  12953. }
  12954. break;
  12955. }
  12956. break;
  12957. case 0x61:
  12958. GETBYTE ();
  12959. switch (op[2] & 0x00)
  12960. {
  12961. case 0x00:
  12962. {
  12963. /** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */
  12964. #line 744 "rx-decode.opc"
  12965. int rsrc AU = (op[2] >> 4) & 0x0f;
  12966. #line 744 "rx-decode.opc"
  12967. int rdst AU = op[2] & 0x0f;
  12968. if (trace)
  12969. {
  12970. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12971. "/** 1111 1101 0110 0001 rsrc rdst shar %2, %0 */",
  12972. op[0], op[1], op[2]);
  12973. printf (" rsrc = 0x%x,", rsrc);
  12974. printf (" rdst = 0x%x\n", rdst);
  12975. }
  12976. SYNTAX("shar %2, %0");
  12977. #line 744 "rx-decode.opc"
  12978. ID(shar); S2R(rsrc); SR(rdst); DR(rdst); F_0SZC;
  12979. }
  12980. break;
  12981. }
  12982. break;
  12983. case 0x62:
  12984. GETBYTE ();
  12985. switch (op[2] & 0x00)
  12986. {
  12987. case 0x00:
  12988. {
  12989. /** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */
  12990. #line 734 "rx-decode.opc"
  12991. int rsrc AU = (op[2] >> 4) & 0x0f;
  12992. #line 734 "rx-decode.opc"
  12993. int rdst AU = op[2] & 0x0f;
  12994. if (trace)
  12995. {
  12996. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  12997. "/** 1111 1101 0110 0010 rsrc rdst shll %2, %0 */",
  12998. op[0], op[1], op[2]);
  12999. printf (" rsrc = 0x%x,", rsrc);
  13000. printf (" rdst = 0x%x\n", rdst);
  13001. }
  13002. SYNTAX("shll %2, %0");
  13003. #line 734 "rx-decode.opc"
  13004. ID(shll); S2R(rsrc); SR(rdst); DR(rdst); F_OSZC;
  13005. }
  13006. break;
  13007. }
  13008. break;
  13009. case 0x64:
  13010. GETBYTE ();
  13011. switch (op[2] & 0x00)
  13012. {
  13013. case 0x00:
  13014. {
  13015. /** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */
  13016. #line 778 "rx-decode.opc"
  13017. int rsrc AU = (op[2] >> 4) & 0x0f;
  13018. #line 778 "rx-decode.opc"
  13019. int rdst AU = op[2] & 0x0f;
  13020. if (trace)
  13021. {
  13022. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13023. "/** 1111 1101 0110 0100 rsrc rdst rotr %1, %0 */",
  13024. op[0], op[1], op[2]);
  13025. printf (" rsrc = 0x%x,", rsrc);
  13026. printf (" rdst = 0x%x\n", rdst);
  13027. }
  13028. SYNTAX("rotr %1, %0");
  13029. #line 778 "rx-decode.opc"
  13030. ID(rotr); SR(rsrc); DR(rdst); F__SZC;
  13031. }
  13032. break;
  13033. }
  13034. break;
  13035. case 0x65:
  13036. GETBYTE ();
  13037. switch (op[2] & 0x00)
  13038. {
  13039. case 0x00:
  13040. {
  13041. /** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */
  13042. #line 781 "rx-decode.opc"
  13043. int rsrc AU = (op[2] >> 4) & 0x0f;
  13044. #line 781 "rx-decode.opc"
  13045. int rdst AU = op[2] & 0x0f;
  13046. if (trace)
  13047. {
  13048. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13049. "/** 1111 1101 0110 0101 rsrc rdst revw %1, %0 */",
  13050. op[0], op[1], op[2]);
  13051. printf (" rsrc = 0x%x,", rsrc);
  13052. printf (" rdst = 0x%x\n", rdst);
  13053. }
  13054. SYNTAX("revw %1, %0");
  13055. #line 781 "rx-decode.opc"
  13056. ID(revw); SR(rsrc); DR(rdst);
  13057. }
  13058. break;
  13059. }
  13060. break;
  13061. case 0x66:
  13062. GETBYTE ();
  13063. switch (op[2] & 0x00)
  13064. {
  13065. case 0x00:
  13066. {
  13067. /** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */
  13068. #line 772 "rx-decode.opc"
  13069. int rsrc AU = (op[2] >> 4) & 0x0f;
  13070. #line 772 "rx-decode.opc"
  13071. int rdst AU = op[2] & 0x0f;
  13072. if (trace)
  13073. {
  13074. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13075. "/** 1111 1101 0110 0110 rsrc rdst rotl %1, %0 */",
  13076. op[0], op[1], op[2]);
  13077. printf (" rsrc = 0x%x,", rsrc);
  13078. printf (" rdst = 0x%x\n", rdst);
  13079. }
  13080. SYNTAX("rotl %1, %0");
  13081. #line 772 "rx-decode.opc"
  13082. ID(rotl); SR(rsrc); DR(rdst); F__SZC;
  13083. }
  13084. break;
  13085. }
  13086. break;
  13087. case 0x67:
  13088. GETBYTE ();
  13089. switch (op[2] & 0x00)
  13090. {
  13091. case 0x00:
  13092. {
  13093. /** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */
  13094. #line 784 "rx-decode.opc"
  13095. int rsrc AU = (op[2] >> 4) & 0x0f;
  13096. #line 784 "rx-decode.opc"
  13097. int rdst AU = op[2] & 0x0f;
  13098. if (trace)
  13099. {
  13100. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13101. "/** 1111 1101 0110 0111 rsrc rdst revl %1, %0 */",
  13102. op[0], op[1], op[2]);
  13103. printf (" rsrc = 0x%x,", rsrc);
  13104. printf (" rdst = 0x%x\n", rdst);
  13105. }
  13106. SYNTAX("revl %1, %0");
  13107. #line 784 "rx-decode.opc"
  13108. ID(revl); SR(rsrc); DR(rdst);
  13109. /*----------------------------------------------------------------------*/
  13110. /* BRANCH */
  13111. }
  13112. break;
  13113. }
  13114. break;
  13115. case 0x68:
  13116. GETBYTE ();
  13117. switch (op[2] & 0x00)
  13118. {
  13119. case 0x00:
  13120. op_semantics_109:
  13121. {
  13122. /** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */
  13123. #line 1035 "rx-decode.opc"
  13124. int c AU = op[1] & 0x01;
  13125. #line 1035 "rx-decode.opc"
  13126. int rsrc AU = (op[2] >> 4) & 0x0f;
  13127. #line 1035 "rx-decode.opc"
  13128. int rdst AU = op[2] & 0x0f;
  13129. if (trace)
  13130. {
  13131. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13132. "/** 1111 1101 0110 100c rsrc rdst mvtc %1, %0 */",
  13133. op[0], op[1], op[2]);
  13134. printf (" c = 0x%x,", c);
  13135. printf (" rsrc = 0x%x,", rsrc);
  13136. printf (" rdst = 0x%x\n", rdst);
  13137. }
  13138. SYNTAX("mvtc %1, %0");
  13139. #line 1035 "rx-decode.opc"
  13140. ID(mov); SR(rsrc); DR(c*16+rdst + 16);
  13141. }
  13142. break;
  13143. }
  13144. break;
  13145. case 0x69:
  13146. GETBYTE ();
  13147. switch (op[2] & 0x00)
  13148. {
  13149. case 0x00:
  13150. goto op_semantics_109;
  13151. break;
  13152. }
  13153. break;
  13154. case 0x6a:
  13155. GETBYTE ();
  13156. switch (op[2] & 0x00)
  13157. {
  13158. case 0x00:
  13159. op_semantics_110:
  13160. {
  13161. /** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */
  13162. #line 1038 "rx-decode.opc"
  13163. int s AU = op[1] & 0x01;
  13164. #line 1038 "rx-decode.opc"
  13165. int rsrc AU = (op[2] >> 4) & 0x0f;
  13166. #line 1038 "rx-decode.opc"
  13167. int rdst AU = op[2] & 0x0f;
  13168. if (trace)
  13169. {
  13170. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13171. "/** 1111 1101 0110 101s rsrc rdst mvfc %1, %0 */",
  13172. op[0], op[1], op[2]);
  13173. printf (" s = 0x%x,", s);
  13174. printf (" rsrc = 0x%x,", rsrc);
  13175. printf (" rdst = 0x%x\n", rdst);
  13176. }
  13177. SYNTAX("mvfc %1, %0");
  13178. #line 1038 "rx-decode.opc"
  13179. ID(mov); SR((s*16+rsrc) + 16); DR(rdst);
  13180. /*----------------------------------------------------------------------*/
  13181. /* INTERRUPTS */
  13182. }
  13183. break;
  13184. }
  13185. break;
  13186. case 0x6b:
  13187. GETBYTE ();
  13188. switch (op[2] & 0x00)
  13189. {
  13190. case 0x00:
  13191. goto op_semantics_110;
  13192. break;
  13193. }
  13194. break;
  13195. case 0x6c:
  13196. GETBYTE ();
  13197. switch (op[2] & 0x00)
  13198. {
  13199. case 0x00:
  13200. op_semantics_111:
  13201. {
  13202. /** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */
  13203. #line 775 "rx-decode.opc"
  13204. int i AU = op[1] & 0x01;
  13205. #line 775 "rx-decode.opc"
  13206. int mmmm AU = (op[2] >> 4) & 0x0f;
  13207. #line 775 "rx-decode.opc"
  13208. int rdst AU = op[2] & 0x0f;
  13209. if (trace)
  13210. {
  13211. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13212. "/** 1111 1101 0110 110i mmmm rdst rotr #%1, %0 */",
  13213. op[0], op[1], op[2]);
  13214. printf (" i = 0x%x,", i);
  13215. printf (" mmmm = 0x%x,", mmmm);
  13216. printf (" rdst = 0x%x\n", rdst);
  13217. }
  13218. SYNTAX("rotr #%1, %0");
  13219. #line 775 "rx-decode.opc"
  13220. ID(rotr); SC(i*16+mmmm); DR(rdst); F__SZC;
  13221. }
  13222. break;
  13223. }
  13224. break;
  13225. case 0x6d:
  13226. GETBYTE ();
  13227. switch (op[2] & 0x00)
  13228. {
  13229. case 0x00:
  13230. goto op_semantics_111;
  13231. break;
  13232. }
  13233. break;
  13234. case 0x6e:
  13235. GETBYTE ();
  13236. switch (op[2] & 0x00)
  13237. {
  13238. case 0x00:
  13239. op_semantics_112:
  13240. {
  13241. /** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */
  13242. #line 769 "rx-decode.opc"
  13243. int i AU = op[1] & 0x01;
  13244. #line 769 "rx-decode.opc"
  13245. int mmmm AU = (op[2] >> 4) & 0x0f;
  13246. #line 769 "rx-decode.opc"
  13247. int rdst AU = op[2] & 0x0f;
  13248. if (trace)
  13249. {
  13250. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13251. "/** 1111 1101 0110 111i mmmm rdst rotl #%1, %0 */",
  13252. op[0], op[1], op[2]);
  13253. printf (" i = 0x%x,", i);
  13254. printf (" mmmm = 0x%x,", mmmm);
  13255. printf (" rdst = 0x%x\n", rdst);
  13256. }
  13257. SYNTAX("rotl #%1, %0");
  13258. #line 769 "rx-decode.opc"
  13259. ID(rotl); SC(i*16+mmmm); DR(rdst); F__SZC;
  13260. }
  13261. break;
  13262. }
  13263. break;
  13264. case 0x6f:
  13265. GETBYTE ();
  13266. switch (op[2] & 0x00)
  13267. {
  13268. case 0x00:
  13269. goto op_semantics_112;
  13270. break;
  13271. }
  13272. break;
  13273. case 0x70:
  13274. GETBYTE ();
  13275. switch (op[2] & 0xf0)
  13276. {
  13277. case 0x20:
  13278. op_semantics_113:
  13279. {
  13280. /** 1111 1101 0111 im00 0010rdst adc #%1, %0 */
  13281. #line 513 "rx-decode.opc"
  13282. int im AU = (op[1] >> 2) & 0x03;
  13283. #line 513 "rx-decode.opc"
  13284. int rdst AU = op[2] & 0x0f;
  13285. if (trace)
  13286. {
  13287. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13288. "/** 1111 1101 0111 im00 0010rdst adc #%1, %0 */",
  13289. op[0], op[1], op[2]);
  13290. printf (" im = 0x%x,", im);
  13291. printf (" rdst = 0x%x\n", rdst);
  13292. }
  13293. SYNTAX("adc #%1, %0");
  13294. #line 513 "rx-decode.opc"
  13295. ID(adc); SC(IMMex(im)); DR(rdst); F_OSZC;
  13296. }
  13297. break;
  13298. case 0x40:
  13299. op_semantics_114:
  13300. {
  13301. /** 1111 1101 0111 im00 0100rdst max #%1, %0 */
  13302. #line 595 "rx-decode.opc"
  13303. int im AU = (op[1] >> 2) & 0x03;
  13304. #line 595 "rx-decode.opc"
  13305. int rdst AU = op[2] & 0x0f;
  13306. if (trace)
  13307. {
  13308. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13309. "/** 1111 1101 0111 im00 0100rdst max #%1, %0 */",
  13310. op[0], op[1], op[2]);
  13311. printf (" im = 0x%x,", im);
  13312. printf (" rdst = 0x%x\n", rdst);
  13313. }
  13314. SYNTAX("max #%1, %0");
  13315. #line 595 "rx-decode.opc"
  13316. int val = IMMex (im);
  13317. if (im == 0 && (unsigned) val == 0x80000000 && rdst == 0)
  13318. {
  13319. ID (nop7);
  13320. SYNTAX("nop\t; max\t#0x80000000, r0");
  13321. }
  13322. else
  13323. {
  13324. ID(max);
  13325. }
  13326. DR(rdst); SC(val);
  13327. }
  13328. break;
  13329. case 0x50:
  13330. op_semantics_115:
  13331. {
  13332. /** 1111 1101 0111 im00 0101rdst min #%1, %0 */
  13333. #line 625 "rx-decode.opc"
  13334. int im AU = (op[1] >> 2) & 0x03;
  13335. #line 625 "rx-decode.opc"
  13336. int rdst AU = op[2] & 0x0f;
  13337. if (trace)
  13338. {
  13339. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13340. "/** 1111 1101 0111 im00 0101rdst min #%1, %0 */",
  13341. op[0], op[1], op[2]);
  13342. printf (" im = 0x%x,", im);
  13343. printf (" rdst = 0x%x\n", rdst);
  13344. }
  13345. SYNTAX("min #%1, %0");
  13346. #line 625 "rx-decode.opc"
  13347. ID(min); DR(rdst); SC(IMMex(im));
  13348. }
  13349. break;
  13350. case 0x60:
  13351. op_semantics_116:
  13352. {
  13353. /** 1111 1101 0111 im00 0110rdst emul #%1, %0 */
  13354. #line 683 "rx-decode.opc"
  13355. int im AU = (op[1] >> 2) & 0x03;
  13356. #line 683 "rx-decode.opc"
  13357. int rdst AU = op[2] & 0x0f;
  13358. if (trace)
  13359. {
  13360. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13361. "/** 1111 1101 0111 im00 0110rdst emul #%1, %0 */",
  13362. op[0], op[1], op[2]);
  13363. printf (" im = 0x%x,", im);
  13364. printf (" rdst = 0x%x\n", rdst);
  13365. }
  13366. SYNTAX("emul #%1, %0");
  13367. #line 683 "rx-decode.opc"
  13368. ID(emul); DR(rdst); SC(IMMex(im));
  13369. }
  13370. break;
  13371. case 0x70:
  13372. op_semantics_117:
  13373. {
  13374. /** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */
  13375. #line 695 "rx-decode.opc"
  13376. int im AU = (op[1] >> 2) & 0x03;
  13377. #line 695 "rx-decode.opc"
  13378. int rdst AU = op[2] & 0x0f;
  13379. if (trace)
  13380. {
  13381. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13382. "/** 1111 1101 0111 im00 0111rdst emulu #%1, %0 */",
  13383. op[0], op[1], op[2]);
  13384. printf (" im = 0x%x,", im);
  13385. printf (" rdst = 0x%x\n", rdst);
  13386. }
  13387. SYNTAX("emulu #%1, %0");
  13388. #line 695 "rx-decode.opc"
  13389. ID(emulu); DR(rdst); SC(IMMex(im));
  13390. }
  13391. break;
  13392. case 0x80:
  13393. op_semantics_118:
  13394. {
  13395. /** 1111 1101 0111 im00 1000rdst div #%1, %0 */
  13396. #line 707 "rx-decode.opc"
  13397. int im AU = (op[1] >> 2) & 0x03;
  13398. #line 707 "rx-decode.opc"
  13399. int rdst AU = op[2] & 0x0f;
  13400. if (trace)
  13401. {
  13402. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13403. "/** 1111 1101 0111 im00 1000rdst div #%1, %0 */",
  13404. op[0], op[1], op[2]);
  13405. printf (" im = 0x%x,", im);
  13406. printf (" rdst = 0x%x\n", rdst);
  13407. }
  13408. SYNTAX("div #%1, %0");
  13409. #line 707 "rx-decode.opc"
  13410. ID(div); DR(rdst); SC(IMMex(im)); F_O___;
  13411. }
  13412. break;
  13413. case 0x90:
  13414. op_semantics_119:
  13415. {
  13416. /** 1111 1101 0111 im00 1001rdst divu #%1, %0 */
  13417. #line 719 "rx-decode.opc"
  13418. int im AU = (op[1] >> 2) & 0x03;
  13419. #line 719 "rx-decode.opc"
  13420. int rdst AU = op[2] & 0x0f;
  13421. if (trace)
  13422. {
  13423. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13424. "/** 1111 1101 0111 im00 1001rdst divu #%1, %0 */",
  13425. op[0], op[1], op[2]);
  13426. printf (" im = 0x%x,", im);
  13427. printf (" rdst = 0x%x\n", rdst);
  13428. }
  13429. SYNTAX("divu #%1, %0");
  13430. #line 719 "rx-decode.opc"
  13431. ID(divu); DR(rdst); SC(IMMex(im)); F_O___;
  13432. }
  13433. break;
  13434. case 0xc0:
  13435. op_semantics_120:
  13436. {
  13437. /** 1111 1101 0111 im00 1100rdst tst #%1, %2 */
  13438. #line 492 "rx-decode.opc"
  13439. int im AU = (op[1] >> 2) & 0x03;
  13440. #line 492 "rx-decode.opc"
  13441. int rdst AU = op[2] & 0x0f;
  13442. if (trace)
  13443. {
  13444. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13445. "/** 1111 1101 0111 im00 1100rdst tst #%1, %2 */",
  13446. op[0], op[1], op[2]);
  13447. printf (" im = 0x%x,", im);
  13448. printf (" rdst = 0x%x\n", rdst);
  13449. }
  13450. SYNTAX("tst #%1, %2");
  13451. #line 492 "rx-decode.opc"
  13452. ID(and); SC(IMMex(im)); S2R(rdst); F__SZ_;
  13453. }
  13454. break;
  13455. case 0xd0:
  13456. op_semantics_121:
  13457. {
  13458. /** 1111 1101 0111 im00 1101rdst xor #%1, %0 */
  13459. #line 471 "rx-decode.opc"
  13460. int im AU = (op[1] >> 2) & 0x03;
  13461. #line 471 "rx-decode.opc"
  13462. int rdst AU = op[2] & 0x0f;
  13463. if (trace)
  13464. {
  13465. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13466. "/** 1111 1101 0111 im00 1101rdst xor #%1, %0 */",
  13467. op[0], op[1], op[2]);
  13468. printf (" im = 0x%x,", im);
  13469. printf (" rdst = 0x%x\n", rdst);
  13470. }
  13471. SYNTAX("xor #%1, %0");
  13472. #line 471 "rx-decode.opc"
  13473. ID(xor); SC(IMMex(im)); DR(rdst); F__SZ_;
  13474. }
  13475. break;
  13476. case 0xe0:
  13477. op_semantics_122:
  13478. {
  13479. /** 1111 1101 0111 im00 1110rdst stz #%1, %0 */
  13480. #line 417 "rx-decode.opc"
  13481. int im AU = (op[1] >> 2) & 0x03;
  13482. #line 417 "rx-decode.opc"
  13483. int rdst AU = op[2] & 0x0f;
  13484. if (trace)
  13485. {
  13486. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13487. "/** 1111 1101 0111 im00 1110rdst stz #%1, %0 */",
  13488. op[0], op[1], op[2]);
  13489. printf (" im = 0x%x,", im);
  13490. printf (" rdst = 0x%x\n", rdst);
  13491. }
  13492. SYNTAX("stz #%1, %0");
  13493. #line 417 "rx-decode.opc"
  13494. ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_z);
  13495. }
  13496. break;
  13497. case 0xf0:
  13498. op_semantics_123:
  13499. {
  13500. /** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */
  13501. #line 420 "rx-decode.opc"
  13502. int im AU = (op[1] >> 2) & 0x03;
  13503. #line 420 "rx-decode.opc"
  13504. int rdst AU = op[2] & 0x0f;
  13505. if (trace)
  13506. {
  13507. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13508. "/** 1111 1101 0111 im00 1111rdst stnz #%1, %0 */",
  13509. op[0], op[1], op[2]);
  13510. printf (" im = 0x%x,", im);
  13511. printf (" rdst = 0x%x\n", rdst);
  13512. }
  13513. SYNTAX("stnz #%1, %0");
  13514. #line 420 "rx-decode.opc"
  13515. ID(stcc); SC(IMMex(im)); DR(rdst); S2cc(RXC_nz);
  13516. /*----------------------------------------------------------------------*/
  13517. /* RTSD */
  13518. }
  13519. break;
  13520. default: UNSUPPORTED(); break;
  13521. }
  13522. break;
  13523. case 0x72:
  13524. GETBYTE ();
  13525. switch (op[2] & 0xf0)
  13526. {
  13527. case 0x00:
  13528. {
  13529. /** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */
  13530. #line 927 "rx-decode.opc"
  13531. int rdst AU = op[2] & 0x0f;
  13532. if (trace)
  13533. {
  13534. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13535. "/** 1111 1101 0111 0010 0000 rdst fsub #%1, %0 */",
  13536. op[0], op[1], op[2]);
  13537. printf (" rdst = 0x%x\n", rdst);
  13538. }
  13539. SYNTAX("fsub #%1, %0");
  13540. #line 927 "rx-decode.opc"
  13541. ID(fsub); DR(rdst); SC(IMM(0)); F__SZ_;
  13542. }
  13543. break;
  13544. case 0x10:
  13545. {
  13546. /** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */
  13547. #line 921 "rx-decode.opc"
  13548. int rdst AU = op[2] & 0x0f;
  13549. if (trace)
  13550. {
  13551. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13552. "/** 1111 1101 0111 0010 0001 rdst fcmp #%1, %0 */",
  13553. op[0], op[1], op[2]);
  13554. printf (" rdst = 0x%x\n", rdst);
  13555. }
  13556. SYNTAX("fcmp #%1, %0");
  13557. #line 921 "rx-decode.opc"
  13558. ID(fcmp); DR(rdst); SC(IMM(0)); F_OSZ_;
  13559. }
  13560. break;
  13561. case 0x20:
  13562. {
  13563. /** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */
  13564. #line 915 "rx-decode.opc"
  13565. int rdst AU = op[2] & 0x0f;
  13566. if (trace)
  13567. {
  13568. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13569. "/** 1111 1101 0111 0010 0010 rdst fadd #%1, %0 */",
  13570. op[0], op[1], op[2]);
  13571. printf (" rdst = 0x%x\n", rdst);
  13572. }
  13573. SYNTAX("fadd #%1, %0");
  13574. #line 915 "rx-decode.opc"
  13575. ID(fadd); DR(rdst); SC(IMM(0)); F__SZ_;
  13576. }
  13577. break;
  13578. case 0x30:
  13579. {
  13580. /** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */
  13581. #line 936 "rx-decode.opc"
  13582. int rdst AU = op[2] & 0x0f;
  13583. if (trace)
  13584. {
  13585. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13586. "/** 1111 1101 0111 0010 0011 rdst fmul #%1, %0 */",
  13587. op[0], op[1], op[2]);
  13588. printf (" rdst = 0x%x\n", rdst);
  13589. }
  13590. SYNTAX("fmul #%1, %0");
  13591. #line 936 "rx-decode.opc"
  13592. ID(fmul); DR(rdst); SC(IMM(0)); F__SZ_;
  13593. }
  13594. break;
  13595. case 0x40:
  13596. {
  13597. /** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */
  13598. #line 942 "rx-decode.opc"
  13599. int rdst AU = op[2] & 0x0f;
  13600. if (trace)
  13601. {
  13602. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13603. "/** 1111 1101 0111 0010 0100 rdst fdiv #%1, %0 */",
  13604. op[0], op[1], op[2]);
  13605. printf (" rdst = 0x%x\n", rdst);
  13606. }
  13607. SYNTAX("fdiv #%1, %0");
  13608. #line 942 "rx-decode.opc"
  13609. ID(fdiv); DR(rdst); SC(IMM(0)); F__SZ_;
  13610. }
  13611. break;
  13612. default: UNSUPPORTED(); break;
  13613. }
  13614. break;
  13615. case 0x73:
  13616. GETBYTE ();
  13617. switch (op[2] & 0xe0)
  13618. {
  13619. case 0x00:
  13620. op_semantics_124:
  13621. {
  13622. /** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */
  13623. #line 1032 "rx-decode.opc"
  13624. int im AU = (op[1] >> 2) & 0x03;
  13625. #line 1032 "rx-decode.opc"
  13626. int crdst AU = op[2] & 0x1f;
  13627. if (trace)
  13628. {
  13629. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  13630. "/** 1111 1101 0111 im11 000crdst mvtc #%1, %0 */",
  13631. op[0], op[1], op[2]);
  13632. printf (" im = 0x%x,", im);
  13633. printf (" crdst = 0x%x\n", crdst);
  13634. }
  13635. SYNTAX("mvtc #%1, %0");
  13636. #line 1032 "rx-decode.opc"
  13637. ID(mov); SC(IMMex(im)); DR(crdst + 16);
  13638. }
  13639. break;
  13640. default: UNSUPPORTED(); break;
  13641. }
  13642. break;
  13643. case 0x74:
  13644. GETBYTE ();
  13645. switch (op[2] & 0xf0)
  13646. {
  13647. case 0x20:
  13648. goto op_semantics_113;
  13649. break;
  13650. case 0x40:
  13651. goto op_semantics_114;
  13652. break;
  13653. case 0x50:
  13654. goto op_semantics_115;
  13655. break;
  13656. case 0x60:
  13657. goto op_semantics_116;
  13658. break;
  13659. case 0x70:
  13660. goto op_semantics_117;
  13661. break;
  13662. case 0x80:
  13663. goto op_semantics_118;
  13664. break;
  13665. case 0x90:
  13666. goto op_semantics_119;
  13667. break;
  13668. case 0xc0:
  13669. goto op_semantics_120;
  13670. break;
  13671. case 0xd0:
  13672. goto op_semantics_121;
  13673. break;
  13674. case 0xe0:
  13675. goto op_semantics_122;
  13676. break;
  13677. case 0xf0:
  13678. goto op_semantics_123;
  13679. break;
  13680. default: UNSUPPORTED(); break;
  13681. }
  13682. break;
  13683. case 0x75:
  13684. GETBYTE ();
  13685. switch (op[2] & 0xff)
  13686. {
  13687. case 0x80:
  13688. GETBYTE ();
  13689. switch (op[3] & 0x0f)
  13690. {
  13691. case 0x00:
  13692. op_semantics_125:
  13693. {
  13694. /** 1111 1101 0111 0101 1000 rdst rsrc 0000 dmov.l %1, %0 */
  13695. #line 1176 "rx-decode.opc"
  13696. int rdst AU = op[2] & 0x0f;
  13697. #line 1176 "rx-decode.opc"
  13698. int rsrc AU = (op[3] >> 4) & 0x0f;
  13699. if (trace)
  13700. {
  13701. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  13702. "/** 1111 1101 0111 0101 1000 rdst rsrc 0000 dmov.l %1, %0 */",
  13703. op[0], op[1], op[2], op[3]);
  13704. printf (" rdst = 0x%x,", rdst);
  13705. printf (" rsrc = 0x%x\n", rsrc);
  13706. }
  13707. SYNTAX("dmov.l %1, %0");
  13708. #line 1176 "rx-decode.opc"
  13709. ID(dmov); DR(rdst); SDRL(rsrc); F_____;
  13710. }
  13711. break;
  13712. case 0x02:
  13713. op_semantics_126:
  13714. {
  13715. /** 1111 1101 0111 0101 1000 rdst rsrc 0010 dmov.l %1, %0 */
  13716. #line 1173 "rx-decode.opc"
  13717. int rdst AU = op[2] & 0x0f;
  13718. #line 1173 "rx-decode.opc"
  13719. int rsrc AU = (op[3] >> 4) & 0x0f;
  13720. if (trace)
  13721. {
  13722. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  13723. "/** 1111 1101 0111 0101 1000 rdst rsrc 0010 dmov.l %1, %0 */",
  13724. op[0], op[1], op[2], op[3]);
  13725. printf (" rdst = 0x%x,", rdst);
  13726. printf (" rsrc = 0x%x\n", rsrc);
  13727. }
  13728. SYNTAX("dmov.l %1, %0");
  13729. #line 1173 "rx-decode.opc"
  13730. ID(dmov); DR(rdst); SDRH(rsrc); F_____;
  13731. }
  13732. break;
  13733. case 0x04:
  13734. op_semantics_127:
  13735. {
  13736. /** 1111 1101 0111 0101 1000 rdst rsrc 0100 mvfdc %1, %0 */
  13737. #line 1226 "rx-decode.opc"
  13738. int rdst AU = op[2] & 0x0f;
  13739. #line 1226 "rx-decode.opc"
  13740. int rsrc AU = (op[3] >> 4) & 0x0f;
  13741. if (trace)
  13742. {
  13743. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  13744. "/** 1111 1101 0111 0101 1000 rdst rsrc 0100 mvfdc %1, %0 */",
  13745. op[0], op[1], op[2], op[3]);
  13746. printf (" rdst = 0x%x,", rdst);
  13747. printf (" rsrc = 0x%x\n", rsrc);
  13748. }
  13749. SYNTAX("mvfdc %1, %0");
  13750. #line 1226 "rx-decode.opc"
  13751. ID(mvfdc); DR(rdst); SCR(rsrc); F_____;
  13752. }
  13753. break;
  13754. default: UNSUPPORTED(); break;
  13755. }
  13756. break;
  13757. case 0x81:
  13758. GETBYTE ();
  13759. switch (op[3] & 0x0f)
  13760. {
  13761. case 0x00:
  13762. goto op_semantics_125;
  13763. break;
  13764. case 0x02:
  13765. goto op_semantics_126;
  13766. break;
  13767. case 0x04:
  13768. goto op_semantics_127;
  13769. break;
  13770. default: UNSUPPORTED(); break;
  13771. }
  13772. break;
  13773. case 0x82:
  13774. GETBYTE ();
  13775. switch (op[3] & 0x0f)
  13776. {
  13777. case 0x00:
  13778. goto op_semantics_125;
  13779. break;
  13780. case 0x02:
  13781. goto op_semantics_126;
  13782. break;
  13783. case 0x04:
  13784. goto op_semantics_127;
  13785. break;
  13786. default: UNSUPPORTED(); break;
  13787. }
  13788. break;
  13789. case 0x83:
  13790. GETBYTE ();
  13791. switch (op[3] & 0x0f)
  13792. {
  13793. case 0x00:
  13794. goto op_semantics_125;
  13795. break;
  13796. case 0x02:
  13797. goto op_semantics_126;
  13798. break;
  13799. case 0x04:
  13800. goto op_semantics_127;
  13801. break;
  13802. default: UNSUPPORTED(); break;
  13803. }
  13804. break;
  13805. case 0x84:
  13806. GETBYTE ();
  13807. switch (op[3] & 0x0f)
  13808. {
  13809. case 0x00:
  13810. goto op_semantics_125;
  13811. break;
  13812. case 0x02:
  13813. goto op_semantics_126;
  13814. break;
  13815. case 0x04:
  13816. goto op_semantics_127;
  13817. break;
  13818. default: UNSUPPORTED(); break;
  13819. }
  13820. break;
  13821. case 0x85:
  13822. GETBYTE ();
  13823. switch (op[3] & 0x0f)
  13824. {
  13825. case 0x00:
  13826. goto op_semantics_125;
  13827. break;
  13828. case 0x02:
  13829. goto op_semantics_126;
  13830. break;
  13831. case 0x04:
  13832. goto op_semantics_127;
  13833. break;
  13834. default: UNSUPPORTED(); break;
  13835. }
  13836. break;
  13837. case 0x86:
  13838. GETBYTE ();
  13839. switch (op[3] & 0x0f)
  13840. {
  13841. case 0x00:
  13842. goto op_semantics_125;
  13843. break;
  13844. case 0x02:
  13845. goto op_semantics_126;
  13846. break;
  13847. case 0x04:
  13848. goto op_semantics_127;
  13849. break;
  13850. default: UNSUPPORTED(); break;
  13851. }
  13852. break;
  13853. case 0x87:
  13854. GETBYTE ();
  13855. switch (op[3] & 0x0f)
  13856. {
  13857. case 0x00:
  13858. goto op_semantics_125;
  13859. break;
  13860. case 0x02:
  13861. goto op_semantics_126;
  13862. break;
  13863. case 0x04:
  13864. goto op_semantics_127;
  13865. break;
  13866. default: UNSUPPORTED(); break;
  13867. }
  13868. break;
  13869. case 0x88:
  13870. GETBYTE ();
  13871. switch (op[3] & 0x0f)
  13872. {
  13873. case 0x00:
  13874. goto op_semantics_125;
  13875. break;
  13876. case 0x02:
  13877. goto op_semantics_126;
  13878. break;
  13879. case 0x04:
  13880. goto op_semantics_127;
  13881. break;
  13882. default: UNSUPPORTED(); break;
  13883. }
  13884. break;
  13885. case 0x89:
  13886. GETBYTE ();
  13887. switch (op[3] & 0x0f)
  13888. {
  13889. case 0x00:
  13890. goto op_semantics_125;
  13891. break;
  13892. case 0x02:
  13893. goto op_semantics_126;
  13894. break;
  13895. case 0x04:
  13896. goto op_semantics_127;
  13897. break;
  13898. default: UNSUPPORTED(); break;
  13899. }
  13900. break;
  13901. case 0x8a:
  13902. GETBYTE ();
  13903. switch (op[3] & 0x0f)
  13904. {
  13905. case 0x00:
  13906. goto op_semantics_125;
  13907. break;
  13908. case 0x02:
  13909. goto op_semantics_126;
  13910. break;
  13911. case 0x04:
  13912. goto op_semantics_127;
  13913. break;
  13914. default: UNSUPPORTED(); break;
  13915. }
  13916. break;
  13917. case 0x8b:
  13918. GETBYTE ();
  13919. switch (op[3] & 0x0f)
  13920. {
  13921. case 0x00:
  13922. goto op_semantics_125;
  13923. break;
  13924. case 0x02:
  13925. goto op_semantics_126;
  13926. break;
  13927. case 0x04:
  13928. goto op_semantics_127;
  13929. break;
  13930. default: UNSUPPORTED(); break;
  13931. }
  13932. break;
  13933. case 0x8c:
  13934. GETBYTE ();
  13935. switch (op[3] & 0x0f)
  13936. {
  13937. case 0x00:
  13938. goto op_semantics_125;
  13939. break;
  13940. case 0x02:
  13941. goto op_semantics_126;
  13942. break;
  13943. case 0x04:
  13944. goto op_semantics_127;
  13945. break;
  13946. default: UNSUPPORTED(); break;
  13947. }
  13948. break;
  13949. case 0x8d:
  13950. GETBYTE ();
  13951. switch (op[3] & 0x0f)
  13952. {
  13953. case 0x00:
  13954. goto op_semantics_125;
  13955. break;
  13956. case 0x02:
  13957. goto op_semantics_126;
  13958. break;
  13959. case 0x04:
  13960. goto op_semantics_127;
  13961. break;
  13962. default: UNSUPPORTED(); break;
  13963. }
  13964. break;
  13965. case 0x8e:
  13966. GETBYTE ();
  13967. switch (op[3] & 0x0f)
  13968. {
  13969. case 0x00:
  13970. goto op_semantics_125;
  13971. break;
  13972. case 0x02:
  13973. goto op_semantics_126;
  13974. break;
  13975. case 0x04:
  13976. goto op_semantics_127;
  13977. break;
  13978. default: UNSUPPORTED(); break;
  13979. }
  13980. break;
  13981. case 0x8f:
  13982. GETBYTE ();
  13983. switch (op[3] & 0x0f)
  13984. {
  13985. case 0x00:
  13986. goto op_semantics_125;
  13987. break;
  13988. case 0x02:
  13989. goto op_semantics_126;
  13990. break;
  13991. case 0x04:
  13992. goto op_semantics_127;
  13993. break;
  13994. default: UNSUPPORTED(); break;
  13995. }
  13996. break;
  13997. default: UNSUPPORTED(); break;
  13998. }
  13999. break;
  14000. case 0x76:
  14001. GETBYTE ();
  14002. switch (op[2] & 0xff)
  14003. {
  14004. case 0xc0:
  14005. GETBYTE ();
  14006. switch (op[3] & 0xff)
  14007. {
  14008. case 0x00:
  14009. op_semantics_128:
  14010. {
  14011. /** 1111 1101 0111 0110 1100 rsrc 0000 0000 save %1 */
  14012. #line 1161 "rx-decode.opc"
  14013. int rsrc AU = op[2] & 0x0f;
  14014. if (trace)
  14015. {
  14016. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  14017. "/** 1111 1101 0111 0110 1100 rsrc 0000 0000 save %1 */",
  14018. op[0], op[1], op[2], op[3]);
  14019. printf (" rsrc = 0x%x\n", rsrc);
  14020. }
  14021. SYNTAX("save %1");
  14022. #line 1161 "rx-decode.opc"
  14023. ID(save); SR(rsrc); F_____;
  14024. }
  14025. break;
  14026. default: UNSUPPORTED(); break;
  14027. }
  14028. break;
  14029. case 0xc1:
  14030. GETBYTE ();
  14031. switch (op[3] & 0xff)
  14032. {
  14033. case 0x00:
  14034. goto op_semantics_128;
  14035. break;
  14036. default: UNSUPPORTED(); break;
  14037. }
  14038. break;
  14039. case 0xc2:
  14040. GETBYTE ();
  14041. switch (op[3] & 0xff)
  14042. {
  14043. case 0x00:
  14044. goto op_semantics_128;
  14045. break;
  14046. default: UNSUPPORTED(); break;
  14047. }
  14048. break;
  14049. case 0xc3:
  14050. GETBYTE ();
  14051. switch (op[3] & 0xff)
  14052. {
  14053. case 0x00:
  14054. goto op_semantics_128;
  14055. break;
  14056. default: UNSUPPORTED(); break;
  14057. }
  14058. break;
  14059. case 0xc4:
  14060. GETBYTE ();
  14061. switch (op[3] & 0xff)
  14062. {
  14063. case 0x00:
  14064. goto op_semantics_128;
  14065. break;
  14066. default: UNSUPPORTED(); break;
  14067. }
  14068. break;
  14069. case 0xc5:
  14070. GETBYTE ();
  14071. switch (op[3] & 0xff)
  14072. {
  14073. case 0x00:
  14074. goto op_semantics_128;
  14075. break;
  14076. default: UNSUPPORTED(); break;
  14077. }
  14078. break;
  14079. case 0xc6:
  14080. GETBYTE ();
  14081. switch (op[3] & 0xff)
  14082. {
  14083. case 0x00:
  14084. goto op_semantics_128;
  14085. break;
  14086. default: UNSUPPORTED(); break;
  14087. }
  14088. break;
  14089. case 0xc7:
  14090. GETBYTE ();
  14091. switch (op[3] & 0xff)
  14092. {
  14093. case 0x00:
  14094. goto op_semantics_128;
  14095. break;
  14096. default: UNSUPPORTED(); break;
  14097. }
  14098. break;
  14099. case 0xc8:
  14100. GETBYTE ();
  14101. switch (op[3] & 0xff)
  14102. {
  14103. case 0x00:
  14104. goto op_semantics_128;
  14105. break;
  14106. default: UNSUPPORTED(); break;
  14107. }
  14108. break;
  14109. case 0xc9:
  14110. GETBYTE ();
  14111. switch (op[3] & 0xff)
  14112. {
  14113. case 0x00:
  14114. goto op_semantics_128;
  14115. break;
  14116. default: UNSUPPORTED(); break;
  14117. }
  14118. break;
  14119. case 0xca:
  14120. GETBYTE ();
  14121. switch (op[3] & 0xff)
  14122. {
  14123. case 0x00:
  14124. goto op_semantics_128;
  14125. break;
  14126. default: UNSUPPORTED(); break;
  14127. }
  14128. break;
  14129. case 0xcb:
  14130. GETBYTE ();
  14131. switch (op[3] & 0xff)
  14132. {
  14133. case 0x00:
  14134. goto op_semantics_128;
  14135. break;
  14136. default: UNSUPPORTED(); break;
  14137. }
  14138. break;
  14139. case 0xcc:
  14140. GETBYTE ();
  14141. switch (op[3] & 0xff)
  14142. {
  14143. case 0x00:
  14144. goto op_semantics_128;
  14145. break;
  14146. default: UNSUPPORTED(); break;
  14147. }
  14148. break;
  14149. case 0xcd:
  14150. GETBYTE ();
  14151. switch (op[3] & 0xff)
  14152. {
  14153. case 0x00:
  14154. goto op_semantics_128;
  14155. break;
  14156. default: UNSUPPORTED(); break;
  14157. }
  14158. break;
  14159. case 0xce:
  14160. GETBYTE ();
  14161. switch (op[3] & 0xff)
  14162. {
  14163. case 0x00:
  14164. goto op_semantics_128;
  14165. break;
  14166. default: UNSUPPORTED(); break;
  14167. }
  14168. break;
  14169. case 0xcf:
  14170. GETBYTE ();
  14171. switch (op[3] & 0xff)
  14172. {
  14173. case 0x00:
  14174. goto op_semantics_128;
  14175. break;
  14176. default: UNSUPPORTED(); break;
  14177. }
  14178. break;
  14179. case 0xd0:
  14180. GETBYTE ();
  14181. switch (op[3] & 0xff)
  14182. {
  14183. case 0x00:
  14184. op_semantics_129:
  14185. {
  14186. /** 1111 1101 0111 0110 1101 rsrc 0000 0000 rstr %1 */
  14187. #line 1155 "rx-decode.opc"
  14188. int rsrc AU = op[2] & 0x0f;
  14189. if (trace)
  14190. {
  14191. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  14192. "/** 1111 1101 0111 0110 1101 rsrc 0000 0000 rstr %1 */",
  14193. op[0], op[1], op[2], op[3]);
  14194. printf (" rsrc = 0x%x\n", rsrc);
  14195. }
  14196. SYNTAX("rstr %1");
  14197. #line 1155 "rx-decode.opc"
  14198. ID(rstr); SR(rsrc); F_____;
  14199. }
  14200. break;
  14201. default: UNSUPPORTED(); break;
  14202. }
  14203. break;
  14204. case 0xd1:
  14205. GETBYTE ();
  14206. switch (op[3] & 0xff)
  14207. {
  14208. case 0x00:
  14209. goto op_semantics_129;
  14210. break;
  14211. default: UNSUPPORTED(); break;
  14212. }
  14213. break;
  14214. case 0xd2:
  14215. GETBYTE ();
  14216. switch (op[3] & 0xff)
  14217. {
  14218. case 0x00:
  14219. goto op_semantics_129;
  14220. break;
  14221. default: UNSUPPORTED(); break;
  14222. }
  14223. break;
  14224. case 0xd3:
  14225. GETBYTE ();
  14226. switch (op[3] & 0xff)
  14227. {
  14228. case 0x00:
  14229. goto op_semantics_129;
  14230. break;
  14231. default: UNSUPPORTED(); break;
  14232. }
  14233. break;
  14234. case 0xd4:
  14235. GETBYTE ();
  14236. switch (op[3] & 0xff)
  14237. {
  14238. case 0x00:
  14239. goto op_semantics_129;
  14240. break;
  14241. default: UNSUPPORTED(); break;
  14242. }
  14243. break;
  14244. case 0xd5:
  14245. GETBYTE ();
  14246. switch (op[3] & 0xff)
  14247. {
  14248. case 0x00:
  14249. goto op_semantics_129;
  14250. break;
  14251. default: UNSUPPORTED(); break;
  14252. }
  14253. break;
  14254. case 0xd6:
  14255. GETBYTE ();
  14256. switch (op[3] & 0xff)
  14257. {
  14258. case 0x00:
  14259. goto op_semantics_129;
  14260. break;
  14261. default: UNSUPPORTED(); break;
  14262. }
  14263. break;
  14264. case 0xd7:
  14265. GETBYTE ();
  14266. switch (op[3] & 0xff)
  14267. {
  14268. case 0x00:
  14269. goto op_semantics_129;
  14270. break;
  14271. default: UNSUPPORTED(); break;
  14272. }
  14273. break;
  14274. case 0xd8:
  14275. GETBYTE ();
  14276. switch (op[3] & 0xff)
  14277. {
  14278. case 0x00:
  14279. goto op_semantics_129;
  14280. break;
  14281. default: UNSUPPORTED(); break;
  14282. }
  14283. break;
  14284. case 0xd9:
  14285. GETBYTE ();
  14286. switch (op[3] & 0xff)
  14287. {
  14288. case 0x00:
  14289. goto op_semantics_129;
  14290. break;
  14291. default: UNSUPPORTED(); break;
  14292. }
  14293. break;
  14294. case 0xda:
  14295. GETBYTE ();
  14296. switch (op[3] & 0xff)
  14297. {
  14298. case 0x00:
  14299. goto op_semantics_129;
  14300. break;
  14301. default: UNSUPPORTED(); break;
  14302. }
  14303. break;
  14304. case 0xdb:
  14305. GETBYTE ();
  14306. switch (op[3] & 0xff)
  14307. {
  14308. case 0x00:
  14309. goto op_semantics_129;
  14310. break;
  14311. default: UNSUPPORTED(); break;
  14312. }
  14313. break;
  14314. case 0xdc:
  14315. GETBYTE ();
  14316. switch (op[3] & 0xff)
  14317. {
  14318. case 0x00:
  14319. goto op_semantics_129;
  14320. break;
  14321. default: UNSUPPORTED(); break;
  14322. }
  14323. break;
  14324. case 0xdd:
  14325. GETBYTE ();
  14326. switch (op[3] & 0xff)
  14327. {
  14328. case 0x00:
  14329. goto op_semantics_129;
  14330. break;
  14331. default: UNSUPPORTED(); break;
  14332. }
  14333. break;
  14334. case 0xde:
  14335. GETBYTE ();
  14336. switch (op[3] & 0xff)
  14337. {
  14338. case 0x00:
  14339. goto op_semantics_129;
  14340. break;
  14341. default: UNSUPPORTED(); break;
  14342. }
  14343. break;
  14344. case 0xdf:
  14345. GETBYTE ();
  14346. switch (op[3] & 0xff)
  14347. {
  14348. case 0x00:
  14349. goto op_semantics_129;
  14350. break;
  14351. default: UNSUPPORTED(); break;
  14352. }
  14353. break;
  14354. case 0xe0:
  14355. {
  14356. /** 1111 1101 0111 0110 1110 0000 save #%1 */
  14357. if (trace)
  14358. {
  14359. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  14360. "/** 1111 1101 0111 0110 1110 0000 save #%1 */",
  14361. op[0], op[1], op[2]);
  14362. }
  14363. SYNTAX("save #%1");
  14364. #line 1164 "rx-decode.opc"
  14365. ID(save); SC(IMM(1)); F_____;
  14366. }
  14367. break;
  14368. case 0xf0:
  14369. {
  14370. /** 1111 1101 0111 0110 1111 0000 rstr #%1 */
  14371. if (trace)
  14372. {
  14373. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  14374. "/** 1111 1101 0111 0110 1111 0000 rstr #%1 */",
  14375. op[0], op[1], op[2]);
  14376. }
  14377. SYNTAX("rstr #%1");
  14378. #line 1158 "rx-decode.opc"
  14379. ID(rstr); SC(IMM(1)); F_____;
  14380. }
  14381. break;
  14382. default: UNSUPPORTED(); break;
  14383. }
  14384. break;
  14385. case 0x77:
  14386. GETBYTE ();
  14387. switch (op[2] & 0xff)
  14388. {
  14389. case 0x00:
  14390. case 0x01:
  14391. case 0x02:
  14392. case 0x03:
  14393. case 0x04:
  14394. case 0x05:
  14395. case 0x06:
  14396. case 0x07:
  14397. case 0x08:
  14398. case 0x09:
  14399. case 0x0a:
  14400. case 0x0b:
  14401. case 0x0c:
  14402. case 0x0d:
  14403. case 0x0e:
  14404. case 0x0f:
  14405. case 0x10:
  14406. case 0x11:
  14407. case 0x12:
  14408. case 0x13:
  14409. case 0x14:
  14410. case 0x15:
  14411. case 0x16:
  14412. case 0x17:
  14413. case 0x18:
  14414. case 0x19:
  14415. case 0x1a:
  14416. case 0x1b:
  14417. case 0x1c:
  14418. case 0x1d:
  14419. case 0x1e:
  14420. case 0x1f:
  14421. goto op_semantics_124;
  14422. break;
  14423. case 0x80:
  14424. GETBYTE ();
  14425. switch (op[3] & 0x0f)
  14426. {
  14427. case 0x00:
  14428. op_semantics_130:
  14429. {
  14430. /** 1111 1101 0111 0111 1000 rsrc rdst 0000 dmov.l %1, %0 */
  14431. #line 1170 "rx-decode.opc"
  14432. int rsrc AU = op[2] & 0x0f;
  14433. #line 1170 "rx-decode.opc"
  14434. int rdst AU = (op[3] >> 4) & 0x0f;
  14435. if (trace)
  14436. {
  14437. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  14438. "/** 1111 1101 0111 0111 1000 rsrc rdst 0000 dmov.l %1, %0 */",
  14439. op[0], op[1], op[2], op[3]);
  14440. printf (" rsrc = 0x%x,", rsrc);
  14441. printf (" rdst = 0x%x\n", rdst);
  14442. }
  14443. SYNTAX("dmov.l %1, %0");
  14444. #line 1170 "rx-decode.opc"
  14445. ID(dmov); DDRL(rdst); SR(rsrc); F_____;
  14446. }
  14447. break;
  14448. case 0x02:
  14449. case 0x03:
  14450. op_semantics_131:
  14451. {
  14452. /** 1111 1101 0111 0111 1000 rsrc rdst 001s dmov%s %1, %0 */
  14453. #line 1167 "rx-decode.opc"
  14454. int rsrc AU = op[2] & 0x0f;
  14455. #line 1167 "rx-decode.opc"
  14456. int rdst AU = (op[3] >> 4) & 0x0f;
  14457. #line 1167 "rx-decode.opc"
  14458. int s AU = op[3] & 0x01;
  14459. if (trace)
  14460. {
  14461. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  14462. "/** 1111 1101 0111 0111 1000 rsrc rdst 001s dmov%s %1, %0 */",
  14463. op[0], op[1], op[2], op[3]);
  14464. printf (" rsrc = 0x%x,", rsrc);
  14465. printf (" rdst = 0x%x,", rdst);
  14466. printf (" s = 0x%x\n", s);
  14467. }
  14468. SYNTAX("dmov%s %1, %0");
  14469. #line 1167 "rx-decode.opc"
  14470. ID(dmov); DDRH(rdst); SR(rsrc); DL(s); F_____;
  14471. }
  14472. break;
  14473. case 0x04:
  14474. op_semantics_132:
  14475. {
  14476. /** 1111 1101 0111 0111 1000 rdst rsrc 0100 mvtdc %1, %0 */
  14477. #line 1232 "rx-decode.opc"
  14478. int rdst AU = op[2] & 0x0f;
  14479. #line 1232 "rx-decode.opc"
  14480. int rsrc AU = (op[3] >> 4) & 0x0f;
  14481. if (trace)
  14482. {
  14483. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  14484. "/** 1111 1101 0111 0111 1000 rdst rsrc 0100 mvtdc %1, %0 */",
  14485. op[0], op[1], op[2], op[3]);
  14486. printf (" rdst = 0x%x,", rdst);
  14487. printf (" rsrc = 0x%x\n", rsrc);
  14488. }
  14489. SYNTAX("mvtdc %1, %0");
  14490. #line 1232 "rx-decode.opc"
  14491. ID(mvtdc); DCR(rdst); SR(rsrc); F_____;
  14492. }
  14493. break;
  14494. case 0x09:
  14495. op_semantics_133:
  14496. {
  14497. /** 1111 1101 0111 0111 1000 rsrc rdst 1001 itod %1, %0 */
  14498. #line 1274 "rx-decode.opc"
  14499. int rsrc AU = op[2] & 0x0f;
  14500. #line 1274 "rx-decode.opc"
  14501. int rdst AU = (op[3] >> 4) & 0x0f;
  14502. if (trace)
  14503. {
  14504. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  14505. "/** 1111 1101 0111 0111 1000 rsrc rdst 1001 itod %1, %0 */",
  14506. op[0], op[1], op[2], op[3]);
  14507. printf (" rsrc = 0x%x,", rsrc);
  14508. printf (" rdst = 0x%x\n", rdst);
  14509. }
  14510. SYNTAX("itod %1, %0");
  14511. #line 1274 "rx-decode.opc"
  14512. ID(itod); DDR(rdst); SR(rsrc); F_____;
  14513. }
  14514. break;
  14515. case 0x0a:
  14516. op_semantics_134:
  14517. {
  14518. /** 1111 1101 0111 0111 1000 rsrc rdst 1010 ftod %1, %0 */
  14519. #line 1271 "rx-decode.opc"
  14520. int rsrc AU = op[2] & 0x0f;
  14521. #line 1271 "rx-decode.opc"
  14522. int rdst AU = (op[3] >> 4) & 0x0f;
  14523. if (trace)
  14524. {
  14525. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  14526. "/** 1111 1101 0111 0111 1000 rsrc rdst 1010 ftod %1, %0 */",
  14527. op[0], op[1], op[2], op[3]);
  14528. printf (" rsrc = 0x%x,", rsrc);
  14529. printf (" rdst = 0x%x\n", rdst);
  14530. }
  14531. SYNTAX("ftod %1, %0");
  14532. #line 1271 "rx-decode.opc"
  14533. ID(ftod); DDR(rdst); SR(rsrc); F_____;
  14534. }
  14535. break;
  14536. case 0x0d:
  14537. op_semantics_135:
  14538. {
  14539. /** 1111 1101 0111 0111 1000 rsrc rdst 1101 utod %1, %0 */
  14540. #line 1277 "rx-decode.opc"
  14541. int rsrc AU = op[2] & 0x0f;
  14542. #line 1277 "rx-decode.opc"
  14543. int rdst AU = (op[3] >> 4) & 0x0f;
  14544. if (trace)
  14545. {
  14546. printf ("\033[33m%s\033[0m %02x %02x %02x %02x\n",
  14547. "/** 1111 1101 0111 0111 1000 rsrc rdst 1101 utod %1, %0 */",
  14548. op[0], op[1], op[2], op[3]);
  14549. printf (" rsrc = 0x%x,", rsrc);
  14550. printf (" rdst = 0x%x\n", rdst);
  14551. }
  14552. SYNTAX("utod %1, %0");
  14553. #line 1277 "rx-decode.opc"
  14554. ID(dsqrt); DDR(rdst); SR(rsrc); F_____;
  14555. }
  14556. break;
  14557. default: UNSUPPORTED(); break;
  14558. }
  14559. break;
  14560. case 0x81:
  14561. GETBYTE ();
  14562. switch (op[3] & 0x0f)
  14563. {
  14564. case 0x00:
  14565. goto op_semantics_130;
  14566. break;
  14567. case 0x02:
  14568. case 0x03:
  14569. goto op_semantics_131;
  14570. break;
  14571. case 0x04:
  14572. goto op_semantics_132;
  14573. break;
  14574. case 0x09:
  14575. goto op_semantics_133;
  14576. break;
  14577. case 0x0a:
  14578. goto op_semantics_134;
  14579. break;
  14580. case 0x0d:
  14581. goto op_semantics_135;
  14582. break;
  14583. default: UNSUPPORTED(); break;
  14584. }
  14585. break;
  14586. case 0x82:
  14587. GETBYTE ();
  14588. switch (op[3] & 0x0f)
  14589. {
  14590. case 0x00:
  14591. goto op_semantics_130;
  14592. break;
  14593. case 0x02:
  14594. case 0x03:
  14595. goto op_semantics_131;
  14596. break;
  14597. case 0x04:
  14598. goto op_semantics_132;
  14599. break;
  14600. case 0x09:
  14601. goto op_semantics_133;
  14602. break;
  14603. case 0x0a:
  14604. goto op_semantics_134;
  14605. break;
  14606. case 0x0d:
  14607. goto op_semantics_135;
  14608. break;
  14609. default: UNSUPPORTED(); break;
  14610. }
  14611. break;
  14612. case 0x83:
  14613. GETBYTE ();
  14614. switch (op[3] & 0x0f)
  14615. {
  14616. case 0x00:
  14617. goto op_semantics_130;
  14618. break;
  14619. case 0x02:
  14620. case 0x03:
  14621. goto op_semantics_131;
  14622. break;
  14623. case 0x04:
  14624. goto op_semantics_132;
  14625. break;
  14626. case 0x09:
  14627. goto op_semantics_133;
  14628. break;
  14629. case 0x0a:
  14630. goto op_semantics_134;
  14631. break;
  14632. case 0x0d:
  14633. goto op_semantics_135;
  14634. break;
  14635. default: UNSUPPORTED(); break;
  14636. }
  14637. break;
  14638. case 0x84:
  14639. GETBYTE ();
  14640. switch (op[3] & 0x0f)
  14641. {
  14642. case 0x00:
  14643. goto op_semantics_130;
  14644. break;
  14645. case 0x02:
  14646. case 0x03:
  14647. goto op_semantics_131;
  14648. break;
  14649. case 0x04:
  14650. goto op_semantics_132;
  14651. break;
  14652. case 0x09:
  14653. goto op_semantics_133;
  14654. break;
  14655. case 0x0a:
  14656. goto op_semantics_134;
  14657. break;
  14658. case 0x0d:
  14659. goto op_semantics_135;
  14660. break;
  14661. default: UNSUPPORTED(); break;
  14662. }
  14663. break;
  14664. case 0x85:
  14665. GETBYTE ();
  14666. switch (op[3] & 0x0f)
  14667. {
  14668. case 0x00:
  14669. goto op_semantics_130;
  14670. break;
  14671. case 0x02:
  14672. case 0x03:
  14673. goto op_semantics_131;
  14674. break;
  14675. case 0x04:
  14676. goto op_semantics_132;
  14677. break;
  14678. case 0x09:
  14679. goto op_semantics_133;
  14680. break;
  14681. case 0x0a:
  14682. goto op_semantics_134;
  14683. break;
  14684. case 0x0d:
  14685. goto op_semantics_135;
  14686. break;
  14687. default: UNSUPPORTED(); break;
  14688. }
  14689. break;
  14690. case 0x86:
  14691. GETBYTE ();
  14692. switch (op[3] & 0x0f)
  14693. {
  14694. case 0x00:
  14695. goto op_semantics_130;
  14696. break;
  14697. case 0x02:
  14698. case 0x03:
  14699. goto op_semantics_131;
  14700. break;
  14701. case 0x04:
  14702. goto op_semantics_132;
  14703. break;
  14704. case 0x09:
  14705. goto op_semantics_133;
  14706. break;
  14707. case 0x0a:
  14708. goto op_semantics_134;
  14709. break;
  14710. case 0x0d:
  14711. goto op_semantics_135;
  14712. break;
  14713. default: UNSUPPORTED(); break;
  14714. }
  14715. break;
  14716. case 0x87:
  14717. GETBYTE ();
  14718. switch (op[3] & 0x0f)
  14719. {
  14720. case 0x00:
  14721. goto op_semantics_130;
  14722. break;
  14723. case 0x02:
  14724. case 0x03:
  14725. goto op_semantics_131;
  14726. break;
  14727. case 0x04:
  14728. goto op_semantics_132;
  14729. break;
  14730. case 0x09:
  14731. goto op_semantics_133;
  14732. break;
  14733. case 0x0a:
  14734. goto op_semantics_134;
  14735. break;
  14736. case 0x0d:
  14737. goto op_semantics_135;
  14738. break;
  14739. default: UNSUPPORTED(); break;
  14740. }
  14741. break;
  14742. case 0x88:
  14743. GETBYTE ();
  14744. switch (op[3] & 0x0f)
  14745. {
  14746. case 0x00:
  14747. goto op_semantics_130;
  14748. break;
  14749. case 0x02:
  14750. case 0x03:
  14751. goto op_semantics_131;
  14752. break;
  14753. case 0x04:
  14754. goto op_semantics_132;
  14755. break;
  14756. case 0x09:
  14757. goto op_semantics_133;
  14758. break;
  14759. case 0x0a:
  14760. goto op_semantics_134;
  14761. break;
  14762. case 0x0d:
  14763. goto op_semantics_135;
  14764. break;
  14765. default: UNSUPPORTED(); break;
  14766. }
  14767. break;
  14768. case 0x89:
  14769. GETBYTE ();
  14770. switch (op[3] & 0x0f)
  14771. {
  14772. case 0x00:
  14773. goto op_semantics_130;
  14774. break;
  14775. case 0x02:
  14776. case 0x03:
  14777. goto op_semantics_131;
  14778. break;
  14779. case 0x04:
  14780. goto op_semantics_132;
  14781. break;
  14782. case 0x09:
  14783. goto op_semantics_133;
  14784. break;
  14785. case 0x0a:
  14786. goto op_semantics_134;
  14787. break;
  14788. case 0x0d:
  14789. goto op_semantics_135;
  14790. break;
  14791. default: UNSUPPORTED(); break;
  14792. }
  14793. break;
  14794. case 0x8a:
  14795. GETBYTE ();
  14796. switch (op[3] & 0x0f)
  14797. {
  14798. case 0x00:
  14799. goto op_semantics_130;
  14800. break;
  14801. case 0x02:
  14802. case 0x03:
  14803. goto op_semantics_131;
  14804. break;
  14805. case 0x04:
  14806. goto op_semantics_132;
  14807. break;
  14808. case 0x09:
  14809. goto op_semantics_133;
  14810. break;
  14811. case 0x0a:
  14812. goto op_semantics_134;
  14813. break;
  14814. case 0x0d:
  14815. goto op_semantics_135;
  14816. break;
  14817. default: UNSUPPORTED(); break;
  14818. }
  14819. break;
  14820. case 0x8b:
  14821. GETBYTE ();
  14822. switch (op[3] & 0x0f)
  14823. {
  14824. case 0x00:
  14825. goto op_semantics_130;
  14826. break;
  14827. case 0x02:
  14828. case 0x03:
  14829. goto op_semantics_131;
  14830. break;
  14831. case 0x04:
  14832. goto op_semantics_132;
  14833. break;
  14834. case 0x09:
  14835. goto op_semantics_133;
  14836. break;
  14837. case 0x0a:
  14838. goto op_semantics_134;
  14839. break;
  14840. case 0x0d:
  14841. goto op_semantics_135;
  14842. break;
  14843. default: UNSUPPORTED(); break;
  14844. }
  14845. break;
  14846. case 0x8c:
  14847. GETBYTE ();
  14848. switch (op[3] & 0x0f)
  14849. {
  14850. case 0x00:
  14851. goto op_semantics_130;
  14852. break;
  14853. case 0x02:
  14854. case 0x03:
  14855. goto op_semantics_131;
  14856. break;
  14857. case 0x04:
  14858. goto op_semantics_132;
  14859. break;
  14860. case 0x09:
  14861. goto op_semantics_133;
  14862. break;
  14863. case 0x0a:
  14864. goto op_semantics_134;
  14865. break;
  14866. case 0x0d:
  14867. goto op_semantics_135;
  14868. break;
  14869. default: UNSUPPORTED(); break;
  14870. }
  14871. break;
  14872. case 0x8d:
  14873. GETBYTE ();
  14874. switch (op[3] & 0x0f)
  14875. {
  14876. case 0x00:
  14877. goto op_semantics_130;
  14878. break;
  14879. case 0x02:
  14880. case 0x03:
  14881. goto op_semantics_131;
  14882. break;
  14883. case 0x04:
  14884. goto op_semantics_132;
  14885. break;
  14886. case 0x09:
  14887. goto op_semantics_133;
  14888. break;
  14889. case 0x0a:
  14890. goto op_semantics_134;
  14891. break;
  14892. case 0x0d:
  14893. goto op_semantics_135;
  14894. break;
  14895. default: UNSUPPORTED(); break;
  14896. }
  14897. break;
  14898. case 0x8e:
  14899. GETBYTE ();
  14900. switch (op[3] & 0x0f)
  14901. {
  14902. case 0x00:
  14903. goto op_semantics_130;
  14904. break;
  14905. case 0x02:
  14906. case 0x03:
  14907. goto op_semantics_131;
  14908. break;
  14909. case 0x04:
  14910. goto op_semantics_132;
  14911. break;
  14912. case 0x09:
  14913. goto op_semantics_133;
  14914. break;
  14915. case 0x0a:
  14916. goto op_semantics_134;
  14917. break;
  14918. case 0x0d:
  14919. goto op_semantics_135;
  14920. break;
  14921. default: UNSUPPORTED(); break;
  14922. }
  14923. break;
  14924. case 0x8f:
  14925. GETBYTE ();
  14926. switch (op[3] & 0x0f)
  14927. {
  14928. case 0x00:
  14929. goto op_semantics_130;
  14930. break;
  14931. case 0x02:
  14932. case 0x03:
  14933. goto op_semantics_131;
  14934. break;
  14935. case 0x04:
  14936. goto op_semantics_132;
  14937. break;
  14938. case 0x09:
  14939. goto op_semantics_133;
  14940. break;
  14941. case 0x0a:
  14942. goto op_semantics_134;
  14943. break;
  14944. case 0x0d:
  14945. goto op_semantics_135;
  14946. break;
  14947. default: UNSUPPORTED(); break;
  14948. }
  14949. break;
  14950. default: UNSUPPORTED(); break;
  14951. }
  14952. break;
  14953. case 0x78:
  14954. GETBYTE ();
  14955. switch (op[2] & 0xf0)
  14956. {
  14957. case 0x20:
  14958. goto op_semantics_113;
  14959. break;
  14960. case 0x40:
  14961. goto op_semantics_114;
  14962. break;
  14963. case 0x50:
  14964. goto op_semantics_115;
  14965. break;
  14966. case 0x60:
  14967. goto op_semantics_116;
  14968. break;
  14969. case 0x70:
  14970. goto op_semantics_117;
  14971. break;
  14972. case 0x80:
  14973. goto op_semantics_118;
  14974. break;
  14975. case 0x90:
  14976. goto op_semantics_119;
  14977. break;
  14978. case 0xc0:
  14979. goto op_semantics_120;
  14980. break;
  14981. case 0xd0:
  14982. goto op_semantics_121;
  14983. break;
  14984. case 0xe0:
  14985. goto op_semantics_122;
  14986. break;
  14987. case 0xf0:
  14988. goto op_semantics_123;
  14989. break;
  14990. default: UNSUPPORTED(); break;
  14991. }
  14992. break;
  14993. case 0x7b:
  14994. GETBYTE ();
  14995. switch (op[2] & 0xe0)
  14996. {
  14997. case 0x00:
  14998. goto op_semantics_124;
  14999. break;
  15000. default: UNSUPPORTED(); break;
  15001. }
  15002. break;
  15003. case 0x7c:
  15004. GETBYTE ();
  15005. switch (op[2] & 0xf0)
  15006. {
  15007. case 0x20:
  15008. goto op_semantics_113;
  15009. break;
  15010. case 0x40:
  15011. goto op_semantics_114;
  15012. break;
  15013. case 0x50:
  15014. goto op_semantics_115;
  15015. break;
  15016. case 0x60:
  15017. goto op_semantics_116;
  15018. break;
  15019. case 0x70:
  15020. goto op_semantics_117;
  15021. break;
  15022. case 0x80:
  15023. goto op_semantics_118;
  15024. break;
  15025. case 0x90:
  15026. goto op_semantics_119;
  15027. break;
  15028. case 0xc0:
  15029. goto op_semantics_120;
  15030. break;
  15031. case 0xd0:
  15032. goto op_semantics_121;
  15033. break;
  15034. case 0xe0:
  15035. goto op_semantics_122;
  15036. break;
  15037. case 0xf0:
  15038. goto op_semantics_123;
  15039. break;
  15040. default: UNSUPPORTED(); break;
  15041. }
  15042. break;
  15043. case 0x7f:
  15044. GETBYTE ();
  15045. switch (op[2] & 0xe0)
  15046. {
  15047. case 0x00:
  15048. goto op_semantics_124;
  15049. break;
  15050. default: UNSUPPORTED(); break;
  15051. }
  15052. break;
  15053. case 0x80:
  15054. GETBYTE ();
  15055. switch (op[2] & 0x00)
  15056. {
  15057. case 0x00:
  15058. op_semantics_136:
  15059. {
  15060. /** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */
  15061. #line 757 "rx-decode.opc"
  15062. int immmm AU = op[1] & 0x1f;
  15063. #line 757 "rx-decode.opc"
  15064. int rsrc AU = (op[2] >> 4) & 0x0f;
  15065. #line 757 "rx-decode.opc"
  15066. int rdst AU = op[2] & 0x0f;
  15067. if (trace)
  15068. {
  15069. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  15070. "/** 1111 1101 100immmm rsrc rdst shlr #%2, %1, %0 */",
  15071. op[0], op[1], op[2]);
  15072. printf (" immmm = 0x%x,", immmm);
  15073. printf (" rsrc = 0x%x,", rsrc);
  15074. printf (" rdst = 0x%x\n", rdst);
  15075. }
  15076. SYNTAX("shlr #%2, %1, %0");
  15077. #line 757 "rx-decode.opc"
  15078. ID(shlr); S2C(immmm); SR(rsrc); DR(rdst); F__SZC;
  15079. /*----------------------------------------------------------------------*/
  15080. /* ROTATE */
  15081. }
  15082. break;
  15083. }
  15084. break;
  15085. case 0x81:
  15086. GETBYTE ();
  15087. switch (op[2] & 0x00)
  15088. {
  15089. case 0x00:
  15090. goto op_semantics_136;
  15091. break;
  15092. }
  15093. break;
  15094. case 0x82:
  15095. GETBYTE ();
  15096. switch (op[2] & 0x00)
  15097. {
  15098. case 0x00:
  15099. goto op_semantics_136;
  15100. break;
  15101. }
  15102. break;
  15103. case 0x83:
  15104. GETBYTE ();
  15105. switch (op[2] & 0x00)
  15106. {
  15107. case 0x00:
  15108. goto op_semantics_136;
  15109. break;
  15110. }
  15111. break;
  15112. case 0x84:
  15113. GETBYTE ();
  15114. switch (op[2] & 0x00)
  15115. {
  15116. case 0x00:
  15117. goto op_semantics_136;
  15118. break;
  15119. }
  15120. break;
  15121. case 0x85:
  15122. GETBYTE ();
  15123. switch (op[2] & 0x00)
  15124. {
  15125. case 0x00:
  15126. goto op_semantics_136;
  15127. break;
  15128. }
  15129. break;
  15130. case 0x86:
  15131. GETBYTE ();
  15132. switch (op[2] & 0x00)
  15133. {
  15134. case 0x00:
  15135. goto op_semantics_136;
  15136. break;
  15137. }
  15138. break;
  15139. case 0x87:
  15140. GETBYTE ();
  15141. switch (op[2] & 0x00)
  15142. {
  15143. case 0x00:
  15144. goto op_semantics_136;
  15145. break;
  15146. }
  15147. break;
  15148. case 0x88:
  15149. GETBYTE ();
  15150. switch (op[2] & 0x00)
  15151. {
  15152. case 0x00:
  15153. goto op_semantics_136;
  15154. break;
  15155. }
  15156. break;
  15157. case 0x89:
  15158. GETBYTE ();
  15159. switch (op[2] & 0x00)
  15160. {
  15161. case 0x00:
  15162. goto op_semantics_136;
  15163. break;
  15164. }
  15165. break;
  15166. case 0x8a:
  15167. GETBYTE ();
  15168. switch (op[2] & 0x00)
  15169. {
  15170. case 0x00:
  15171. goto op_semantics_136;
  15172. break;
  15173. }
  15174. break;
  15175. case 0x8b:
  15176. GETBYTE ();
  15177. switch (op[2] & 0x00)
  15178. {
  15179. case 0x00:
  15180. goto op_semantics_136;
  15181. break;
  15182. }
  15183. break;
  15184. case 0x8c:
  15185. GETBYTE ();
  15186. switch (op[2] & 0x00)
  15187. {
  15188. case 0x00:
  15189. goto op_semantics_136;
  15190. break;
  15191. }
  15192. break;
  15193. case 0x8d:
  15194. GETBYTE ();
  15195. switch (op[2] & 0x00)
  15196. {
  15197. case 0x00:
  15198. goto op_semantics_136;
  15199. break;
  15200. }
  15201. break;
  15202. case 0x8e:
  15203. GETBYTE ();
  15204. switch (op[2] & 0x00)
  15205. {
  15206. case 0x00:
  15207. goto op_semantics_136;
  15208. break;
  15209. }
  15210. break;
  15211. case 0x8f:
  15212. GETBYTE ();
  15213. switch (op[2] & 0x00)
  15214. {
  15215. case 0x00:
  15216. goto op_semantics_136;
  15217. break;
  15218. }
  15219. break;
  15220. case 0x90:
  15221. GETBYTE ();
  15222. switch (op[2] & 0x00)
  15223. {
  15224. case 0x00:
  15225. goto op_semantics_136;
  15226. break;
  15227. }
  15228. break;
  15229. case 0x91:
  15230. GETBYTE ();
  15231. switch (op[2] & 0x00)
  15232. {
  15233. case 0x00:
  15234. goto op_semantics_136;
  15235. break;
  15236. }
  15237. break;
  15238. case 0x92:
  15239. GETBYTE ();
  15240. switch (op[2] & 0x00)
  15241. {
  15242. case 0x00:
  15243. goto op_semantics_136;
  15244. break;
  15245. }
  15246. break;
  15247. case 0x93:
  15248. GETBYTE ();
  15249. switch (op[2] & 0x00)
  15250. {
  15251. case 0x00:
  15252. goto op_semantics_136;
  15253. break;
  15254. }
  15255. break;
  15256. case 0x94:
  15257. GETBYTE ();
  15258. switch (op[2] & 0x00)
  15259. {
  15260. case 0x00:
  15261. goto op_semantics_136;
  15262. break;
  15263. }
  15264. break;
  15265. case 0x95:
  15266. GETBYTE ();
  15267. switch (op[2] & 0x00)
  15268. {
  15269. case 0x00:
  15270. goto op_semantics_136;
  15271. break;
  15272. }
  15273. break;
  15274. case 0x96:
  15275. GETBYTE ();
  15276. switch (op[2] & 0x00)
  15277. {
  15278. case 0x00:
  15279. goto op_semantics_136;
  15280. break;
  15281. }
  15282. break;
  15283. case 0x97:
  15284. GETBYTE ();
  15285. switch (op[2] & 0x00)
  15286. {
  15287. case 0x00:
  15288. goto op_semantics_136;
  15289. break;
  15290. }
  15291. break;
  15292. case 0x98:
  15293. GETBYTE ();
  15294. switch (op[2] & 0x00)
  15295. {
  15296. case 0x00:
  15297. goto op_semantics_136;
  15298. break;
  15299. }
  15300. break;
  15301. case 0x99:
  15302. GETBYTE ();
  15303. switch (op[2] & 0x00)
  15304. {
  15305. case 0x00:
  15306. goto op_semantics_136;
  15307. break;
  15308. }
  15309. break;
  15310. case 0x9a:
  15311. GETBYTE ();
  15312. switch (op[2] & 0x00)
  15313. {
  15314. case 0x00:
  15315. goto op_semantics_136;
  15316. break;
  15317. }
  15318. break;
  15319. case 0x9b:
  15320. GETBYTE ();
  15321. switch (op[2] & 0x00)
  15322. {
  15323. case 0x00:
  15324. goto op_semantics_136;
  15325. break;
  15326. }
  15327. break;
  15328. case 0x9c:
  15329. GETBYTE ();
  15330. switch (op[2] & 0x00)
  15331. {
  15332. case 0x00:
  15333. goto op_semantics_136;
  15334. break;
  15335. }
  15336. break;
  15337. case 0x9d:
  15338. GETBYTE ();
  15339. switch (op[2] & 0x00)
  15340. {
  15341. case 0x00:
  15342. goto op_semantics_136;
  15343. break;
  15344. }
  15345. break;
  15346. case 0x9e:
  15347. GETBYTE ();
  15348. switch (op[2] & 0x00)
  15349. {
  15350. case 0x00:
  15351. goto op_semantics_136;
  15352. break;
  15353. }
  15354. break;
  15355. case 0x9f:
  15356. GETBYTE ();
  15357. switch (op[2] & 0x00)
  15358. {
  15359. case 0x00:
  15360. goto op_semantics_136;
  15361. break;
  15362. }
  15363. break;
  15364. case 0xa0:
  15365. GETBYTE ();
  15366. switch (op[2] & 0x00)
  15367. {
  15368. case 0x00:
  15369. op_semantics_137:
  15370. {
  15371. /** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */
  15372. #line 747 "rx-decode.opc"
  15373. int immmm AU = op[1] & 0x1f;
  15374. #line 747 "rx-decode.opc"
  15375. int rsrc AU = (op[2] >> 4) & 0x0f;
  15376. #line 747 "rx-decode.opc"
  15377. int rdst AU = op[2] & 0x0f;
  15378. if (trace)
  15379. {
  15380. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  15381. "/** 1111 1101 101immmm rsrc rdst shar #%2, %1, %0 */",
  15382. op[0], op[1], op[2]);
  15383. printf (" immmm = 0x%x,", immmm);
  15384. printf (" rsrc = 0x%x,", rsrc);
  15385. printf (" rdst = 0x%x\n", rdst);
  15386. }
  15387. SYNTAX("shar #%2, %1, %0");
  15388. #line 747 "rx-decode.opc"
  15389. ID(shar); S2C(immmm); SR(rsrc); DR(rdst); F_0SZC;
  15390. }
  15391. break;
  15392. }
  15393. break;
  15394. case 0xa1:
  15395. GETBYTE ();
  15396. switch (op[2] & 0x00)
  15397. {
  15398. case 0x00:
  15399. goto op_semantics_137;
  15400. break;
  15401. }
  15402. break;
  15403. case 0xa2:
  15404. GETBYTE ();
  15405. switch (op[2] & 0x00)
  15406. {
  15407. case 0x00:
  15408. goto op_semantics_137;
  15409. break;
  15410. }
  15411. break;
  15412. case 0xa3:
  15413. GETBYTE ();
  15414. switch (op[2] & 0x00)
  15415. {
  15416. case 0x00:
  15417. goto op_semantics_137;
  15418. break;
  15419. }
  15420. break;
  15421. case 0xa4:
  15422. GETBYTE ();
  15423. switch (op[2] & 0x00)
  15424. {
  15425. case 0x00:
  15426. goto op_semantics_137;
  15427. break;
  15428. }
  15429. break;
  15430. case 0xa5:
  15431. GETBYTE ();
  15432. switch (op[2] & 0x00)
  15433. {
  15434. case 0x00:
  15435. goto op_semantics_137;
  15436. break;
  15437. }
  15438. break;
  15439. case 0xa6:
  15440. GETBYTE ();
  15441. switch (op[2] & 0x00)
  15442. {
  15443. case 0x00:
  15444. goto op_semantics_137;
  15445. break;
  15446. }
  15447. break;
  15448. case 0xa7:
  15449. GETBYTE ();
  15450. switch (op[2] & 0x00)
  15451. {
  15452. case 0x00:
  15453. goto op_semantics_137;
  15454. break;
  15455. }
  15456. break;
  15457. case 0xa8:
  15458. GETBYTE ();
  15459. switch (op[2] & 0x00)
  15460. {
  15461. case 0x00:
  15462. goto op_semantics_137;
  15463. break;
  15464. }
  15465. break;
  15466. case 0xa9:
  15467. GETBYTE ();
  15468. switch (op[2] & 0x00)
  15469. {
  15470. case 0x00:
  15471. goto op_semantics_137;
  15472. break;
  15473. }
  15474. break;
  15475. case 0xaa:
  15476. GETBYTE ();
  15477. switch (op[2] & 0x00)
  15478. {
  15479. case 0x00:
  15480. goto op_semantics_137;
  15481. break;
  15482. }
  15483. break;
  15484. case 0xab:
  15485. GETBYTE ();
  15486. switch (op[2] & 0x00)
  15487. {
  15488. case 0x00:
  15489. goto op_semantics_137;
  15490. break;
  15491. }
  15492. break;
  15493. case 0xac:
  15494. GETBYTE ();
  15495. switch (op[2] & 0x00)
  15496. {
  15497. case 0x00:
  15498. goto op_semantics_137;
  15499. break;
  15500. }
  15501. break;
  15502. case 0xad:
  15503. GETBYTE ();
  15504. switch (op[2] & 0x00)
  15505. {
  15506. case 0x00:
  15507. goto op_semantics_137;
  15508. break;
  15509. }
  15510. break;
  15511. case 0xae:
  15512. GETBYTE ();
  15513. switch (op[2] & 0x00)
  15514. {
  15515. case 0x00:
  15516. goto op_semantics_137;
  15517. break;
  15518. }
  15519. break;
  15520. case 0xaf:
  15521. GETBYTE ();
  15522. switch (op[2] & 0x00)
  15523. {
  15524. case 0x00:
  15525. goto op_semantics_137;
  15526. break;
  15527. }
  15528. break;
  15529. case 0xb0:
  15530. GETBYTE ();
  15531. switch (op[2] & 0x00)
  15532. {
  15533. case 0x00:
  15534. goto op_semantics_137;
  15535. break;
  15536. }
  15537. break;
  15538. case 0xb1:
  15539. GETBYTE ();
  15540. switch (op[2] & 0x00)
  15541. {
  15542. case 0x00:
  15543. goto op_semantics_137;
  15544. break;
  15545. }
  15546. break;
  15547. case 0xb2:
  15548. GETBYTE ();
  15549. switch (op[2] & 0x00)
  15550. {
  15551. case 0x00:
  15552. goto op_semantics_137;
  15553. break;
  15554. }
  15555. break;
  15556. case 0xb3:
  15557. GETBYTE ();
  15558. switch (op[2] & 0x00)
  15559. {
  15560. case 0x00:
  15561. goto op_semantics_137;
  15562. break;
  15563. }
  15564. break;
  15565. case 0xb4:
  15566. GETBYTE ();
  15567. switch (op[2] & 0x00)
  15568. {
  15569. case 0x00:
  15570. goto op_semantics_137;
  15571. break;
  15572. }
  15573. break;
  15574. case 0xb5:
  15575. GETBYTE ();
  15576. switch (op[2] & 0x00)
  15577. {
  15578. case 0x00:
  15579. goto op_semantics_137;
  15580. break;
  15581. }
  15582. break;
  15583. case 0xb6:
  15584. GETBYTE ();
  15585. switch (op[2] & 0x00)
  15586. {
  15587. case 0x00:
  15588. goto op_semantics_137;
  15589. break;
  15590. }
  15591. break;
  15592. case 0xb7:
  15593. GETBYTE ();
  15594. switch (op[2] & 0x00)
  15595. {
  15596. case 0x00:
  15597. goto op_semantics_137;
  15598. break;
  15599. }
  15600. break;
  15601. case 0xb8:
  15602. GETBYTE ();
  15603. switch (op[2] & 0x00)
  15604. {
  15605. case 0x00:
  15606. goto op_semantics_137;
  15607. break;
  15608. }
  15609. break;
  15610. case 0xb9:
  15611. GETBYTE ();
  15612. switch (op[2] & 0x00)
  15613. {
  15614. case 0x00:
  15615. goto op_semantics_137;
  15616. break;
  15617. }
  15618. break;
  15619. case 0xba:
  15620. GETBYTE ();
  15621. switch (op[2] & 0x00)
  15622. {
  15623. case 0x00:
  15624. goto op_semantics_137;
  15625. break;
  15626. }
  15627. break;
  15628. case 0xbb:
  15629. GETBYTE ();
  15630. switch (op[2] & 0x00)
  15631. {
  15632. case 0x00:
  15633. goto op_semantics_137;
  15634. break;
  15635. }
  15636. break;
  15637. case 0xbc:
  15638. GETBYTE ();
  15639. switch (op[2] & 0x00)
  15640. {
  15641. case 0x00:
  15642. goto op_semantics_137;
  15643. break;
  15644. }
  15645. break;
  15646. case 0xbd:
  15647. GETBYTE ();
  15648. switch (op[2] & 0x00)
  15649. {
  15650. case 0x00:
  15651. goto op_semantics_137;
  15652. break;
  15653. }
  15654. break;
  15655. case 0xbe:
  15656. GETBYTE ();
  15657. switch (op[2] & 0x00)
  15658. {
  15659. case 0x00:
  15660. goto op_semantics_137;
  15661. break;
  15662. }
  15663. break;
  15664. case 0xbf:
  15665. GETBYTE ();
  15666. switch (op[2] & 0x00)
  15667. {
  15668. case 0x00:
  15669. goto op_semantics_137;
  15670. break;
  15671. }
  15672. break;
  15673. case 0xc0:
  15674. GETBYTE ();
  15675. switch (op[2] & 0x00)
  15676. {
  15677. case 0x00:
  15678. op_semantics_138:
  15679. {
  15680. /** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */
  15681. #line 737 "rx-decode.opc"
  15682. int immmm AU = op[1] & 0x1f;
  15683. #line 737 "rx-decode.opc"
  15684. int rsrc AU = (op[2] >> 4) & 0x0f;
  15685. #line 737 "rx-decode.opc"
  15686. int rdst AU = op[2] & 0x0f;
  15687. if (trace)
  15688. {
  15689. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  15690. "/** 1111 1101 110immmm rsrc rdst shll #%2, %1, %0 */",
  15691. op[0], op[1], op[2]);
  15692. printf (" immmm = 0x%x,", immmm);
  15693. printf (" rsrc = 0x%x,", rsrc);
  15694. printf (" rdst = 0x%x\n", rdst);
  15695. }
  15696. SYNTAX("shll #%2, %1, %0");
  15697. #line 737 "rx-decode.opc"
  15698. ID(shll); S2C(immmm); SR(rsrc); DR(rdst); F_OSZC;
  15699. }
  15700. break;
  15701. }
  15702. break;
  15703. case 0xc1:
  15704. GETBYTE ();
  15705. switch (op[2] & 0x00)
  15706. {
  15707. case 0x00:
  15708. goto op_semantics_138;
  15709. break;
  15710. }
  15711. break;
  15712. case 0xc2:
  15713. GETBYTE ();
  15714. switch (op[2] & 0x00)
  15715. {
  15716. case 0x00:
  15717. goto op_semantics_138;
  15718. break;
  15719. }
  15720. break;
  15721. case 0xc3:
  15722. GETBYTE ();
  15723. switch (op[2] & 0x00)
  15724. {
  15725. case 0x00:
  15726. goto op_semantics_138;
  15727. break;
  15728. }
  15729. break;
  15730. case 0xc4:
  15731. GETBYTE ();
  15732. switch (op[2] & 0x00)
  15733. {
  15734. case 0x00:
  15735. goto op_semantics_138;
  15736. break;
  15737. }
  15738. break;
  15739. case 0xc5:
  15740. GETBYTE ();
  15741. switch (op[2] & 0x00)
  15742. {
  15743. case 0x00:
  15744. goto op_semantics_138;
  15745. break;
  15746. }
  15747. break;
  15748. case 0xc6:
  15749. GETBYTE ();
  15750. switch (op[2] & 0x00)
  15751. {
  15752. case 0x00:
  15753. goto op_semantics_138;
  15754. break;
  15755. }
  15756. break;
  15757. case 0xc7:
  15758. GETBYTE ();
  15759. switch (op[2] & 0x00)
  15760. {
  15761. case 0x00:
  15762. goto op_semantics_138;
  15763. break;
  15764. }
  15765. break;
  15766. case 0xc8:
  15767. GETBYTE ();
  15768. switch (op[2] & 0x00)
  15769. {
  15770. case 0x00:
  15771. goto op_semantics_138;
  15772. break;
  15773. }
  15774. break;
  15775. case 0xc9:
  15776. GETBYTE ();
  15777. switch (op[2] & 0x00)
  15778. {
  15779. case 0x00:
  15780. goto op_semantics_138;
  15781. break;
  15782. }
  15783. break;
  15784. case 0xca:
  15785. GETBYTE ();
  15786. switch (op[2] & 0x00)
  15787. {
  15788. case 0x00:
  15789. goto op_semantics_138;
  15790. break;
  15791. }
  15792. break;
  15793. case 0xcb:
  15794. GETBYTE ();
  15795. switch (op[2] & 0x00)
  15796. {
  15797. case 0x00:
  15798. goto op_semantics_138;
  15799. break;
  15800. }
  15801. break;
  15802. case 0xcc:
  15803. GETBYTE ();
  15804. switch (op[2] & 0x00)
  15805. {
  15806. case 0x00:
  15807. goto op_semantics_138;
  15808. break;
  15809. }
  15810. break;
  15811. case 0xcd:
  15812. GETBYTE ();
  15813. switch (op[2] & 0x00)
  15814. {
  15815. case 0x00:
  15816. goto op_semantics_138;
  15817. break;
  15818. }
  15819. break;
  15820. case 0xce:
  15821. GETBYTE ();
  15822. switch (op[2] & 0x00)
  15823. {
  15824. case 0x00:
  15825. goto op_semantics_138;
  15826. break;
  15827. }
  15828. break;
  15829. case 0xcf:
  15830. GETBYTE ();
  15831. switch (op[2] & 0x00)
  15832. {
  15833. case 0x00:
  15834. goto op_semantics_138;
  15835. break;
  15836. }
  15837. break;
  15838. case 0xd0:
  15839. GETBYTE ();
  15840. switch (op[2] & 0x00)
  15841. {
  15842. case 0x00:
  15843. goto op_semantics_138;
  15844. break;
  15845. }
  15846. break;
  15847. case 0xd1:
  15848. GETBYTE ();
  15849. switch (op[2] & 0x00)
  15850. {
  15851. case 0x00:
  15852. goto op_semantics_138;
  15853. break;
  15854. }
  15855. break;
  15856. case 0xd2:
  15857. GETBYTE ();
  15858. switch (op[2] & 0x00)
  15859. {
  15860. case 0x00:
  15861. goto op_semantics_138;
  15862. break;
  15863. }
  15864. break;
  15865. case 0xd3:
  15866. GETBYTE ();
  15867. switch (op[2] & 0x00)
  15868. {
  15869. case 0x00:
  15870. goto op_semantics_138;
  15871. break;
  15872. }
  15873. break;
  15874. case 0xd4:
  15875. GETBYTE ();
  15876. switch (op[2] & 0x00)
  15877. {
  15878. case 0x00:
  15879. goto op_semantics_138;
  15880. break;
  15881. }
  15882. break;
  15883. case 0xd5:
  15884. GETBYTE ();
  15885. switch (op[2] & 0x00)
  15886. {
  15887. case 0x00:
  15888. goto op_semantics_138;
  15889. break;
  15890. }
  15891. break;
  15892. case 0xd6:
  15893. GETBYTE ();
  15894. switch (op[2] & 0x00)
  15895. {
  15896. case 0x00:
  15897. goto op_semantics_138;
  15898. break;
  15899. }
  15900. break;
  15901. case 0xd7:
  15902. GETBYTE ();
  15903. switch (op[2] & 0x00)
  15904. {
  15905. case 0x00:
  15906. goto op_semantics_138;
  15907. break;
  15908. }
  15909. break;
  15910. case 0xd8:
  15911. GETBYTE ();
  15912. switch (op[2] & 0x00)
  15913. {
  15914. case 0x00:
  15915. goto op_semantics_138;
  15916. break;
  15917. }
  15918. break;
  15919. case 0xd9:
  15920. GETBYTE ();
  15921. switch (op[2] & 0x00)
  15922. {
  15923. case 0x00:
  15924. goto op_semantics_138;
  15925. break;
  15926. }
  15927. break;
  15928. case 0xda:
  15929. GETBYTE ();
  15930. switch (op[2] & 0x00)
  15931. {
  15932. case 0x00:
  15933. goto op_semantics_138;
  15934. break;
  15935. }
  15936. break;
  15937. case 0xdb:
  15938. GETBYTE ();
  15939. switch (op[2] & 0x00)
  15940. {
  15941. case 0x00:
  15942. goto op_semantics_138;
  15943. break;
  15944. }
  15945. break;
  15946. case 0xdc:
  15947. GETBYTE ();
  15948. switch (op[2] & 0x00)
  15949. {
  15950. case 0x00:
  15951. goto op_semantics_138;
  15952. break;
  15953. }
  15954. break;
  15955. case 0xdd:
  15956. GETBYTE ();
  15957. switch (op[2] & 0x00)
  15958. {
  15959. case 0x00:
  15960. goto op_semantics_138;
  15961. break;
  15962. }
  15963. break;
  15964. case 0xde:
  15965. GETBYTE ();
  15966. switch (op[2] & 0x00)
  15967. {
  15968. case 0x00:
  15969. goto op_semantics_138;
  15970. break;
  15971. }
  15972. break;
  15973. case 0xdf:
  15974. GETBYTE ();
  15975. switch (op[2] & 0x00)
  15976. {
  15977. case 0x00:
  15978. goto op_semantics_138;
  15979. break;
  15980. }
  15981. break;
  15982. case 0xe0:
  15983. GETBYTE ();
  15984. switch (op[2] & 0xf0)
  15985. {
  15986. case 0x00:
  15987. case 0x10:
  15988. case 0x20:
  15989. case 0x30:
  15990. case 0x40:
  15991. case 0x50:
  15992. case 0x60:
  15993. case 0x70:
  15994. case 0x80:
  15995. case 0x90:
  15996. case 0xa0:
  15997. case 0xb0:
  15998. case 0xc0:
  15999. case 0xd0:
  16000. case 0xe0:
  16001. op_semantics_139:
  16002. {
  16003. /** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */
  16004. #line 1011 "rx-decode.opc"
  16005. int bittt AU = op[1] & 0x1f;
  16006. #line 1011 "rx-decode.opc"
  16007. int cond AU = (op[2] >> 4) & 0x0f;
  16008. #line 1011 "rx-decode.opc"
  16009. int rdst AU = op[2] & 0x0f;
  16010. if (trace)
  16011. {
  16012. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  16013. "/** 1111 1101 111 bittt cond rdst bm%2 #%1, %0%S0 */",
  16014. op[0], op[1], op[2]);
  16015. printf (" bittt = 0x%x,", bittt);
  16016. printf (" cond = 0x%x,", cond);
  16017. printf (" rdst = 0x%x\n", rdst);
  16018. }
  16019. SYNTAX("bm%2 #%1, %0%S0");
  16020. #line 1011 "rx-decode.opc"
  16021. ID(bmcc); BWL(LSIZE); S2cc(cond); SC(bittt); DR(rdst);
  16022. /*----------------------------------------------------------------------*/
  16023. /* CONTROL REGISTERS */
  16024. }
  16025. break;
  16026. case 0xf0:
  16027. op_semantics_140:
  16028. {
  16029. /** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */
  16030. #line 1004 "rx-decode.opc"
  16031. int bittt AU = op[1] & 0x1f;
  16032. #line 1004 "rx-decode.opc"
  16033. int rdst AU = op[2] & 0x0f;
  16034. if (trace)
  16035. {
  16036. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  16037. "/** 1111 1101 111bittt 1111 rdst bnot #%1, %0 */",
  16038. op[0], op[1], op[2]);
  16039. printf (" bittt = 0x%x,", bittt);
  16040. printf (" rdst = 0x%x\n", rdst);
  16041. }
  16042. SYNTAX("bnot #%1, %0");
  16043. #line 1004 "rx-decode.opc"
  16044. ID(bnot); BWL(LSIZE); SC(bittt); DR(rdst);
  16045. }
  16046. break;
  16047. }
  16048. break;
  16049. case 0xe1:
  16050. GETBYTE ();
  16051. switch (op[2] & 0xf0)
  16052. {
  16053. case 0x00:
  16054. case 0x10:
  16055. case 0x20:
  16056. case 0x30:
  16057. case 0x40:
  16058. case 0x50:
  16059. case 0x60:
  16060. case 0x70:
  16061. case 0x80:
  16062. case 0x90:
  16063. case 0xa0:
  16064. case 0xb0:
  16065. case 0xc0:
  16066. case 0xd0:
  16067. case 0xe0:
  16068. goto op_semantics_139;
  16069. break;
  16070. case 0xf0:
  16071. goto op_semantics_140;
  16072. break;
  16073. }
  16074. break;
  16075. case 0xe2:
  16076. GETBYTE ();
  16077. switch (op[2] & 0xf0)
  16078. {
  16079. case 0x00:
  16080. case 0x10:
  16081. case 0x20:
  16082. case 0x30:
  16083. case 0x40:
  16084. case 0x50:
  16085. case 0x60:
  16086. case 0x70:
  16087. case 0x80:
  16088. case 0x90:
  16089. case 0xa0:
  16090. case 0xb0:
  16091. case 0xc0:
  16092. case 0xd0:
  16093. case 0xe0:
  16094. goto op_semantics_139;
  16095. break;
  16096. case 0xf0:
  16097. goto op_semantics_140;
  16098. break;
  16099. }
  16100. break;
  16101. case 0xe3:
  16102. GETBYTE ();
  16103. switch (op[2] & 0xf0)
  16104. {
  16105. case 0x00:
  16106. case 0x10:
  16107. case 0x20:
  16108. case 0x30:
  16109. case 0x40:
  16110. case 0x50:
  16111. case 0x60:
  16112. case 0x70:
  16113. case 0x80:
  16114. case 0x90:
  16115. case 0xa0:
  16116. case 0xb0:
  16117. case 0xc0:
  16118. case 0xd0:
  16119. case 0xe0:
  16120. goto op_semantics_139;
  16121. break;
  16122. case 0xf0:
  16123. goto op_semantics_140;
  16124. break;
  16125. }
  16126. break;
  16127. case 0xe4:
  16128. GETBYTE ();
  16129. switch (op[2] & 0xf0)
  16130. {
  16131. case 0x00:
  16132. case 0x10:
  16133. case 0x20:
  16134. case 0x30:
  16135. case 0x40:
  16136. case 0x50:
  16137. case 0x60:
  16138. case 0x70:
  16139. case 0x80:
  16140. case 0x90:
  16141. case 0xa0:
  16142. case 0xb0:
  16143. case 0xc0:
  16144. case 0xd0:
  16145. case 0xe0:
  16146. goto op_semantics_139;
  16147. break;
  16148. case 0xf0:
  16149. goto op_semantics_140;
  16150. break;
  16151. }
  16152. break;
  16153. case 0xe5:
  16154. GETBYTE ();
  16155. switch (op[2] & 0xf0)
  16156. {
  16157. case 0x00:
  16158. case 0x10:
  16159. case 0x20:
  16160. case 0x30:
  16161. case 0x40:
  16162. case 0x50:
  16163. case 0x60:
  16164. case 0x70:
  16165. case 0x80:
  16166. case 0x90:
  16167. case 0xa0:
  16168. case 0xb0:
  16169. case 0xc0:
  16170. case 0xd0:
  16171. case 0xe0:
  16172. goto op_semantics_139;
  16173. break;
  16174. case 0xf0:
  16175. goto op_semantics_140;
  16176. break;
  16177. }
  16178. break;
  16179. case 0xe6:
  16180. GETBYTE ();
  16181. switch (op[2] & 0xf0)
  16182. {
  16183. case 0x00:
  16184. case 0x10:
  16185. case 0x20:
  16186. case 0x30:
  16187. case 0x40:
  16188. case 0x50:
  16189. case 0x60:
  16190. case 0x70:
  16191. case 0x80:
  16192. case 0x90:
  16193. case 0xa0:
  16194. case 0xb0:
  16195. case 0xc0:
  16196. case 0xd0:
  16197. case 0xe0:
  16198. goto op_semantics_139;
  16199. break;
  16200. case 0xf0:
  16201. goto op_semantics_140;
  16202. break;
  16203. }
  16204. break;
  16205. case 0xe7:
  16206. GETBYTE ();
  16207. switch (op[2] & 0xf0)
  16208. {
  16209. case 0x00:
  16210. case 0x10:
  16211. case 0x20:
  16212. case 0x30:
  16213. case 0x40:
  16214. case 0x50:
  16215. case 0x60:
  16216. case 0x70:
  16217. case 0x80:
  16218. case 0x90:
  16219. case 0xa0:
  16220. case 0xb0:
  16221. case 0xc0:
  16222. case 0xd0:
  16223. case 0xe0:
  16224. goto op_semantics_139;
  16225. break;
  16226. case 0xf0:
  16227. goto op_semantics_140;
  16228. break;
  16229. }
  16230. break;
  16231. case 0xe8:
  16232. GETBYTE ();
  16233. switch (op[2] & 0xf0)
  16234. {
  16235. case 0x00:
  16236. case 0x10:
  16237. case 0x20:
  16238. case 0x30:
  16239. case 0x40:
  16240. case 0x50:
  16241. case 0x60:
  16242. case 0x70:
  16243. case 0x80:
  16244. case 0x90:
  16245. case 0xa0:
  16246. case 0xb0:
  16247. case 0xc0:
  16248. case 0xd0:
  16249. case 0xe0:
  16250. goto op_semantics_139;
  16251. break;
  16252. case 0xf0:
  16253. goto op_semantics_140;
  16254. break;
  16255. }
  16256. break;
  16257. case 0xe9:
  16258. GETBYTE ();
  16259. switch (op[2] & 0xf0)
  16260. {
  16261. case 0x00:
  16262. case 0x10:
  16263. case 0x20:
  16264. case 0x30:
  16265. case 0x40:
  16266. case 0x50:
  16267. case 0x60:
  16268. case 0x70:
  16269. case 0x80:
  16270. case 0x90:
  16271. case 0xa0:
  16272. case 0xb0:
  16273. case 0xc0:
  16274. case 0xd0:
  16275. case 0xe0:
  16276. goto op_semantics_139;
  16277. break;
  16278. case 0xf0:
  16279. goto op_semantics_140;
  16280. break;
  16281. }
  16282. break;
  16283. case 0xea:
  16284. GETBYTE ();
  16285. switch (op[2] & 0xf0)
  16286. {
  16287. case 0x00:
  16288. case 0x10:
  16289. case 0x20:
  16290. case 0x30:
  16291. case 0x40:
  16292. case 0x50:
  16293. case 0x60:
  16294. case 0x70:
  16295. case 0x80:
  16296. case 0x90:
  16297. case 0xa0:
  16298. case 0xb0:
  16299. case 0xc0:
  16300. case 0xd0:
  16301. case 0xe0:
  16302. goto op_semantics_139;
  16303. break;
  16304. case 0xf0:
  16305. goto op_semantics_140;
  16306. break;
  16307. }
  16308. break;
  16309. case 0xeb:
  16310. GETBYTE ();
  16311. switch (op[2] & 0xf0)
  16312. {
  16313. case 0x00:
  16314. case 0x10:
  16315. case 0x20:
  16316. case 0x30:
  16317. case 0x40:
  16318. case 0x50:
  16319. case 0x60:
  16320. case 0x70:
  16321. case 0x80:
  16322. case 0x90:
  16323. case 0xa0:
  16324. case 0xb0:
  16325. case 0xc0:
  16326. case 0xd0:
  16327. case 0xe0:
  16328. goto op_semantics_139;
  16329. break;
  16330. case 0xf0:
  16331. goto op_semantics_140;
  16332. break;
  16333. }
  16334. break;
  16335. case 0xec:
  16336. GETBYTE ();
  16337. switch (op[2] & 0xf0)
  16338. {
  16339. case 0x00:
  16340. case 0x10:
  16341. case 0x20:
  16342. case 0x30:
  16343. case 0x40:
  16344. case 0x50:
  16345. case 0x60:
  16346. case 0x70:
  16347. case 0x80:
  16348. case 0x90:
  16349. case 0xa0:
  16350. case 0xb0:
  16351. case 0xc0:
  16352. case 0xd0:
  16353. case 0xe0:
  16354. goto op_semantics_139;
  16355. break;
  16356. case 0xf0:
  16357. goto op_semantics_140;
  16358. break;
  16359. }
  16360. break;
  16361. case 0xed:
  16362. GETBYTE ();
  16363. switch (op[2] & 0xf0)
  16364. {
  16365. case 0x00:
  16366. case 0x10:
  16367. case 0x20:
  16368. case 0x30:
  16369. case 0x40:
  16370. case 0x50:
  16371. case 0x60:
  16372. case 0x70:
  16373. case 0x80:
  16374. case 0x90:
  16375. case 0xa0:
  16376. case 0xb0:
  16377. case 0xc0:
  16378. case 0xd0:
  16379. case 0xe0:
  16380. goto op_semantics_139;
  16381. break;
  16382. case 0xf0:
  16383. goto op_semantics_140;
  16384. break;
  16385. }
  16386. break;
  16387. case 0xee:
  16388. GETBYTE ();
  16389. switch (op[2] & 0xf0)
  16390. {
  16391. case 0x00:
  16392. case 0x10:
  16393. case 0x20:
  16394. case 0x30:
  16395. case 0x40:
  16396. case 0x50:
  16397. case 0x60:
  16398. case 0x70:
  16399. case 0x80:
  16400. case 0x90:
  16401. case 0xa0:
  16402. case 0xb0:
  16403. case 0xc0:
  16404. case 0xd0:
  16405. case 0xe0:
  16406. goto op_semantics_139;
  16407. break;
  16408. case 0xf0:
  16409. goto op_semantics_140;
  16410. break;
  16411. }
  16412. break;
  16413. case 0xef:
  16414. GETBYTE ();
  16415. switch (op[2] & 0xf0)
  16416. {
  16417. case 0x00:
  16418. case 0x10:
  16419. case 0x20:
  16420. case 0x30:
  16421. case 0x40:
  16422. case 0x50:
  16423. case 0x60:
  16424. case 0x70:
  16425. case 0x80:
  16426. case 0x90:
  16427. case 0xa0:
  16428. case 0xb0:
  16429. case 0xc0:
  16430. case 0xd0:
  16431. case 0xe0:
  16432. goto op_semantics_139;
  16433. break;
  16434. case 0xf0:
  16435. goto op_semantics_140;
  16436. break;
  16437. }
  16438. break;
  16439. case 0xf0:
  16440. GETBYTE ();
  16441. switch (op[2] & 0xf0)
  16442. {
  16443. case 0x00:
  16444. case 0x10:
  16445. case 0x20:
  16446. case 0x30:
  16447. case 0x40:
  16448. case 0x50:
  16449. case 0x60:
  16450. case 0x70:
  16451. case 0x80:
  16452. case 0x90:
  16453. case 0xa0:
  16454. case 0xb0:
  16455. case 0xc0:
  16456. case 0xd0:
  16457. case 0xe0:
  16458. goto op_semantics_139;
  16459. break;
  16460. case 0xf0:
  16461. goto op_semantics_140;
  16462. break;
  16463. }
  16464. break;
  16465. case 0xf1:
  16466. GETBYTE ();
  16467. switch (op[2] & 0xf0)
  16468. {
  16469. case 0x00:
  16470. case 0x10:
  16471. case 0x20:
  16472. case 0x30:
  16473. case 0x40:
  16474. case 0x50:
  16475. case 0x60:
  16476. case 0x70:
  16477. case 0x80:
  16478. case 0x90:
  16479. case 0xa0:
  16480. case 0xb0:
  16481. case 0xc0:
  16482. case 0xd0:
  16483. case 0xe0:
  16484. goto op_semantics_139;
  16485. break;
  16486. case 0xf0:
  16487. goto op_semantics_140;
  16488. break;
  16489. }
  16490. break;
  16491. case 0xf2:
  16492. GETBYTE ();
  16493. switch (op[2] & 0xf0)
  16494. {
  16495. case 0x00:
  16496. case 0x10:
  16497. case 0x20:
  16498. case 0x30:
  16499. case 0x40:
  16500. case 0x50:
  16501. case 0x60:
  16502. case 0x70:
  16503. case 0x80:
  16504. case 0x90:
  16505. case 0xa0:
  16506. case 0xb0:
  16507. case 0xc0:
  16508. case 0xd0:
  16509. case 0xe0:
  16510. goto op_semantics_139;
  16511. break;
  16512. case 0xf0:
  16513. goto op_semantics_140;
  16514. break;
  16515. }
  16516. break;
  16517. case 0xf3:
  16518. GETBYTE ();
  16519. switch (op[2] & 0xf0)
  16520. {
  16521. case 0x00:
  16522. case 0x10:
  16523. case 0x20:
  16524. case 0x30:
  16525. case 0x40:
  16526. case 0x50:
  16527. case 0x60:
  16528. case 0x70:
  16529. case 0x80:
  16530. case 0x90:
  16531. case 0xa0:
  16532. case 0xb0:
  16533. case 0xc0:
  16534. case 0xd0:
  16535. case 0xe0:
  16536. goto op_semantics_139;
  16537. break;
  16538. case 0xf0:
  16539. goto op_semantics_140;
  16540. break;
  16541. }
  16542. break;
  16543. case 0xf4:
  16544. GETBYTE ();
  16545. switch (op[2] & 0xf0)
  16546. {
  16547. case 0x00:
  16548. case 0x10:
  16549. case 0x20:
  16550. case 0x30:
  16551. case 0x40:
  16552. case 0x50:
  16553. case 0x60:
  16554. case 0x70:
  16555. case 0x80:
  16556. case 0x90:
  16557. case 0xa0:
  16558. case 0xb0:
  16559. case 0xc0:
  16560. case 0xd0:
  16561. case 0xe0:
  16562. goto op_semantics_139;
  16563. break;
  16564. case 0xf0:
  16565. goto op_semantics_140;
  16566. break;
  16567. }
  16568. break;
  16569. case 0xf5:
  16570. GETBYTE ();
  16571. switch (op[2] & 0xf0)
  16572. {
  16573. case 0x00:
  16574. case 0x10:
  16575. case 0x20:
  16576. case 0x30:
  16577. case 0x40:
  16578. case 0x50:
  16579. case 0x60:
  16580. case 0x70:
  16581. case 0x80:
  16582. case 0x90:
  16583. case 0xa0:
  16584. case 0xb0:
  16585. case 0xc0:
  16586. case 0xd0:
  16587. case 0xe0:
  16588. goto op_semantics_139;
  16589. break;
  16590. case 0xf0:
  16591. goto op_semantics_140;
  16592. break;
  16593. }
  16594. break;
  16595. case 0xf6:
  16596. GETBYTE ();
  16597. switch (op[2] & 0xf0)
  16598. {
  16599. case 0x00:
  16600. case 0x10:
  16601. case 0x20:
  16602. case 0x30:
  16603. case 0x40:
  16604. case 0x50:
  16605. case 0x60:
  16606. case 0x70:
  16607. case 0x80:
  16608. case 0x90:
  16609. case 0xa0:
  16610. case 0xb0:
  16611. case 0xc0:
  16612. case 0xd0:
  16613. case 0xe0:
  16614. goto op_semantics_139;
  16615. break;
  16616. case 0xf0:
  16617. goto op_semantics_140;
  16618. break;
  16619. }
  16620. break;
  16621. case 0xf7:
  16622. GETBYTE ();
  16623. switch (op[2] & 0xf0)
  16624. {
  16625. case 0x00:
  16626. case 0x10:
  16627. case 0x20:
  16628. case 0x30:
  16629. case 0x40:
  16630. case 0x50:
  16631. case 0x60:
  16632. case 0x70:
  16633. case 0x80:
  16634. case 0x90:
  16635. case 0xa0:
  16636. case 0xb0:
  16637. case 0xc0:
  16638. case 0xd0:
  16639. case 0xe0:
  16640. goto op_semantics_139;
  16641. break;
  16642. case 0xf0:
  16643. goto op_semantics_140;
  16644. break;
  16645. }
  16646. break;
  16647. case 0xf8:
  16648. GETBYTE ();
  16649. switch (op[2] & 0xf0)
  16650. {
  16651. case 0x00:
  16652. case 0x10:
  16653. case 0x20:
  16654. case 0x30:
  16655. case 0x40:
  16656. case 0x50:
  16657. case 0x60:
  16658. case 0x70:
  16659. case 0x80:
  16660. case 0x90:
  16661. case 0xa0:
  16662. case 0xb0:
  16663. case 0xc0:
  16664. case 0xd0:
  16665. case 0xe0:
  16666. goto op_semantics_139;
  16667. break;
  16668. case 0xf0:
  16669. goto op_semantics_140;
  16670. break;
  16671. }
  16672. break;
  16673. case 0xf9:
  16674. GETBYTE ();
  16675. switch (op[2] & 0xf0)
  16676. {
  16677. case 0x00:
  16678. case 0x10:
  16679. case 0x20:
  16680. case 0x30:
  16681. case 0x40:
  16682. case 0x50:
  16683. case 0x60:
  16684. case 0x70:
  16685. case 0x80:
  16686. case 0x90:
  16687. case 0xa0:
  16688. case 0xb0:
  16689. case 0xc0:
  16690. case 0xd0:
  16691. case 0xe0:
  16692. goto op_semantics_139;
  16693. break;
  16694. case 0xf0:
  16695. goto op_semantics_140;
  16696. break;
  16697. }
  16698. break;
  16699. case 0xfa:
  16700. GETBYTE ();
  16701. switch (op[2] & 0xf0)
  16702. {
  16703. case 0x00:
  16704. case 0x10:
  16705. case 0x20:
  16706. case 0x30:
  16707. case 0x40:
  16708. case 0x50:
  16709. case 0x60:
  16710. case 0x70:
  16711. case 0x80:
  16712. case 0x90:
  16713. case 0xa0:
  16714. case 0xb0:
  16715. case 0xc0:
  16716. case 0xd0:
  16717. case 0xe0:
  16718. goto op_semantics_139;
  16719. break;
  16720. case 0xf0:
  16721. goto op_semantics_140;
  16722. break;
  16723. }
  16724. break;
  16725. case 0xfb:
  16726. GETBYTE ();
  16727. switch (op[2] & 0xf0)
  16728. {
  16729. case 0x00:
  16730. case 0x10:
  16731. case 0x20:
  16732. case 0x30:
  16733. case 0x40:
  16734. case 0x50:
  16735. case 0x60:
  16736. case 0x70:
  16737. case 0x80:
  16738. case 0x90:
  16739. case 0xa0:
  16740. case 0xb0:
  16741. case 0xc0:
  16742. case 0xd0:
  16743. case 0xe0:
  16744. goto op_semantics_139;
  16745. break;
  16746. case 0xf0:
  16747. goto op_semantics_140;
  16748. break;
  16749. }
  16750. break;
  16751. case 0xfc:
  16752. GETBYTE ();
  16753. switch (op[2] & 0xf0)
  16754. {
  16755. case 0x00:
  16756. case 0x10:
  16757. case 0x20:
  16758. case 0x30:
  16759. case 0x40:
  16760. case 0x50:
  16761. case 0x60:
  16762. case 0x70:
  16763. case 0x80:
  16764. case 0x90:
  16765. case 0xa0:
  16766. case 0xb0:
  16767. case 0xc0:
  16768. case 0xd0:
  16769. case 0xe0:
  16770. goto op_semantics_139;
  16771. break;
  16772. case 0xf0:
  16773. goto op_semantics_140;
  16774. break;
  16775. }
  16776. break;
  16777. case 0xfd:
  16778. GETBYTE ();
  16779. switch (op[2] & 0xf0)
  16780. {
  16781. case 0x00:
  16782. case 0x10:
  16783. case 0x20:
  16784. case 0x30:
  16785. case 0x40:
  16786. case 0x50:
  16787. case 0x60:
  16788. case 0x70:
  16789. case 0x80:
  16790. case 0x90:
  16791. case 0xa0:
  16792. case 0xb0:
  16793. case 0xc0:
  16794. case 0xd0:
  16795. case 0xe0:
  16796. goto op_semantics_139;
  16797. break;
  16798. case 0xf0:
  16799. goto op_semantics_140;
  16800. break;
  16801. }
  16802. break;
  16803. case 0xfe:
  16804. GETBYTE ();
  16805. switch (op[2] & 0xf0)
  16806. {
  16807. case 0x00:
  16808. case 0x10:
  16809. case 0x20:
  16810. case 0x30:
  16811. case 0x40:
  16812. case 0x50:
  16813. case 0x60:
  16814. case 0x70:
  16815. case 0x80:
  16816. case 0x90:
  16817. case 0xa0:
  16818. case 0xb0:
  16819. case 0xc0:
  16820. case 0xd0:
  16821. case 0xe0:
  16822. goto op_semantics_139;
  16823. break;
  16824. case 0xf0:
  16825. goto op_semantics_140;
  16826. break;
  16827. }
  16828. break;
  16829. case 0xff:
  16830. GETBYTE ();
  16831. switch (op[2] & 0xf0)
  16832. {
  16833. case 0x00:
  16834. case 0x10:
  16835. case 0x20:
  16836. case 0x30:
  16837. case 0x40:
  16838. case 0x50:
  16839. case 0x60:
  16840. case 0x70:
  16841. case 0x80:
  16842. case 0x90:
  16843. case 0xa0:
  16844. case 0xb0:
  16845. case 0xc0:
  16846. case 0xd0:
  16847. case 0xe0:
  16848. goto op_semantics_139;
  16849. break;
  16850. case 0xf0:
  16851. goto op_semantics_140;
  16852. break;
  16853. }
  16854. break;
  16855. default: UNSUPPORTED(); break;
  16856. }
  16857. break;
  16858. case 0xfe:
  16859. GETBYTE ();
  16860. switch (op[1] & 0xff)
  16861. {
  16862. case 0x00:
  16863. GETBYTE ();
  16864. switch (op[2] & 0x00)
  16865. {
  16866. case 0x00:
  16867. op_semantics_141:
  16868. {
  16869. /** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */
  16870. #line 363 "rx-decode.opc"
  16871. int sz AU = (op[1] >> 4) & 0x03;
  16872. #line 363 "rx-decode.opc"
  16873. int isrc AU = op[1] & 0x0f;
  16874. #line 363 "rx-decode.opc"
  16875. int bsrc AU = (op[2] >> 4) & 0x0f;
  16876. #line 363 "rx-decode.opc"
  16877. int rdst AU = op[2] & 0x0f;
  16878. if (trace)
  16879. {
  16880. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  16881. "/** 1111 1110 00sz isrc bsrc rdst mov%s %0, [%1, %2] */",
  16882. op[0], op[1], op[2]);
  16883. printf (" sz = 0x%x,", sz);
  16884. printf (" isrc = 0x%x,", isrc);
  16885. printf (" bsrc = 0x%x,", bsrc);
  16886. printf (" rdst = 0x%x\n", rdst);
  16887. }
  16888. SYNTAX("mov%s %0, [%1, %2]");
  16889. #line 363 "rx-decode.opc"
  16890. ID(movbir); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
  16891. }
  16892. break;
  16893. }
  16894. break;
  16895. case 0x01:
  16896. GETBYTE ();
  16897. switch (op[2] & 0x00)
  16898. {
  16899. case 0x00:
  16900. goto op_semantics_141;
  16901. break;
  16902. }
  16903. break;
  16904. case 0x02:
  16905. GETBYTE ();
  16906. switch (op[2] & 0x00)
  16907. {
  16908. case 0x00:
  16909. goto op_semantics_141;
  16910. break;
  16911. }
  16912. break;
  16913. case 0x03:
  16914. GETBYTE ();
  16915. switch (op[2] & 0x00)
  16916. {
  16917. case 0x00:
  16918. goto op_semantics_141;
  16919. break;
  16920. }
  16921. break;
  16922. case 0x04:
  16923. GETBYTE ();
  16924. switch (op[2] & 0x00)
  16925. {
  16926. case 0x00:
  16927. goto op_semantics_141;
  16928. break;
  16929. }
  16930. break;
  16931. case 0x05:
  16932. GETBYTE ();
  16933. switch (op[2] & 0x00)
  16934. {
  16935. case 0x00:
  16936. goto op_semantics_141;
  16937. break;
  16938. }
  16939. break;
  16940. case 0x06:
  16941. GETBYTE ();
  16942. switch (op[2] & 0x00)
  16943. {
  16944. case 0x00:
  16945. goto op_semantics_141;
  16946. break;
  16947. }
  16948. break;
  16949. case 0x07:
  16950. GETBYTE ();
  16951. switch (op[2] & 0x00)
  16952. {
  16953. case 0x00:
  16954. goto op_semantics_141;
  16955. break;
  16956. }
  16957. break;
  16958. case 0x08:
  16959. GETBYTE ();
  16960. switch (op[2] & 0x00)
  16961. {
  16962. case 0x00:
  16963. goto op_semantics_141;
  16964. break;
  16965. }
  16966. break;
  16967. case 0x09:
  16968. GETBYTE ();
  16969. switch (op[2] & 0x00)
  16970. {
  16971. case 0x00:
  16972. goto op_semantics_141;
  16973. break;
  16974. }
  16975. break;
  16976. case 0x0a:
  16977. GETBYTE ();
  16978. switch (op[2] & 0x00)
  16979. {
  16980. case 0x00:
  16981. goto op_semantics_141;
  16982. break;
  16983. }
  16984. break;
  16985. case 0x0b:
  16986. GETBYTE ();
  16987. switch (op[2] & 0x00)
  16988. {
  16989. case 0x00:
  16990. goto op_semantics_141;
  16991. break;
  16992. }
  16993. break;
  16994. case 0x0c:
  16995. GETBYTE ();
  16996. switch (op[2] & 0x00)
  16997. {
  16998. case 0x00:
  16999. goto op_semantics_141;
  17000. break;
  17001. }
  17002. break;
  17003. case 0x0d:
  17004. GETBYTE ();
  17005. switch (op[2] & 0x00)
  17006. {
  17007. case 0x00:
  17008. goto op_semantics_141;
  17009. break;
  17010. }
  17011. break;
  17012. case 0x0e:
  17013. GETBYTE ();
  17014. switch (op[2] & 0x00)
  17015. {
  17016. case 0x00:
  17017. goto op_semantics_141;
  17018. break;
  17019. }
  17020. break;
  17021. case 0x0f:
  17022. GETBYTE ();
  17023. switch (op[2] & 0x00)
  17024. {
  17025. case 0x00:
  17026. goto op_semantics_141;
  17027. break;
  17028. }
  17029. break;
  17030. case 0x10:
  17031. GETBYTE ();
  17032. switch (op[2] & 0x00)
  17033. {
  17034. case 0x00:
  17035. goto op_semantics_141;
  17036. break;
  17037. }
  17038. break;
  17039. case 0x11:
  17040. GETBYTE ();
  17041. switch (op[2] & 0x00)
  17042. {
  17043. case 0x00:
  17044. goto op_semantics_141;
  17045. break;
  17046. }
  17047. break;
  17048. case 0x12:
  17049. GETBYTE ();
  17050. switch (op[2] & 0x00)
  17051. {
  17052. case 0x00:
  17053. goto op_semantics_141;
  17054. break;
  17055. }
  17056. break;
  17057. case 0x13:
  17058. GETBYTE ();
  17059. switch (op[2] & 0x00)
  17060. {
  17061. case 0x00:
  17062. goto op_semantics_141;
  17063. break;
  17064. }
  17065. break;
  17066. case 0x14:
  17067. GETBYTE ();
  17068. switch (op[2] & 0x00)
  17069. {
  17070. case 0x00:
  17071. goto op_semantics_141;
  17072. break;
  17073. }
  17074. break;
  17075. case 0x15:
  17076. GETBYTE ();
  17077. switch (op[2] & 0x00)
  17078. {
  17079. case 0x00:
  17080. goto op_semantics_141;
  17081. break;
  17082. }
  17083. break;
  17084. case 0x16:
  17085. GETBYTE ();
  17086. switch (op[2] & 0x00)
  17087. {
  17088. case 0x00:
  17089. goto op_semantics_141;
  17090. break;
  17091. }
  17092. break;
  17093. case 0x17:
  17094. GETBYTE ();
  17095. switch (op[2] & 0x00)
  17096. {
  17097. case 0x00:
  17098. goto op_semantics_141;
  17099. break;
  17100. }
  17101. break;
  17102. case 0x18:
  17103. GETBYTE ();
  17104. switch (op[2] & 0x00)
  17105. {
  17106. case 0x00:
  17107. goto op_semantics_141;
  17108. break;
  17109. }
  17110. break;
  17111. case 0x19:
  17112. GETBYTE ();
  17113. switch (op[2] & 0x00)
  17114. {
  17115. case 0x00:
  17116. goto op_semantics_141;
  17117. break;
  17118. }
  17119. break;
  17120. case 0x1a:
  17121. GETBYTE ();
  17122. switch (op[2] & 0x00)
  17123. {
  17124. case 0x00:
  17125. goto op_semantics_141;
  17126. break;
  17127. }
  17128. break;
  17129. case 0x1b:
  17130. GETBYTE ();
  17131. switch (op[2] & 0x00)
  17132. {
  17133. case 0x00:
  17134. goto op_semantics_141;
  17135. break;
  17136. }
  17137. break;
  17138. case 0x1c:
  17139. GETBYTE ();
  17140. switch (op[2] & 0x00)
  17141. {
  17142. case 0x00:
  17143. goto op_semantics_141;
  17144. break;
  17145. }
  17146. break;
  17147. case 0x1d:
  17148. GETBYTE ();
  17149. switch (op[2] & 0x00)
  17150. {
  17151. case 0x00:
  17152. goto op_semantics_141;
  17153. break;
  17154. }
  17155. break;
  17156. case 0x1e:
  17157. GETBYTE ();
  17158. switch (op[2] & 0x00)
  17159. {
  17160. case 0x00:
  17161. goto op_semantics_141;
  17162. break;
  17163. }
  17164. break;
  17165. case 0x1f:
  17166. GETBYTE ();
  17167. switch (op[2] & 0x00)
  17168. {
  17169. case 0x00:
  17170. goto op_semantics_141;
  17171. break;
  17172. }
  17173. break;
  17174. case 0x20:
  17175. GETBYTE ();
  17176. switch (op[2] & 0x00)
  17177. {
  17178. case 0x00:
  17179. goto op_semantics_141;
  17180. break;
  17181. }
  17182. break;
  17183. case 0x21:
  17184. GETBYTE ();
  17185. switch (op[2] & 0x00)
  17186. {
  17187. case 0x00:
  17188. goto op_semantics_141;
  17189. break;
  17190. }
  17191. break;
  17192. case 0x22:
  17193. GETBYTE ();
  17194. switch (op[2] & 0x00)
  17195. {
  17196. case 0x00:
  17197. goto op_semantics_141;
  17198. break;
  17199. }
  17200. break;
  17201. case 0x23:
  17202. GETBYTE ();
  17203. switch (op[2] & 0x00)
  17204. {
  17205. case 0x00:
  17206. goto op_semantics_141;
  17207. break;
  17208. }
  17209. break;
  17210. case 0x24:
  17211. GETBYTE ();
  17212. switch (op[2] & 0x00)
  17213. {
  17214. case 0x00:
  17215. goto op_semantics_141;
  17216. break;
  17217. }
  17218. break;
  17219. case 0x25:
  17220. GETBYTE ();
  17221. switch (op[2] & 0x00)
  17222. {
  17223. case 0x00:
  17224. goto op_semantics_141;
  17225. break;
  17226. }
  17227. break;
  17228. case 0x26:
  17229. GETBYTE ();
  17230. switch (op[2] & 0x00)
  17231. {
  17232. case 0x00:
  17233. goto op_semantics_141;
  17234. break;
  17235. }
  17236. break;
  17237. case 0x27:
  17238. GETBYTE ();
  17239. switch (op[2] & 0x00)
  17240. {
  17241. case 0x00:
  17242. goto op_semantics_141;
  17243. break;
  17244. }
  17245. break;
  17246. case 0x28:
  17247. GETBYTE ();
  17248. switch (op[2] & 0x00)
  17249. {
  17250. case 0x00:
  17251. goto op_semantics_141;
  17252. break;
  17253. }
  17254. break;
  17255. case 0x29:
  17256. GETBYTE ();
  17257. switch (op[2] & 0x00)
  17258. {
  17259. case 0x00:
  17260. goto op_semantics_141;
  17261. break;
  17262. }
  17263. break;
  17264. case 0x2a:
  17265. GETBYTE ();
  17266. switch (op[2] & 0x00)
  17267. {
  17268. case 0x00:
  17269. goto op_semantics_141;
  17270. break;
  17271. }
  17272. break;
  17273. case 0x2b:
  17274. GETBYTE ();
  17275. switch (op[2] & 0x00)
  17276. {
  17277. case 0x00:
  17278. goto op_semantics_141;
  17279. break;
  17280. }
  17281. break;
  17282. case 0x2c:
  17283. GETBYTE ();
  17284. switch (op[2] & 0x00)
  17285. {
  17286. case 0x00:
  17287. goto op_semantics_141;
  17288. break;
  17289. }
  17290. break;
  17291. case 0x2d:
  17292. GETBYTE ();
  17293. switch (op[2] & 0x00)
  17294. {
  17295. case 0x00:
  17296. goto op_semantics_141;
  17297. break;
  17298. }
  17299. break;
  17300. case 0x2e:
  17301. GETBYTE ();
  17302. switch (op[2] & 0x00)
  17303. {
  17304. case 0x00:
  17305. goto op_semantics_141;
  17306. break;
  17307. }
  17308. break;
  17309. case 0x2f:
  17310. GETBYTE ();
  17311. switch (op[2] & 0x00)
  17312. {
  17313. case 0x00:
  17314. goto op_semantics_141;
  17315. break;
  17316. }
  17317. break;
  17318. case 0x40:
  17319. GETBYTE ();
  17320. switch (op[2] & 0x00)
  17321. {
  17322. case 0x00:
  17323. op_semantics_142:
  17324. {
  17325. /** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */
  17326. #line 360 "rx-decode.opc"
  17327. int sz AU = (op[1] >> 4) & 0x03;
  17328. #line 360 "rx-decode.opc"
  17329. int isrc AU = op[1] & 0x0f;
  17330. #line 360 "rx-decode.opc"
  17331. int bsrc AU = (op[2] >> 4) & 0x0f;
  17332. #line 360 "rx-decode.opc"
  17333. int rdst AU = op[2] & 0x0f;
  17334. if (trace)
  17335. {
  17336. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  17337. "/** 1111 1110 01sz isrc bsrc rdst mov%s [%1, %2], %0 */",
  17338. op[0], op[1], op[2]);
  17339. printf (" sz = 0x%x,", sz);
  17340. printf (" isrc = 0x%x,", isrc);
  17341. printf (" bsrc = 0x%x,", bsrc);
  17342. printf (" rdst = 0x%x\n", rdst);
  17343. }
  17344. SYNTAX("mov%s [%1, %2], %0");
  17345. #line 360 "rx-decode.opc"
  17346. ID(movbi); sBWL(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
  17347. }
  17348. break;
  17349. }
  17350. break;
  17351. case 0x41:
  17352. GETBYTE ();
  17353. switch (op[2] & 0x00)
  17354. {
  17355. case 0x00:
  17356. goto op_semantics_142;
  17357. break;
  17358. }
  17359. break;
  17360. case 0x42:
  17361. GETBYTE ();
  17362. switch (op[2] & 0x00)
  17363. {
  17364. case 0x00:
  17365. goto op_semantics_142;
  17366. break;
  17367. }
  17368. break;
  17369. case 0x43:
  17370. GETBYTE ();
  17371. switch (op[2] & 0x00)
  17372. {
  17373. case 0x00:
  17374. goto op_semantics_142;
  17375. break;
  17376. }
  17377. break;
  17378. case 0x44:
  17379. GETBYTE ();
  17380. switch (op[2] & 0x00)
  17381. {
  17382. case 0x00:
  17383. goto op_semantics_142;
  17384. break;
  17385. }
  17386. break;
  17387. case 0x45:
  17388. GETBYTE ();
  17389. switch (op[2] & 0x00)
  17390. {
  17391. case 0x00:
  17392. goto op_semantics_142;
  17393. break;
  17394. }
  17395. break;
  17396. case 0x46:
  17397. GETBYTE ();
  17398. switch (op[2] & 0x00)
  17399. {
  17400. case 0x00:
  17401. goto op_semantics_142;
  17402. break;
  17403. }
  17404. break;
  17405. case 0x47:
  17406. GETBYTE ();
  17407. switch (op[2] & 0x00)
  17408. {
  17409. case 0x00:
  17410. goto op_semantics_142;
  17411. break;
  17412. }
  17413. break;
  17414. case 0x48:
  17415. GETBYTE ();
  17416. switch (op[2] & 0x00)
  17417. {
  17418. case 0x00:
  17419. goto op_semantics_142;
  17420. break;
  17421. }
  17422. break;
  17423. case 0x49:
  17424. GETBYTE ();
  17425. switch (op[2] & 0x00)
  17426. {
  17427. case 0x00:
  17428. goto op_semantics_142;
  17429. break;
  17430. }
  17431. break;
  17432. case 0x4a:
  17433. GETBYTE ();
  17434. switch (op[2] & 0x00)
  17435. {
  17436. case 0x00:
  17437. goto op_semantics_142;
  17438. break;
  17439. }
  17440. break;
  17441. case 0x4b:
  17442. GETBYTE ();
  17443. switch (op[2] & 0x00)
  17444. {
  17445. case 0x00:
  17446. goto op_semantics_142;
  17447. break;
  17448. }
  17449. break;
  17450. case 0x4c:
  17451. GETBYTE ();
  17452. switch (op[2] & 0x00)
  17453. {
  17454. case 0x00:
  17455. goto op_semantics_142;
  17456. break;
  17457. }
  17458. break;
  17459. case 0x4d:
  17460. GETBYTE ();
  17461. switch (op[2] & 0x00)
  17462. {
  17463. case 0x00:
  17464. goto op_semantics_142;
  17465. break;
  17466. }
  17467. break;
  17468. case 0x4e:
  17469. GETBYTE ();
  17470. switch (op[2] & 0x00)
  17471. {
  17472. case 0x00:
  17473. goto op_semantics_142;
  17474. break;
  17475. }
  17476. break;
  17477. case 0x4f:
  17478. GETBYTE ();
  17479. switch (op[2] & 0x00)
  17480. {
  17481. case 0x00:
  17482. goto op_semantics_142;
  17483. break;
  17484. }
  17485. break;
  17486. case 0x50:
  17487. GETBYTE ();
  17488. switch (op[2] & 0x00)
  17489. {
  17490. case 0x00:
  17491. goto op_semantics_142;
  17492. break;
  17493. }
  17494. break;
  17495. case 0x51:
  17496. GETBYTE ();
  17497. switch (op[2] & 0x00)
  17498. {
  17499. case 0x00:
  17500. goto op_semantics_142;
  17501. break;
  17502. }
  17503. break;
  17504. case 0x52:
  17505. GETBYTE ();
  17506. switch (op[2] & 0x00)
  17507. {
  17508. case 0x00:
  17509. goto op_semantics_142;
  17510. break;
  17511. }
  17512. break;
  17513. case 0x53:
  17514. GETBYTE ();
  17515. switch (op[2] & 0x00)
  17516. {
  17517. case 0x00:
  17518. goto op_semantics_142;
  17519. break;
  17520. }
  17521. break;
  17522. case 0x54:
  17523. GETBYTE ();
  17524. switch (op[2] & 0x00)
  17525. {
  17526. case 0x00:
  17527. goto op_semantics_142;
  17528. break;
  17529. }
  17530. break;
  17531. case 0x55:
  17532. GETBYTE ();
  17533. switch (op[2] & 0x00)
  17534. {
  17535. case 0x00:
  17536. goto op_semantics_142;
  17537. break;
  17538. }
  17539. break;
  17540. case 0x56:
  17541. GETBYTE ();
  17542. switch (op[2] & 0x00)
  17543. {
  17544. case 0x00:
  17545. goto op_semantics_142;
  17546. break;
  17547. }
  17548. break;
  17549. case 0x57:
  17550. GETBYTE ();
  17551. switch (op[2] & 0x00)
  17552. {
  17553. case 0x00:
  17554. goto op_semantics_142;
  17555. break;
  17556. }
  17557. break;
  17558. case 0x58:
  17559. GETBYTE ();
  17560. switch (op[2] & 0x00)
  17561. {
  17562. case 0x00:
  17563. goto op_semantics_142;
  17564. break;
  17565. }
  17566. break;
  17567. case 0x59:
  17568. GETBYTE ();
  17569. switch (op[2] & 0x00)
  17570. {
  17571. case 0x00:
  17572. goto op_semantics_142;
  17573. break;
  17574. }
  17575. break;
  17576. case 0x5a:
  17577. GETBYTE ();
  17578. switch (op[2] & 0x00)
  17579. {
  17580. case 0x00:
  17581. goto op_semantics_142;
  17582. break;
  17583. }
  17584. break;
  17585. case 0x5b:
  17586. GETBYTE ();
  17587. switch (op[2] & 0x00)
  17588. {
  17589. case 0x00:
  17590. goto op_semantics_142;
  17591. break;
  17592. }
  17593. break;
  17594. case 0x5c:
  17595. GETBYTE ();
  17596. switch (op[2] & 0x00)
  17597. {
  17598. case 0x00:
  17599. goto op_semantics_142;
  17600. break;
  17601. }
  17602. break;
  17603. case 0x5d:
  17604. GETBYTE ();
  17605. switch (op[2] & 0x00)
  17606. {
  17607. case 0x00:
  17608. goto op_semantics_142;
  17609. break;
  17610. }
  17611. break;
  17612. case 0x5e:
  17613. GETBYTE ();
  17614. switch (op[2] & 0x00)
  17615. {
  17616. case 0x00:
  17617. goto op_semantics_142;
  17618. break;
  17619. }
  17620. break;
  17621. case 0x5f:
  17622. GETBYTE ();
  17623. switch (op[2] & 0x00)
  17624. {
  17625. case 0x00:
  17626. goto op_semantics_142;
  17627. break;
  17628. }
  17629. break;
  17630. case 0x60:
  17631. GETBYTE ();
  17632. switch (op[2] & 0x00)
  17633. {
  17634. case 0x00:
  17635. goto op_semantics_142;
  17636. break;
  17637. }
  17638. break;
  17639. case 0x61:
  17640. GETBYTE ();
  17641. switch (op[2] & 0x00)
  17642. {
  17643. case 0x00:
  17644. goto op_semantics_142;
  17645. break;
  17646. }
  17647. break;
  17648. case 0x62:
  17649. GETBYTE ();
  17650. switch (op[2] & 0x00)
  17651. {
  17652. case 0x00:
  17653. goto op_semantics_142;
  17654. break;
  17655. }
  17656. break;
  17657. case 0x63:
  17658. GETBYTE ();
  17659. switch (op[2] & 0x00)
  17660. {
  17661. case 0x00:
  17662. goto op_semantics_142;
  17663. break;
  17664. }
  17665. break;
  17666. case 0x64:
  17667. GETBYTE ();
  17668. switch (op[2] & 0x00)
  17669. {
  17670. case 0x00:
  17671. goto op_semantics_142;
  17672. break;
  17673. }
  17674. break;
  17675. case 0x65:
  17676. GETBYTE ();
  17677. switch (op[2] & 0x00)
  17678. {
  17679. case 0x00:
  17680. goto op_semantics_142;
  17681. break;
  17682. }
  17683. break;
  17684. case 0x66:
  17685. GETBYTE ();
  17686. switch (op[2] & 0x00)
  17687. {
  17688. case 0x00:
  17689. goto op_semantics_142;
  17690. break;
  17691. }
  17692. break;
  17693. case 0x67:
  17694. GETBYTE ();
  17695. switch (op[2] & 0x00)
  17696. {
  17697. case 0x00:
  17698. goto op_semantics_142;
  17699. break;
  17700. }
  17701. break;
  17702. case 0x68:
  17703. GETBYTE ();
  17704. switch (op[2] & 0x00)
  17705. {
  17706. case 0x00:
  17707. goto op_semantics_142;
  17708. break;
  17709. }
  17710. break;
  17711. case 0x69:
  17712. GETBYTE ();
  17713. switch (op[2] & 0x00)
  17714. {
  17715. case 0x00:
  17716. goto op_semantics_142;
  17717. break;
  17718. }
  17719. break;
  17720. case 0x6a:
  17721. GETBYTE ();
  17722. switch (op[2] & 0x00)
  17723. {
  17724. case 0x00:
  17725. goto op_semantics_142;
  17726. break;
  17727. }
  17728. break;
  17729. case 0x6b:
  17730. GETBYTE ();
  17731. switch (op[2] & 0x00)
  17732. {
  17733. case 0x00:
  17734. goto op_semantics_142;
  17735. break;
  17736. }
  17737. break;
  17738. case 0x6c:
  17739. GETBYTE ();
  17740. switch (op[2] & 0x00)
  17741. {
  17742. case 0x00:
  17743. goto op_semantics_142;
  17744. break;
  17745. }
  17746. break;
  17747. case 0x6d:
  17748. GETBYTE ();
  17749. switch (op[2] & 0x00)
  17750. {
  17751. case 0x00:
  17752. goto op_semantics_142;
  17753. break;
  17754. }
  17755. break;
  17756. case 0x6e:
  17757. GETBYTE ();
  17758. switch (op[2] & 0x00)
  17759. {
  17760. case 0x00:
  17761. goto op_semantics_142;
  17762. break;
  17763. }
  17764. break;
  17765. case 0x6f:
  17766. GETBYTE ();
  17767. switch (op[2] & 0x00)
  17768. {
  17769. case 0x00:
  17770. goto op_semantics_142;
  17771. break;
  17772. }
  17773. break;
  17774. case 0xc0:
  17775. GETBYTE ();
  17776. switch (op[2] & 0x00)
  17777. {
  17778. case 0x00:
  17779. op_semantics_143:
  17780. {
  17781. /** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */
  17782. #line 366 "rx-decode.opc"
  17783. int sz AU = (op[1] >> 4) & 0x03;
  17784. #line 366 "rx-decode.opc"
  17785. int isrc AU = op[1] & 0x0f;
  17786. #line 366 "rx-decode.opc"
  17787. int bsrc AU = (op[2] >> 4) & 0x0f;
  17788. #line 366 "rx-decode.opc"
  17789. int rdst AU = op[2] & 0x0f;
  17790. if (trace)
  17791. {
  17792. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  17793. "/** 1111 1110 11sz isrc bsrc rdst movu%s [%1, %2], %0 */",
  17794. op[0], op[1], op[2]);
  17795. printf (" sz = 0x%x,", sz);
  17796. printf (" isrc = 0x%x,", isrc);
  17797. printf (" bsrc = 0x%x,", bsrc);
  17798. printf (" rdst = 0x%x\n", rdst);
  17799. }
  17800. SYNTAX("movu%s [%1, %2], %0");
  17801. #line 366 "rx-decode.opc"
  17802. ID(movbi); uBW(sz); DR(rdst); SRR(isrc); S2R(bsrc); F_____;
  17803. }
  17804. break;
  17805. }
  17806. break;
  17807. case 0xc1:
  17808. GETBYTE ();
  17809. switch (op[2] & 0x00)
  17810. {
  17811. case 0x00:
  17812. goto op_semantics_143;
  17813. break;
  17814. }
  17815. break;
  17816. case 0xc2:
  17817. GETBYTE ();
  17818. switch (op[2] & 0x00)
  17819. {
  17820. case 0x00:
  17821. goto op_semantics_143;
  17822. break;
  17823. }
  17824. break;
  17825. case 0xc3:
  17826. GETBYTE ();
  17827. switch (op[2] & 0x00)
  17828. {
  17829. case 0x00:
  17830. goto op_semantics_143;
  17831. break;
  17832. }
  17833. break;
  17834. case 0xc4:
  17835. GETBYTE ();
  17836. switch (op[2] & 0x00)
  17837. {
  17838. case 0x00:
  17839. goto op_semantics_143;
  17840. break;
  17841. }
  17842. break;
  17843. case 0xc5:
  17844. GETBYTE ();
  17845. switch (op[2] & 0x00)
  17846. {
  17847. case 0x00:
  17848. goto op_semantics_143;
  17849. break;
  17850. }
  17851. break;
  17852. case 0xc6:
  17853. GETBYTE ();
  17854. switch (op[2] & 0x00)
  17855. {
  17856. case 0x00:
  17857. goto op_semantics_143;
  17858. break;
  17859. }
  17860. break;
  17861. case 0xc7:
  17862. GETBYTE ();
  17863. switch (op[2] & 0x00)
  17864. {
  17865. case 0x00:
  17866. goto op_semantics_143;
  17867. break;
  17868. }
  17869. break;
  17870. case 0xc8:
  17871. GETBYTE ();
  17872. switch (op[2] & 0x00)
  17873. {
  17874. case 0x00:
  17875. goto op_semantics_143;
  17876. break;
  17877. }
  17878. break;
  17879. case 0xc9:
  17880. GETBYTE ();
  17881. switch (op[2] & 0x00)
  17882. {
  17883. case 0x00:
  17884. goto op_semantics_143;
  17885. break;
  17886. }
  17887. break;
  17888. case 0xca:
  17889. GETBYTE ();
  17890. switch (op[2] & 0x00)
  17891. {
  17892. case 0x00:
  17893. goto op_semantics_143;
  17894. break;
  17895. }
  17896. break;
  17897. case 0xcb:
  17898. GETBYTE ();
  17899. switch (op[2] & 0x00)
  17900. {
  17901. case 0x00:
  17902. goto op_semantics_143;
  17903. break;
  17904. }
  17905. break;
  17906. case 0xcc:
  17907. GETBYTE ();
  17908. switch (op[2] & 0x00)
  17909. {
  17910. case 0x00:
  17911. goto op_semantics_143;
  17912. break;
  17913. }
  17914. break;
  17915. case 0xcd:
  17916. GETBYTE ();
  17917. switch (op[2] & 0x00)
  17918. {
  17919. case 0x00:
  17920. goto op_semantics_143;
  17921. break;
  17922. }
  17923. break;
  17924. case 0xce:
  17925. GETBYTE ();
  17926. switch (op[2] & 0x00)
  17927. {
  17928. case 0x00:
  17929. goto op_semantics_143;
  17930. break;
  17931. }
  17932. break;
  17933. case 0xcf:
  17934. GETBYTE ();
  17935. switch (op[2] & 0x00)
  17936. {
  17937. case 0x00:
  17938. goto op_semantics_143;
  17939. break;
  17940. }
  17941. break;
  17942. case 0xd0:
  17943. GETBYTE ();
  17944. switch (op[2] & 0x00)
  17945. {
  17946. case 0x00:
  17947. goto op_semantics_143;
  17948. break;
  17949. }
  17950. break;
  17951. case 0xd1:
  17952. GETBYTE ();
  17953. switch (op[2] & 0x00)
  17954. {
  17955. case 0x00:
  17956. goto op_semantics_143;
  17957. break;
  17958. }
  17959. break;
  17960. case 0xd2:
  17961. GETBYTE ();
  17962. switch (op[2] & 0x00)
  17963. {
  17964. case 0x00:
  17965. goto op_semantics_143;
  17966. break;
  17967. }
  17968. break;
  17969. case 0xd3:
  17970. GETBYTE ();
  17971. switch (op[2] & 0x00)
  17972. {
  17973. case 0x00:
  17974. goto op_semantics_143;
  17975. break;
  17976. }
  17977. break;
  17978. case 0xd4:
  17979. GETBYTE ();
  17980. switch (op[2] & 0x00)
  17981. {
  17982. case 0x00:
  17983. goto op_semantics_143;
  17984. break;
  17985. }
  17986. break;
  17987. case 0xd5:
  17988. GETBYTE ();
  17989. switch (op[2] & 0x00)
  17990. {
  17991. case 0x00:
  17992. goto op_semantics_143;
  17993. break;
  17994. }
  17995. break;
  17996. case 0xd6:
  17997. GETBYTE ();
  17998. switch (op[2] & 0x00)
  17999. {
  18000. case 0x00:
  18001. goto op_semantics_143;
  18002. break;
  18003. }
  18004. break;
  18005. case 0xd7:
  18006. GETBYTE ();
  18007. switch (op[2] & 0x00)
  18008. {
  18009. case 0x00:
  18010. goto op_semantics_143;
  18011. break;
  18012. }
  18013. break;
  18014. case 0xd8:
  18015. GETBYTE ();
  18016. switch (op[2] & 0x00)
  18017. {
  18018. case 0x00:
  18019. goto op_semantics_143;
  18020. break;
  18021. }
  18022. break;
  18023. case 0xd9:
  18024. GETBYTE ();
  18025. switch (op[2] & 0x00)
  18026. {
  18027. case 0x00:
  18028. goto op_semantics_143;
  18029. break;
  18030. }
  18031. break;
  18032. case 0xda:
  18033. GETBYTE ();
  18034. switch (op[2] & 0x00)
  18035. {
  18036. case 0x00:
  18037. goto op_semantics_143;
  18038. break;
  18039. }
  18040. break;
  18041. case 0xdb:
  18042. GETBYTE ();
  18043. switch (op[2] & 0x00)
  18044. {
  18045. case 0x00:
  18046. goto op_semantics_143;
  18047. break;
  18048. }
  18049. break;
  18050. case 0xdc:
  18051. GETBYTE ();
  18052. switch (op[2] & 0x00)
  18053. {
  18054. case 0x00:
  18055. goto op_semantics_143;
  18056. break;
  18057. }
  18058. break;
  18059. case 0xdd:
  18060. GETBYTE ();
  18061. switch (op[2] & 0x00)
  18062. {
  18063. case 0x00:
  18064. goto op_semantics_143;
  18065. break;
  18066. }
  18067. break;
  18068. case 0xde:
  18069. GETBYTE ();
  18070. switch (op[2] & 0x00)
  18071. {
  18072. case 0x00:
  18073. goto op_semantics_143;
  18074. break;
  18075. }
  18076. break;
  18077. case 0xdf:
  18078. GETBYTE ();
  18079. switch (op[2] & 0x00)
  18080. {
  18081. case 0x00:
  18082. goto op_semantics_143;
  18083. break;
  18084. }
  18085. break;
  18086. case 0xe0:
  18087. GETBYTE ();
  18088. switch (op[2] & 0x00)
  18089. {
  18090. case 0x00:
  18091. goto op_semantics_143;
  18092. break;
  18093. }
  18094. break;
  18095. case 0xe1:
  18096. GETBYTE ();
  18097. switch (op[2] & 0x00)
  18098. {
  18099. case 0x00:
  18100. goto op_semantics_143;
  18101. break;
  18102. }
  18103. break;
  18104. case 0xe2:
  18105. GETBYTE ();
  18106. switch (op[2] & 0x00)
  18107. {
  18108. case 0x00:
  18109. goto op_semantics_143;
  18110. break;
  18111. }
  18112. break;
  18113. case 0xe3:
  18114. GETBYTE ();
  18115. switch (op[2] & 0x00)
  18116. {
  18117. case 0x00:
  18118. goto op_semantics_143;
  18119. break;
  18120. }
  18121. break;
  18122. case 0xe4:
  18123. GETBYTE ();
  18124. switch (op[2] & 0x00)
  18125. {
  18126. case 0x00:
  18127. goto op_semantics_143;
  18128. break;
  18129. }
  18130. break;
  18131. case 0xe5:
  18132. GETBYTE ();
  18133. switch (op[2] & 0x00)
  18134. {
  18135. case 0x00:
  18136. goto op_semantics_143;
  18137. break;
  18138. }
  18139. break;
  18140. case 0xe6:
  18141. GETBYTE ();
  18142. switch (op[2] & 0x00)
  18143. {
  18144. case 0x00:
  18145. goto op_semantics_143;
  18146. break;
  18147. }
  18148. break;
  18149. case 0xe7:
  18150. GETBYTE ();
  18151. switch (op[2] & 0x00)
  18152. {
  18153. case 0x00:
  18154. goto op_semantics_143;
  18155. break;
  18156. }
  18157. break;
  18158. case 0xe8:
  18159. GETBYTE ();
  18160. switch (op[2] & 0x00)
  18161. {
  18162. case 0x00:
  18163. goto op_semantics_143;
  18164. break;
  18165. }
  18166. break;
  18167. case 0xe9:
  18168. GETBYTE ();
  18169. switch (op[2] & 0x00)
  18170. {
  18171. case 0x00:
  18172. goto op_semantics_143;
  18173. break;
  18174. }
  18175. break;
  18176. case 0xea:
  18177. GETBYTE ();
  18178. switch (op[2] & 0x00)
  18179. {
  18180. case 0x00:
  18181. goto op_semantics_143;
  18182. break;
  18183. }
  18184. break;
  18185. case 0xeb:
  18186. GETBYTE ();
  18187. switch (op[2] & 0x00)
  18188. {
  18189. case 0x00:
  18190. goto op_semantics_143;
  18191. break;
  18192. }
  18193. break;
  18194. case 0xec:
  18195. GETBYTE ();
  18196. switch (op[2] & 0x00)
  18197. {
  18198. case 0x00:
  18199. goto op_semantics_143;
  18200. break;
  18201. }
  18202. break;
  18203. case 0xed:
  18204. GETBYTE ();
  18205. switch (op[2] & 0x00)
  18206. {
  18207. case 0x00:
  18208. goto op_semantics_143;
  18209. break;
  18210. }
  18211. break;
  18212. case 0xee:
  18213. GETBYTE ();
  18214. switch (op[2] & 0x00)
  18215. {
  18216. case 0x00:
  18217. goto op_semantics_143;
  18218. break;
  18219. }
  18220. break;
  18221. case 0xef:
  18222. GETBYTE ();
  18223. switch (op[2] & 0x00)
  18224. {
  18225. case 0x00:
  18226. goto op_semantics_143;
  18227. break;
  18228. }
  18229. break;
  18230. default: UNSUPPORTED(); break;
  18231. }
  18232. break;
  18233. case 0xff:
  18234. GETBYTE ();
  18235. switch (op[1] & 0xff)
  18236. {
  18237. case 0x00:
  18238. GETBYTE ();
  18239. switch (op[2] & 0x00)
  18240. {
  18241. case 0x00:
  18242. op_semantics_144:
  18243. {
  18244. /** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */
  18245. #line 570 "rx-decode.opc"
  18246. int rdst AU = op[1] & 0x0f;
  18247. #line 570 "rx-decode.opc"
  18248. int srca AU = (op[2] >> 4) & 0x0f;
  18249. #line 570 "rx-decode.opc"
  18250. int srcb AU = op[2] & 0x0f;
  18251. if (trace)
  18252. {
  18253. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  18254. "/** 1111 1111 0000 rdst srca srcb sub %2, %1, %0 */",
  18255. op[0], op[1], op[2]);
  18256. printf (" rdst = 0x%x,", rdst);
  18257. printf (" srca = 0x%x,", srca);
  18258. printf (" srcb = 0x%x\n", srcb);
  18259. }
  18260. SYNTAX("sub %2, %1, %0");
  18261. #line 570 "rx-decode.opc"
  18262. ID(sub); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
  18263. /*----------------------------------------------------------------------*/
  18264. /* SBB */
  18265. }
  18266. break;
  18267. }
  18268. break;
  18269. case 0x01:
  18270. GETBYTE ();
  18271. switch (op[2] & 0x00)
  18272. {
  18273. case 0x00:
  18274. goto op_semantics_144;
  18275. break;
  18276. }
  18277. break;
  18278. case 0x02:
  18279. GETBYTE ();
  18280. switch (op[2] & 0x00)
  18281. {
  18282. case 0x00:
  18283. goto op_semantics_144;
  18284. break;
  18285. }
  18286. break;
  18287. case 0x03:
  18288. GETBYTE ();
  18289. switch (op[2] & 0x00)
  18290. {
  18291. case 0x00:
  18292. goto op_semantics_144;
  18293. break;
  18294. }
  18295. break;
  18296. case 0x04:
  18297. GETBYTE ();
  18298. switch (op[2] & 0x00)
  18299. {
  18300. case 0x00:
  18301. goto op_semantics_144;
  18302. break;
  18303. }
  18304. break;
  18305. case 0x05:
  18306. GETBYTE ();
  18307. switch (op[2] & 0x00)
  18308. {
  18309. case 0x00:
  18310. goto op_semantics_144;
  18311. break;
  18312. }
  18313. break;
  18314. case 0x06:
  18315. GETBYTE ();
  18316. switch (op[2] & 0x00)
  18317. {
  18318. case 0x00:
  18319. goto op_semantics_144;
  18320. break;
  18321. }
  18322. break;
  18323. case 0x07:
  18324. GETBYTE ();
  18325. switch (op[2] & 0x00)
  18326. {
  18327. case 0x00:
  18328. goto op_semantics_144;
  18329. break;
  18330. }
  18331. break;
  18332. case 0x08:
  18333. GETBYTE ();
  18334. switch (op[2] & 0x00)
  18335. {
  18336. case 0x00:
  18337. goto op_semantics_144;
  18338. break;
  18339. }
  18340. break;
  18341. case 0x09:
  18342. GETBYTE ();
  18343. switch (op[2] & 0x00)
  18344. {
  18345. case 0x00:
  18346. goto op_semantics_144;
  18347. break;
  18348. }
  18349. break;
  18350. case 0x0a:
  18351. GETBYTE ();
  18352. switch (op[2] & 0x00)
  18353. {
  18354. case 0x00:
  18355. goto op_semantics_144;
  18356. break;
  18357. }
  18358. break;
  18359. case 0x0b:
  18360. GETBYTE ();
  18361. switch (op[2] & 0x00)
  18362. {
  18363. case 0x00:
  18364. goto op_semantics_144;
  18365. break;
  18366. }
  18367. break;
  18368. case 0x0c:
  18369. GETBYTE ();
  18370. switch (op[2] & 0x00)
  18371. {
  18372. case 0x00:
  18373. goto op_semantics_144;
  18374. break;
  18375. }
  18376. break;
  18377. case 0x0d:
  18378. GETBYTE ();
  18379. switch (op[2] & 0x00)
  18380. {
  18381. case 0x00:
  18382. goto op_semantics_144;
  18383. break;
  18384. }
  18385. break;
  18386. case 0x0e:
  18387. GETBYTE ();
  18388. switch (op[2] & 0x00)
  18389. {
  18390. case 0x00:
  18391. goto op_semantics_144;
  18392. break;
  18393. }
  18394. break;
  18395. case 0x0f:
  18396. GETBYTE ();
  18397. switch (op[2] & 0x00)
  18398. {
  18399. case 0x00:
  18400. goto op_semantics_144;
  18401. break;
  18402. }
  18403. break;
  18404. case 0x20:
  18405. GETBYTE ();
  18406. switch (op[2] & 0x00)
  18407. {
  18408. case 0x00:
  18409. op_semantics_145:
  18410. {
  18411. /** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */
  18412. #line 537 "rx-decode.opc"
  18413. int rdst AU = op[1] & 0x0f;
  18414. #line 537 "rx-decode.opc"
  18415. int srca AU = (op[2] >> 4) & 0x0f;
  18416. #line 537 "rx-decode.opc"
  18417. int srcb AU = op[2] & 0x0f;
  18418. if (trace)
  18419. {
  18420. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  18421. "/** 1111 1111 0010 rdst srca srcb add %2, %1, %0 */",
  18422. op[0], op[1], op[2]);
  18423. printf (" rdst = 0x%x,", rdst);
  18424. printf (" srca = 0x%x,", srca);
  18425. printf (" srcb = 0x%x\n", srcb);
  18426. }
  18427. SYNTAX("add %2, %1, %0");
  18428. #line 537 "rx-decode.opc"
  18429. ID(add); DR(rdst); SR(srcb); S2R(srca); F_OSZC;
  18430. /*----------------------------------------------------------------------*/
  18431. /* CMP */
  18432. }
  18433. break;
  18434. }
  18435. break;
  18436. case 0x21:
  18437. GETBYTE ();
  18438. switch (op[2] & 0x00)
  18439. {
  18440. case 0x00:
  18441. goto op_semantics_145;
  18442. break;
  18443. }
  18444. break;
  18445. case 0x22:
  18446. GETBYTE ();
  18447. switch (op[2] & 0x00)
  18448. {
  18449. case 0x00:
  18450. goto op_semantics_145;
  18451. break;
  18452. }
  18453. break;
  18454. case 0x23:
  18455. GETBYTE ();
  18456. switch (op[2] & 0x00)
  18457. {
  18458. case 0x00:
  18459. goto op_semantics_145;
  18460. break;
  18461. }
  18462. break;
  18463. case 0x24:
  18464. GETBYTE ();
  18465. switch (op[2] & 0x00)
  18466. {
  18467. case 0x00:
  18468. goto op_semantics_145;
  18469. break;
  18470. }
  18471. break;
  18472. case 0x25:
  18473. GETBYTE ();
  18474. switch (op[2] & 0x00)
  18475. {
  18476. case 0x00:
  18477. goto op_semantics_145;
  18478. break;
  18479. }
  18480. break;
  18481. case 0x26:
  18482. GETBYTE ();
  18483. switch (op[2] & 0x00)
  18484. {
  18485. case 0x00:
  18486. goto op_semantics_145;
  18487. break;
  18488. }
  18489. break;
  18490. case 0x27:
  18491. GETBYTE ();
  18492. switch (op[2] & 0x00)
  18493. {
  18494. case 0x00:
  18495. goto op_semantics_145;
  18496. break;
  18497. }
  18498. break;
  18499. case 0x28:
  18500. GETBYTE ();
  18501. switch (op[2] & 0x00)
  18502. {
  18503. case 0x00:
  18504. goto op_semantics_145;
  18505. break;
  18506. }
  18507. break;
  18508. case 0x29:
  18509. GETBYTE ();
  18510. switch (op[2] & 0x00)
  18511. {
  18512. case 0x00:
  18513. goto op_semantics_145;
  18514. break;
  18515. }
  18516. break;
  18517. case 0x2a:
  18518. GETBYTE ();
  18519. switch (op[2] & 0x00)
  18520. {
  18521. case 0x00:
  18522. goto op_semantics_145;
  18523. break;
  18524. }
  18525. break;
  18526. case 0x2b:
  18527. GETBYTE ();
  18528. switch (op[2] & 0x00)
  18529. {
  18530. case 0x00:
  18531. goto op_semantics_145;
  18532. break;
  18533. }
  18534. break;
  18535. case 0x2c:
  18536. GETBYTE ();
  18537. switch (op[2] & 0x00)
  18538. {
  18539. case 0x00:
  18540. goto op_semantics_145;
  18541. break;
  18542. }
  18543. break;
  18544. case 0x2d:
  18545. GETBYTE ();
  18546. switch (op[2] & 0x00)
  18547. {
  18548. case 0x00:
  18549. goto op_semantics_145;
  18550. break;
  18551. }
  18552. break;
  18553. case 0x2e:
  18554. GETBYTE ();
  18555. switch (op[2] & 0x00)
  18556. {
  18557. case 0x00:
  18558. goto op_semantics_145;
  18559. break;
  18560. }
  18561. break;
  18562. case 0x2f:
  18563. GETBYTE ();
  18564. switch (op[2] & 0x00)
  18565. {
  18566. case 0x00:
  18567. goto op_semantics_145;
  18568. break;
  18569. }
  18570. break;
  18571. case 0x30:
  18572. GETBYTE ();
  18573. switch (op[2] & 0x00)
  18574. {
  18575. case 0x00:
  18576. op_semantics_146:
  18577. {
  18578. /** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */
  18579. #line 677 "rx-decode.opc"
  18580. int rdst AU = op[1] & 0x0f;
  18581. #line 677 "rx-decode.opc"
  18582. int srca AU = (op[2] >> 4) & 0x0f;
  18583. #line 677 "rx-decode.opc"
  18584. int srcb AU = op[2] & 0x0f;
  18585. if (trace)
  18586. {
  18587. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  18588. "/** 1111 1111 0011 rdst srca srcb mul %2, %1, %0 */",
  18589. op[0], op[1], op[2]);
  18590. printf (" rdst = 0x%x,", rdst);
  18591. printf (" srca = 0x%x,", srca);
  18592. printf (" srcb = 0x%x\n", srcb);
  18593. }
  18594. SYNTAX("mul %2, %1, %0");
  18595. #line 677 "rx-decode.opc"
  18596. ID(mul); DR(rdst); SR(srcb); S2R(srca); F_____;
  18597. /*----------------------------------------------------------------------*/
  18598. /* EMUL */
  18599. }
  18600. break;
  18601. }
  18602. break;
  18603. case 0x31:
  18604. GETBYTE ();
  18605. switch (op[2] & 0x00)
  18606. {
  18607. case 0x00:
  18608. goto op_semantics_146;
  18609. break;
  18610. }
  18611. break;
  18612. case 0x32:
  18613. GETBYTE ();
  18614. switch (op[2] & 0x00)
  18615. {
  18616. case 0x00:
  18617. goto op_semantics_146;
  18618. break;
  18619. }
  18620. break;
  18621. case 0x33:
  18622. GETBYTE ();
  18623. switch (op[2] & 0x00)
  18624. {
  18625. case 0x00:
  18626. goto op_semantics_146;
  18627. break;
  18628. }
  18629. break;
  18630. case 0x34:
  18631. GETBYTE ();
  18632. switch (op[2] & 0x00)
  18633. {
  18634. case 0x00:
  18635. goto op_semantics_146;
  18636. break;
  18637. }
  18638. break;
  18639. case 0x35:
  18640. GETBYTE ();
  18641. switch (op[2] & 0x00)
  18642. {
  18643. case 0x00:
  18644. goto op_semantics_146;
  18645. break;
  18646. }
  18647. break;
  18648. case 0x36:
  18649. GETBYTE ();
  18650. switch (op[2] & 0x00)
  18651. {
  18652. case 0x00:
  18653. goto op_semantics_146;
  18654. break;
  18655. }
  18656. break;
  18657. case 0x37:
  18658. GETBYTE ();
  18659. switch (op[2] & 0x00)
  18660. {
  18661. case 0x00:
  18662. goto op_semantics_146;
  18663. break;
  18664. }
  18665. break;
  18666. case 0x38:
  18667. GETBYTE ();
  18668. switch (op[2] & 0x00)
  18669. {
  18670. case 0x00:
  18671. goto op_semantics_146;
  18672. break;
  18673. }
  18674. break;
  18675. case 0x39:
  18676. GETBYTE ();
  18677. switch (op[2] & 0x00)
  18678. {
  18679. case 0x00:
  18680. goto op_semantics_146;
  18681. break;
  18682. }
  18683. break;
  18684. case 0x3a:
  18685. GETBYTE ();
  18686. switch (op[2] & 0x00)
  18687. {
  18688. case 0x00:
  18689. goto op_semantics_146;
  18690. break;
  18691. }
  18692. break;
  18693. case 0x3b:
  18694. GETBYTE ();
  18695. switch (op[2] & 0x00)
  18696. {
  18697. case 0x00:
  18698. goto op_semantics_146;
  18699. break;
  18700. }
  18701. break;
  18702. case 0x3c:
  18703. GETBYTE ();
  18704. switch (op[2] & 0x00)
  18705. {
  18706. case 0x00:
  18707. goto op_semantics_146;
  18708. break;
  18709. }
  18710. break;
  18711. case 0x3d:
  18712. GETBYTE ();
  18713. switch (op[2] & 0x00)
  18714. {
  18715. case 0x00:
  18716. goto op_semantics_146;
  18717. break;
  18718. }
  18719. break;
  18720. case 0x3e:
  18721. GETBYTE ();
  18722. switch (op[2] & 0x00)
  18723. {
  18724. case 0x00:
  18725. goto op_semantics_146;
  18726. break;
  18727. }
  18728. break;
  18729. case 0x3f:
  18730. GETBYTE ();
  18731. switch (op[2] & 0x00)
  18732. {
  18733. case 0x00:
  18734. goto op_semantics_146;
  18735. break;
  18736. }
  18737. break;
  18738. case 0x40:
  18739. GETBYTE ();
  18740. switch (op[2] & 0x00)
  18741. {
  18742. case 0x00:
  18743. op_semantics_147:
  18744. {
  18745. /** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */
  18746. #line 447 "rx-decode.opc"
  18747. int rdst AU = op[1] & 0x0f;
  18748. #line 447 "rx-decode.opc"
  18749. int srca AU = (op[2] >> 4) & 0x0f;
  18750. #line 447 "rx-decode.opc"
  18751. int srcb AU = op[2] & 0x0f;
  18752. if (trace)
  18753. {
  18754. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  18755. "/** 1111 1111 0100 rdst srca srcb and %2, %1, %0 */",
  18756. op[0], op[1], op[2]);
  18757. printf (" rdst = 0x%x,", rdst);
  18758. printf (" srca = 0x%x,", srca);
  18759. printf (" srcb = 0x%x\n", srcb);
  18760. }
  18761. SYNTAX("and %2, %1, %0");
  18762. #line 447 "rx-decode.opc"
  18763. ID(and); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
  18764. /*----------------------------------------------------------------------*/
  18765. /* OR */
  18766. }
  18767. break;
  18768. }
  18769. break;
  18770. case 0x41:
  18771. GETBYTE ();
  18772. switch (op[2] & 0x00)
  18773. {
  18774. case 0x00:
  18775. goto op_semantics_147;
  18776. break;
  18777. }
  18778. break;
  18779. case 0x42:
  18780. GETBYTE ();
  18781. switch (op[2] & 0x00)
  18782. {
  18783. case 0x00:
  18784. goto op_semantics_147;
  18785. break;
  18786. }
  18787. break;
  18788. case 0x43:
  18789. GETBYTE ();
  18790. switch (op[2] & 0x00)
  18791. {
  18792. case 0x00:
  18793. goto op_semantics_147;
  18794. break;
  18795. }
  18796. break;
  18797. case 0x44:
  18798. GETBYTE ();
  18799. switch (op[2] & 0x00)
  18800. {
  18801. case 0x00:
  18802. goto op_semantics_147;
  18803. break;
  18804. }
  18805. break;
  18806. case 0x45:
  18807. GETBYTE ();
  18808. switch (op[2] & 0x00)
  18809. {
  18810. case 0x00:
  18811. goto op_semantics_147;
  18812. break;
  18813. }
  18814. break;
  18815. case 0x46:
  18816. GETBYTE ();
  18817. switch (op[2] & 0x00)
  18818. {
  18819. case 0x00:
  18820. goto op_semantics_147;
  18821. break;
  18822. }
  18823. break;
  18824. case 0x47:
  18825. GETBYTE ();
  18826. switch (op[2] & 0x00)
  18827. {
  18828. case 0x00:
  18829. goto op_semantics_147;
  18830. break;
  18831. }
  18832. break;
  18833. case 0x48:
  18834. GETBYTE ();
  18835. switch (op[2] & 0x00)
  18836. {
  18837. case 0x00:
  18838. goto op_semantics_147;
  18839. break;
  18840. }
  18841. break;
  18842. case 0x49:
  18843. GETBYTE ();
  18844. switch (op[2] & 0x00)
  18845. {
  18846. case 0x00:
  18847. goto op_semantics_147;
  18848. break;
  18849. }
  18850. break;
  18851. case 0x4a:
  18852. GETBYTE ();
  18853. switch (op[2] & 0x00)
  18854. {
  18855. case 0x00:
  18856. goto op_semantics_147;
  18857. break;
  18858. }
  18859. break;
  18860. case 0x4b:
  18861. GETBYTE ();
  18862. switch (op[2] & 0x00)
  18863. {
  18864. case 0x00:
  18865. goto op_semantics_147;
  18866. break;
  18867. }
  18868. break;
  18869. case 0x4c:
  18870. GETBYTE ();
  18871. switch (op[2] & 0x00)
  18872. {
  18873. case 0x00:
  18874. goto op_semantics_147;
  18875. break;
  18876. }
  18877. break;
  18878. case 0x4d:
  18879. GETBYTE ();
  18880. switch (op[2] & 0x00)
  18881. {
  18882. case 0x00:
  18883. goto op_semantics_147;
  18884. break;
  18885. }
  18886. break;
  18887. case 0x4e:
  18888. GETBYTE ();
  18889. switch (op[2] & 0x00)
  18890. {
  18891. case 0x00:
  18892. goto op_semantics_147;
  18893. break;
  18894. }
  18895. break;
  18896. case 0x4f:
  18897. GETBYTE ();
  18898. switch (op[2] & 0x00)
  18899. {
  18900. case 0x00:
  18901. goto op_semantics_147;
  18902. break;
  18903. }
  18904. break;
  18905. case 0x50:
  18906. GETBYTE ();
  18907. switch (op[2] & 0x00)
  18908. {
  18909. case 0x00:
  18910. op_semantics_148:
  18911. {
  18912. /** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */
  18913. #line 465 "rx-decode.opc"
  18914. int rdst AU = op[1] & 0x0f;
  18915. #line 465 "rx-decode.opc"
  18916. int srca AU = (op[2] >> 4) & 0x0f;
  18917. #line 465 "rx-decode.opc"
  18918. int srcb AU = op[2] & 0x0f;
  18919. if (trace)
  18920. {
  18921. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  18922. "/** 1111 1111 0101 rdst srca srcb or %2, %1, %0 */",
  18923. op[0], op[1], op[2]);
  18924. printf (" rdst = 0x%x,", rdst);
  18925. printf (" srca = 0x%x,", srca);
  18926. printf (" srcb = 0x%x\n", srcb);
  18927. }
  18928. SYNTAX("or %2, %1, %0");
  18929. #line 465 "rx-decode.opc"
  18930. ID(or); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
  18931. /*----------------------------------------------------------------------*/
  18932. /* XOR */
  18933. }
  18934. break;
  18935. }
  18936. break;
  18937. case 0x51:
  18938. GETBYTE ();
  18939. switch (op[2] & 0x00)
  18940. {
  18941. case 0x00:
  18942. goto op_semantics_148;
  18943. break;
  18944. }
  18945. break;
  18946. case 0x52:
  18947. GETBYTE ();
  18948. switch (op[2] & 0x00)
  18949. {
  18950. case 0x00:
  18951. goto op_semantics_148;
  18952. break;
  18953. }
  18954. break;
  18955. case 0x53:
  18956. GETBYTE ();
  18957. switch (op[2] & 0x00)
  18958. {
  18959. case 0x00:
  18960. goto op_semantics_148;
  18961. break;
  18962. }
  18963. break;
  18964. case 0x54:
  18965. GETBYTE ();
  18966. switch (op[2] & 0x00)
  18967. {
  18968. case 0x00:
  18969. goto op_semantics_148;
  18970. break;
  18971. }
  18972. break;
  18973. case 0x55:
  18974. GETBYTE ();
  18975. switch (op[2] & 0x00)
  18976. {
  18977. case 0x00:
  18978. goto op_semantics_148;
  18979. break;
  18980. }
  18981. break;
  18982. case 0x56:
  18983. GETBYTE ();
  18984. switch (op[2] & 0x00)
  18985. {
  18986. case 0x00:
  18987. goto op_semantics_148;
  18988. break;
  18989. }
  18990. break;
  18991. case 0x57:
  18992. GETBYTE ();
  18993. switch (op[2] & 0x00)
  18994. {
  18995. case 0x00:
  18996. goto op_semantics_148;
  18997. break;
  18998. }
  18999. break;
  19000. case 0x58:
  19001. GETBYTE ();
  19002. switch (op[2] & 0x00)
  19003. {
  19004. case 0x00:
  19005. goto op_semantics_148;
  19006. break;
  19007. }
  19008. break;
  19009. case 0x59:
  19010. GETBYTE ();
  19011. switch (op[2] & 0x00)
  19012. {
  19013. case 0x00:
  19014. goto op_semantics_148;
  19015. break;
  19016. }
  19017. break;
  19018. case 0x5a:
  19019. GETBYTE ();
  19020. switch (op[2] & 0x00)
  19021. {
  19022. case 0x00:
  19023. goto op_semantics_148;
  19024. break;
  19025. }
  19026. break;
  19027. case 0x5b:
  19028. GETBYTE ();
  19029. switch (op[2] & 0x00)
  19030. {
  19031. case 0x00:
  19032. goto op_semantics_148;
  19033. break;
  19034. }
  19035. break;
  19036. case 0x5c:
  19037. GETBYTE ();
  19038. switch (op[2] & 0x00)
  19039. {
  19040. case 0x00:
  19041. goto op_semantics_148;
  19042. break;
  19043. }
  19044. break;
  19045. case 0x5d:
  19046. GETBYTE ();
  19047. switch (op[2] & 0x00)
  19048. {
  19049. case 0x00:
  19050. goto op_semantics_148;
  19051. break;
  19052. }
  19053. break;
  19054. case 0x5e:
  19055. GETBYTE ();
  19056. switch (op[2] & 0x00)
  19057. {
  19058. case 0x00:
  19059. goto op_semantics_148;
  19060. break;
  19061. }
  19062. break;
  19063. case 0x5f:
  19064. GETBYTE ();
  19065. switch (op[2] & 0x00)
  19066. {
  19067. case 0x00:
  19068. goto op_semantics_148;
  19069. break;
  19070. }
  19071. break;
  19072. case 0x60:
  19073. GETBYTE ();
  19074. switch (op[2] & 0x00)
  19075. {
  19076. case 0x00:
  19077. op_semantics_149:
  19078. {
  19079. /** 1111 1111 0110 rdst srca srcb xor %2, %1, %0 */
  19080. #line 1146 "rx-decode.opc"
  19081. int rdst AU = op[1] & 0x0f;
  19082. #line 1146 "rx-decode.opc"
  19083. int srca AU = (op[2] >> 4) & 0x0f;
  19084. #line 1146 "rx-decode.opc"
  19085. int srcb AU = op[2] & 0x0f;
  19086. if (trace)
  19087. {
  19088. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  19089. "/** 1111 1111 0110 rdst srca srcb xor %2, %1, %0 */",
  19090. op[0], op[1], op[2]);
  19091. printf (" rdst = 0x%x,", rdst);
  19092. printf (" srca = 0x%x,", srca);
  19093. printf (" srcb = 0x%x\n", srcb);
  19094. }
  19095. SYNTAX("xor %2, %1, %0");
  19096. #line 1146 "rx-decode.opc"
  19097. ID(xor); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
  19098. }
  19099. break;
  19100. }
  19101. break;
  19102. case 0x61:
  19103. GETBYTE ();
  19104. switch (op[2] & 0x00)
  19105. {
  19106. case 0x00:
  19107. goto op_semantics_149;
  19108. break;
  19109. }
  19110. break;
  19111. case 0x62:
  19112. GETBYTE ();
  19113. switch (op[2] & 0x00)
  19114. {
  19115. case 0x00:
  19116. goto op_semantics_149;
  19117. break;
  19118. }
  19119. break;
  19120. case 0x63:
  19121. GETBYTE ();
  19122. switch (op[2] & 0x00)
  19123. {
  19124. case 0x00:
  19125. goto op_semantics_149;
  19126. break;
  19127. }
  19128. break;
  19129. case 0x64:
  19130. GETBYTE ();
  19131. switch (op[2] & 0x00)
  19132. {
  19133. case 0x00:
  19134. goto op_semantics_149;
  19135. break;
  19136. }
  19137. break;
  19138. case 0x65:
  19139. GETBYTE ();
  19140. switch (op[2] & 0x00)
  19141. {
  19142. case 0x00:
  19143. goto op_semantics_149;
  19144. break;
  19145. }
  19146. break;
  19147. case 0x66:
  19148. GETBYTE ();
  19149. switch (op[2] & 0x00)
  19150. {
  19151. case 0x00:
  19152. goto op_semantics_149;
  19153. break;
  19154. }
  19155. break;
  19156. case 0x67:
  19157. GETBYTE ();
  19158. switch (op[2] & 0x00)
  19159. {
  19160. case 0x00:
  19161. goto op_semantics_149;
  19162. break;
  19163. }
  19164. break;
  19165. case 0x68:
  19166. GETBYTE ();
  19167. switch (op[2] & 0x00)
  19168. {
  19169. case 0x00:
  19170. goto op_semantics_149;
  19171. break;
  19172. }
  19173. break;
  19174. case 0x69:
  19175. GETBYTE ();
  19176. switch (op[2] & 0x00)
  19177. {
  19178. case 0x00:
  19179. goto op_semantics_149;
  19180. break;
  19181. }
  19182. break;
  19183. case 0x6a:
  19184. GETBYTE ();
  19185. switch (op[2] & 0x00)
  19186. {
  19187. case 0x00:
  19188. goto op_semantics_149;
  19189. break;
  19190. }
  19191. break;
  19192. case 0x6b:
  19193. GETBYTE ();
  19194. switch (op[2] & 0x00)
  19195. {
  19196. case 0x00:
  19197. goto op_semantics_149;
  19198. break;
  19199. }
  19200. break;
  19201. case 0x6c:
  19202. GETBYTE ();
  19203. switch (op[2] & 0x00)
  19204. {
  19205. case 0x00:
  19206. goto op_semantics_149;
  19207. break;
  19208. }
  19209. break;
  19210. case 0x6d:
  19211. GETBYTE ();
  19212. switch (op[2] & 0x00)
  19213. {
  19214. case 0x00:
  19215. goto op_semantics_149;
  19216. break;
  19217. }
  19218. break;
  19219. case 0x6e:
  19220. GETBYTE ();
  19221. switch (op[2] & 0x00)
  19222. {
  19223. case 0x00:
  19224. goto op_semantics_149;
  19225. break;
  19226. }
  19227. break;
  19228. case 0x6f:
  19229. GETBYTE ();
  19230. switch (op[2] & 0x00)
  19231. {
  19232. case 0x00:
  19233. goto op_semantics_149;
  19234. break;
  19235. }
  19236. break;
  19237. case 0x80:
  19238. GETBYTE ();
  19239. switch (op[2] & 0x00)
  19240. {
  19241. case 0x00:
  19242. op_semantics_150:
  19243. {
  19244. /** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */
  19245. #line 1125 "rx-decode.opc"
  19246. int rdst AU = op[1] & 0x0f;
  19247. #line 1125 "rx-decode.opc"
  19248. int srca AU = (op[2] >> 4) & 0x0f;
  19249. #line 1125 "rx-decode.opc"
  19250. int srcb AU = op[2] & 0x0f;
  19251. if (trace)
  19252. {
  19253. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  19254. "/** 1111 1111 1000 rdst srca srcb fsub %2, %1, %0 */",
  19255. op[0], op[1], op[2]);
  19256. printf (" rdst = 0x%x,", rdst);
  19257. printf (" srca = 0x%x,", srca);
  19258. printf (" srcb = 0x%x\n", srcb);
  19259. }
  19260. SYNTAX("fsub %2, %1, %0");
  19261. #line 1125 "rx-decode.opc"
  19262. ID(fsub); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
  19263. }
  19264. break;
  19265. }
  19266. break;
  19267. case 0x81:
  19268. GETBYTE ();
  19269. switch (op[2] & 0x00)
  19270. {
  19271. case 0x00:
  19272. goto op_semantics_150;
  19273. break;
  19274. }
  19275. break;
  19276. case 0x82:
  19277. GETBYTE ();
  19278. switch (op[2] & 0x00)
  19279. {
  19280. case 0x00:
  19281. goto op_semantics_150;
  19282. break;
  19283. }
  19284. break;
  19285. case 0x83:
  19286. GETBYTE ();
  19287. switch (op[2] & 0x00)
  19288. {
  19289. case 0x00:
  19290. goto op_semantics_150;
  19291. break;
  19292. }
  19293. break;
  19294. case 0x84:
  19295. GETBYTE ();
  19296. switch (op[2] & 0x00)
  19297. {
  19298. case 0x00:
  19299. goto op_semantics_150;
  19300. break;
  19301. }
  19302. break;
  19303. case 0x85:
  19304. GETBYTE ();
  19305. switch (op[2] & 0x00)
  19306. {
  19307. case 0x00:
  19308. goto op_semantics_150;
  19309. break;
  19310. }
  19311. break;
  19312. case 0x86:
  19313. GETBYTE ();
  19314. switch (op[2] & 0x00)
  19315. {
  19316. case 0x00:
  19317. goto op_semantics_150;
  19318. break;
  19319. }
  19320. break;
  19321. case 0x87:
  19322. GETBYTE ();
  19323. switch (op[2] & 0x00)
  19324. {
  19325. case 0x00:
  19326. goto op_semantics_150;
  19327. break;
  19328. }
  19329. break;
  19330. case 0x88:
  19331. GETBYTE ();
  19332. switch (op[2] & 0x00)
  19333. {
  19334. case 0x00:
  19335. goto op_semantics_150;
  19336. break;
  19337. }
  19338. break;
  19339. case 0x89:
  19340. GETBYTE ();
  19341. switch (op[2] & 0x00)
  19342. {
  19343. case 0x00:
  19344. goto op_semantics_150;
  19345. break;
  19346. }
  19347. break;
  19348. case 0x8a:
  19349. GETBYTE ();
  19350. switch (op[2] & 0x00)
  19351. {
  19352. case 0x00:
  19353. goto op_semantics_150;
  19354. break;
  19355. }
  19356. break;
  19357. case 0x8b:
  19358. GETBYTE ();
  19359. switch (op[2] & 0x00)
  19360. {
  19361. case 0x00:
  19362. goto op_semantics_150;
  19363. break;
  19364. }
  19365. break;
  19366. case 0x8c:
  19367. GETBYTE ();
  19368. switch (op[2] & 0x00)
  19369. {
  19370. case 0x00:
  19371. goto op_semantics_150;
  19372. break;
  19373. }
  19374. break;
  19375. case 0x8d:
  19376. GETBYTE ();
  19377. switch (op[2] & 0x00)
  19378. {
  19379. case 0x00:
  19380. goto op_semantics_150;
  19381. break;
  19382. }
  19383. break;
  19384. case 0x8e:
  19385. GETBYTE ();
  19386. switch (op[2] & 0x00)
  19387. {
  19388. case 0x00:
  19389. goto op_semantics_150;
  19390. break;
  19391. }
  19392. break;
  19393. case 0x8f:
  19394. GETBYTE ();
  19395. switch (op[2] & 0x00)
  19396. {
  19397. case 0x00:
  19398. goto op_semantics_150;
  19399. break;
  19400. }
  19401. break;
  19402. case 0xa0:
  19403. GETBYTE ();
  19404. switch (op[2] & 0x00)
  19405. {
  19406. case 0x00:
  19407. op_semantics_151:
  19408. {
  19409. /** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */
  19410. #line 1122 "rx-decode.opc"
  19411. int rdst AU = op[1] & 0x0f;
  19412. #line 1122 "rx-decode.opc"
  19413. int srca AU = (op[2] >> 4) & 0x0f;
  19414. #line 1122 "rx-decode.opc"
  19415. int srcb AU = op[2] & 0x0f;
  19416. if (trace)
  19417. {
  19418. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  19419. "/** 1111 1111 1010 rdst srca srcb fadd %2, %1, %0 */",
  19420. op[0], op[1], op[2]);
  19421. printf (" rdst = 0x%x,", rdst);
  19422. printf (" srca = 0x%x,", srca);
  19423. printf (" srcb = 0x%x\n", srcb);
  19424. }
  19425. SYNTAX("fadd %2, %1, %0");
  19426. #line 1122 "rx-decode.opc"
  19427. ID(fadd); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
  19428. }
  19429. break;
  19430. }
  19431. break;
  19432. case 0xa1:
  19433. GETBYTE ();
  19434. switch (op[2] & 0x00)
  19435. {
  19436. case 0x00:
  19437. goto op_semantics_151;
  19438. break;
  19439. }
  19440. break;
  19441. case 0xa2:
  19442. GETBYTE ();
  19443. switch (op[2] & 0x00)
  19444. {
  19445. case 0x00:
  19446. goto op_semantics_151;
  19447. break;
  19448. }
  19449. break;
  19450. case 0xa3:
  19451. GETBYTE ();
  19452. switch (op[2] & 0x00)
  19453. {
  19454. case 0x00:
  19455. goto op_semantics_151;
  19456. break;
  19457. }
  19458. break;
  19459. case 0xa4:
  19460. GETBYTE ();
  19461. switch (op[2] & 0x00)
  19462. {
  19463. case 0x00:
  19464. goto op_semantics_151;
  19465. break;
  19466. }
  19467. break;
  19468. case 0xa5:
  19469. GETBYTE ();
  19470. switch (op[2] & 0x00)
  19471. {
  19472. case 0x00:
  19473. goto op_semantics_151;
  19474. break;
  19475. }
  19476. break;
  19477. case 0xa6:
  19478. GETBYTE ();
  19479. switch (op[2] & 0x00)
  19480. {
  19481. case 0x00:
  19482. goto op_semantics_151;
  19483. break;
  19484. }
  19485. break;
  19486. case 0xa7:
  19487. GETBYTE ();
  19488. switch (op[2] & 0x00)
  19489. {
  19490. case 0x00:
  19491. goto op_semantics_151;
  19492. break;
  19493. }
  19494. break;
  19495. case 0xa8:
  19496. GETBYTE ();
  19497. switch (op[2] & 0x00)
  19498. {
  19499. case 0x00:
  19500. goto op_semantics_151;
  19501. break;
  19502. }
  19503. break;
  19504. case 0xa9:
  19505. GETBYTE ();
  19506. switch (op[2] & 0x00)
  19507. {
  19508. case 0x00:
  19509. goto op_semantics_151;
  19510. break;
  19511. }
  19512. break;
  19513. case 0xaa:
  19514. GETBYTE ();
  19515. switch (op[2] & 0x00)
  19516. {
  19517. case 0x00:
  19518. goto op_semantics_151;
  19519. break;
  19520. }
  19521. break;
  19522. case 0xab:
  19523. GETBYTE ();
  19524. switch (op[2] & 0x00)
  19525. {
  19526. case 0x00:
  19527. goto op_semantics_151;
  19528. break;
  19529. }
  19530. break;
  19531. case 0xac:
  19532. GETBYTE ();
  19533. switch (op[2] & 0x00)
  19534. {
  19535. case 0x00:
  19536. goto op_semantics_151;
  19537. break;
  19538. }
  19539. break;
  19540. case 0xad:
  19541. GETBYTE ();
  19542. switch (op[2] & 0x00)
  19543. {
  19544. case 0x00:
  19545. goto op_semantics_151;
  19546. break;
  19547. }
  19548. break;
  19549. case 0xae:
  19550. GETBYTE ();
  19551. switch (op[2] & 0x00)
  19552. {
  19553. case 0x00:
  19554. goto op_semantics_151;
  19555. break;
  19556. }
  19557. break;
  19558. case 0xaf:
  19559. GETBYTE ();
  19560. switch (op[2] & 0x00)
  19561. {
  19562. case 0x00:
  19563. goto op_semantics_151;
  19564. break;
  19565. }
  19566. break;
  19567. case 0xb0:
  19568. GETBYTE ();
  19569. switch (op[2] & 0x00)
  19570. {
  19571. case 0x00:
  19572. op_semantics_152:
  19573. {
  19574. /** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */
  19575. #line 1128 "rx-decode.opc"
  19576. int rdst AU = op[1] & 0x0f;
  19577. #line 1128 "rx-decode.opc"
  19578. int srca AU = (op[2] >> 4) & 0x0f;
  19579. #line 1128 "rx-decode.opc"
  19580. int srcb AU = op[2] & 0x0f;
  19581. if (trace)
  19582. {
  19583. printf ("\033[33m%s\033[0m %02x %02x %02x\n",
  19584. "/** 1111 1111 1011 rdst srca srcb fmul %2, %1, %0 */",
  19585. op[0], op[1], op[2]);
  19586. printf (" rdst = 0x%x,", rdst);
  19587. printf (" srca = 0x%x,", srca);
  19588. printf (" srcb = 0x%x\n", srcb);
  19589. }
  19590. SYNTAX("fmul %2, %1, %0");
  19591. #line 1128 "rx-decode.opc"
  19592. ID(fmul); DR(rdst); SR(srcb); S2R(srca); F__SZ_;
  19593. }
  19594. break;
  19595. }
  19596. break;
  19597. case 0xb1:
  19598. GETBYTE ();
  19599. switch (op[2] & 0x00)
  19600. {
  19601. case 0x00:
  19602. goto op_semantics_152;
  19603. break;
  19604. }
  19605. break;
  19606. case 0xb2:
  19607. GETBYTE ();
  19608. switch (op[2] & 0x00)
  19609. {
  19610. case 0x00:
  19611. goto op_semantics_152;
  19612. break;
  19613. }
  19614. break;
  19615. case 0xb3:
  19616. GETBYTE ();
  19617. switch (op[2] & 0x00)
  19618. {
  19619. case 0x00:
  19620. goto op_semantics_152;
  19621. break;
  19622. }
  19623. break;
  19624. case 0xb4:
  19625. GETBYTE ();
  19626. switch (op[2] & 0x00)
  19627. {
  19628. case 0x00:
  19629. goto op_semantics_152;
  19630. break;
  19631. }
  19632. break;
  19633. case 0xb5:
  19634. GETBYTE ();
  19635. switch (op[2] & 0x00)
  19636. {
  19637. case 0x00:
  19638. goto op_semantics_152;
  19639. break;
  19640. }
  19641. break;
  19642. case 0xb6:
  19643. GETBYTE ();
  19644. switch (op[2] & 0x00)
  19645. {
  19646. case 0x00:
  19647. goto op_semantics_152;
  19648. break;
  19649. }
  19650. break;
  19651. case 0xb7:
  19652. GETBYTE ();
  19653. switch (op[2] & 0x00)
  19654. {
  19655. case 0x00:
  19656. goto op_semantics_152;
  19657. break;
  19658. }
  19659. break;
  19660. case 0xb8:
  19661. GETBYTE ();
  19662. switch (op[2] & 0x00)
  19663. {
  19664. case 0x00:
  19665. goto op_semantics_152;
  19666. break;
  19667. }
  19668. break;
  19669. case 0xb9:
  19670. GETBYTE ();
  19671. switch (op[2] & 0x00)
  19672. {
  19673. case 0x00:
  19674. goto op_semantics_152;
  19675. break;
  19676. }
  19677. break;
  19678. case 0xba:
  19679. GETBYTE ();
  19680. switch (op[2] & 0x00)
  19681. {
  19682. case 0x00:
  19683. goto op_semantics_152;
  19684. break;
  19685. }
  19686. break;
  19687. case 0xbb:
  19688. GETBYTE ();
  19689. switch (op[2] & 0x00)
  19690. {
  19691. case 0x00:
  19692. goto op_semantics_152;
  19693. break;
  19694. }
  19695. break;
  19696. case 0xbc:
  19697. GETBYTE ();
  19698. switch (op[2] & 0x00)
  19699. {
  19700. case 0x00:
  19701. goto op_semantics_152;
  19702. break;
  19703. }
  19704. break;
  19705. case 0xbd:
  19706. GETBYTE ();
  19707. switch (op[2] & 0x00)
  19708. {
  19709. case 0x00:
  19710. goto op_semantics_152;
  19711. break;
  19712. }
  19713. break;
  19714. case 0xbe:
  19715. GETBYTE ();
  19716. switch (op[2] & 0x00)
  19717. {
  19718. case 0x00:
  19719. goto op_semantics_152;
  19720. break;
  19721. }
  19722. break;
  19723. case 0xbf:
  19724. GETBYTE ();
  19725. switch (op[2] & 0x00)
  19726. {
  19727. case 0x00:
  19728. goto op_semantics_152;
  19729. break;
  19730. }
  19731. break;
  19732. default: UNSUPPORTED(); break;
  19733. }
  19734. break;
  19735. default: UNSUPPORTED(); break;
  19736. }
  19737. #line 1280 "rx-decode.opc"
  19738. return rx->n_bytes;
  19739. }