|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457 |
- # Copyright (C) 2014-2015 Ben Kurtovic <ben.kurtovic@gmail.com>
- # Released under the terms of the MIT License. See LICENSE for details.
-
- # *** ASM Instruction Description File ***
-
- # This file is used to generate 'instructions.inc.c'.
-
- # `make` should trigger a rebuild when this file is modified; if not, use:
- # `python scripts/update_asm_instructions.py`.
-
- ---
-
- adc:
- args: yes
- cases:
- - type: [register, register]
- cases:
- - cond: [a, a]
- return: [0x8F]
- - cond: [a, b]
- return: [0x88]
- - cond: [a, c]
- return: [0x89]
- - cond: [a, d]
- return: [0x8A]
- - cond: [a, e]
- return: [0x8B]
- - cond: [a, h|ih]
- return: [0x8C]
- - cond: [a, l|il]
- return: [0x8D]
- - cond: [hl, bc]
- return: [0xED, 0x4A]
- - cond: [hl, de]
- return: [0xED, 0x5A]
- - cond: [hl, hl]
- return: [0xED, 0x6A]
- - cond: [hl, sp]
- return: [0xED, 0x7A]
- - type: [register, immediate]
- cases:
- - cond: [a, u8]
- return: [0xCE, u8]
- - type: [register, indirect_hl_or_indexed]
- cases:
- - cond: [a, _]
- return: [0x8E]
-
- add:
- args: yes
- cases:
- - type: [register, register]
- cases:
- - cond: [a, a]
- return: [0x87]
- - cond: [a, b]
- return: [0x80]
- - cond: [a, c]
- return: [0x81]
- - cond: [a, d]
- return: [0x82]
- - cond: [a, e]
- return: [0x83]
- - cond: [a, h|ih]
- return: [0x84]
- - cond: [a, l|il]
- return: [0x85]
- - cond: [hl|i, bc]
- return: [0x09]
- - cond: [hl|i, de]
- return: [0x19]
- - cond: [hl|i, hl|i]
- return: [0x29]
- - cond: [hl|i, sp]
- return: [0x39]
- - type: [register, immediate]
- cases:
- - cond: [a, u8]
- return: [0xC6, u8]
- - type: [register, indirect_hl_or_indexed]
- cases:
- - cond: [a, _]
- return: [0x86]
-
- and:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0xA7]
- - cond: [b]
- return: [0xA0]
- - cond: [c]
- return: [0xA1]
- - cond: [d]
- return: [0xA2]
- - cond: [e]
- return: [0xA3]
- - cond: [h|ih]
- return: [0xA4]
- - cond: [l|il]
- return: [0xA5]
- - type: [immediate]
- cases:
- - cond: [u8]
- return: [0xE6, u8]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0xA6]
-
- bit:
- args: yes
- cases:
- - type: [immediate, register]
- cases:
- - cond: [bit.0, a]
- return: [0xCB, 0x47]
- - cond: [bit.0, b]
- return: [0xCB, 0x40]
- - cond: [bit.0, c]
- return: [0xCB, 0x41]
- - cond: [bit.0, d]
- return: [0xCB, 0x42]
- - cond: [bit.0, e]
- return: [0xCB, 0x43]
- - cond: [bit.0, h]
- return: [0xCB, 0x44]
- - cond: [bit.0, l]
- return: [0xCB, 0x45]
- - cond: [bit.1, a]
- return: [0xCB, 0x4F]
- - cond: [bit.1, b]
- return: [0xCB, 0x48]
- - cond: [bit.1, c]
- return: [0xCB, 0x49]
- - cond: [bit.1, d]
- return: [0xCB, 0x4A]
- - cond: [bit.1, e]
- return: [0xCB, 0x4B]
- - cond: [bit.1, h]
- return: [0xCB, 0x4C]
- - cond: [bit.1, l]
- return: [0xCB, 0x4D]
- - cond: [bit.2, a]
- return: [0xCB, 0x57]
- - cond: [bit.2, b]
- return: [0xCB, 0x50]
- - cond: [bit.2, c]
- return: [0xCB, 0x51]
- - cond: [bit.2, d]
- return: [0xCB, 0x52]
- - cond: [bit.2, e]
- return: [0xCB, 0x53]
- - cond: [bit.2, h]
- return: [0xCB, 0x54]
- - cond: [bit.2, l]
- return: [0xCB, 0x55]
- - cond: [bit.3, a]
- return: [0xCB, 0x5F]
- - cond: [bit.3, b]
- return: [0xCB, 0x58]
- - cond: [bit.3, c]
- return: [0xCB, 0x59]
- - cond: [bit.3, d]
- return: [0xCB, 0x5A]
- - cond: [bit.3, e]
- return: [0xCB, 0x5B]
- - cond: [bit.3, h]
- return: [0xCB, 0x5C]
- - cond: [bit.3, l]
- return: [0xCB, 0x5D]
- - cond: [bit.4, a]
- return: [0xCB, 0x67]
- - cond: [bit.4, b]
- return: [0xCB, 0x60]
- - cond: [bit.4, c]
- return: [0xCB, 0x61]
- - cond: [bit.4, d]
- return: [0xCB, 0x62]
- - cond: [bit.4, e]
- return: [0xCB, 0x63]
- - cond: [bit.4, h]
- return: [0xCB, 0x64]
- - cond: [bit.4, l]
- return: [0xCB, 0x65]
- - cond: [bit.5, a]
- return: [0xCB, 0x6F]
- - cond: [bit.5, b]
- return: [0xCB, 0x68]
- - cond: [bit.5, c]
- return: [0xCB, 0x69]
- - cond: [bit.5, d]
- return: [0xCB, 0x6A]
- - cond: [bit.5, e]
- return: [0xCB, 0x6B]
- - cond: [bit.5, h]
- return: [0xCB, 0x6C]
- - cond: [bit.5, l]
- return: [0xCB, 0x6D]
- - cond: [bit.6, a]
- return: [0xCB, 0x77]
- - cond: [bit.6, b]
- return: [0xCB, 0x70]
- - cond: [bit.6, c]
- return: [0xCB, 0x71]
- - cond: [bit.6, d]
- return: [0xCB, 0x72]
- - cond: [bit.6, e]
- return: [0xCB, 0x73]
- - cond: [bit.6, h]
- return: [0xCB, 0x74]
- - cond: [bit.6, l]
- return: [0xCB, 0x75]
- - cond: [bit.7, a]
- return: [0xCB, 0x7F]
- - cond: [bit.7, b]
- return: [0xCB, 0x78]
- - cond: [bit.7, c]
- return: [0xCB, 0x79]
- - cond: [bit.7, d]
- return: [0xCB, 0x7A]
- - cond: [bit.7, e]
- return: [0xCB, 0x7B]
- - cond: [bit.7, h]
- return: [0xCB, 0x7C]
- - cond: [bit.7, l]
- return: [0xCB, 0x7D]
- - type: [immediate, indirect_hl_or_indexed]
- cases:
- - cond: [bit.0, _]
- return: [0xCB, 0x46]
- - cond: [bit.1, _]
- return: [0xCB, 0x4E]
- - cond: [bit.2, _]
- return: [0xCB, 0x56]
- - cond: [bit.3, _]
- return: [0xCB, 0x5E]
- - cond: [bit.4, _]
- return: [0xCB, 0x66]
- - cond: [bit.5, _]
- return: [0xCB, 0x6E]
- - cond: [bit.6, _]
- return: [0xCB, 0x76]
- - cond: [bit.7, _]
- return: [0xCB, 0x7E]
-
- call:
- args: yes
- cases:
- - type: [immediate]
- cases:
- - cond: [u16]
- return: [0xCD, u16]
- - type: [condition, immediate]
- cases:
- - cond: [nz, u16]
- return: [0xC4, u16]
- - cond: [z, u16]
- return: [0xCC, u16]
- - cond: [nc, u16]
- return: [0xD4, u16]
- - cond: [c, u16]
- return: [0xDC, u16]
- - cond: [po, u16]
- return: [0xE4, u16]
- - cond: [pe, u16]
- return: [0xEC, u16]
- - cond: [p, u16]
- return: [0xF4, u16]
- - cond: [m, u16]
- return: [0xFC, u16]
-
- ccf:
- args: no
- return: [0x3F]
-
- cp:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0xBF]
- - cond: [b]
- return: [0xB8]
- - cond: [c]
- return: [0xB9]
- - cond: [d]
- return: [0xBA]
- - cond: [e]
- return: [0xBB]
- - cond: [h|ih]
- return: [0xBC]
- - cond: [l|il]
- return: [0xBD]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0xBE]
- - type: [immediate]
- cases:
- - cond: [u8]
- return: [0xFE, u8]
-
- cpd:
- args: no
- return: [0xED, 0xA9]
-
- cpdr:
- args: no
- return: [0xED, 0xB9]
-
- cpi:
- args: no
- return: [0xED, 0xA1]
-
- cpir:
- args: no
- return: [0xED, 0xB1]
-
- cpl:
- args: no
- return: [0x2F]
-
- daa:
- args: no
- return: [0x27]
-
- dec:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0x3D]
- - cond: [b]
- return: [0x05]
- - cond: [c]
- return: [0x0D]
- - cond: [d]
- return: [0x15]
- - cond: [e]
- return: [0x1D]
- - cond: [h|ih]
- return: [0x25]
- - cond: [l|il]
- return: [0x2D]
- - cond: [bc]
- return: [0x0B]
- - cond: [de]
- return: [0x1B]
- - cond: [hl|i]
- return: [0x2B]
- - cond: [sp]
- return: [0x3B]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0x35]
-
- di:
- args: no
- return: [0xF3]
-
- djnz:
- args: yes
- cases:
- - type: [immediate]
- cases:
- - cond: [rel]
- return: [0x10, rel]
-
- ei:
- args: no
- return: [0xFB]
-
- ex:
- args: yes
- cases:
- - type: [register, register]
- cases:
- - cond: [af, af_]
- return: [0x08]
- - cond: [de, hl]
- return: [0xEB]
- - type: [indirect, register]
- cases:
- - cond: [reg.sp, hl|i]
- return: [0xE3]
-
- exx:
- args: no
- return: [0xD9]
-
- halt:
- args: no
- return: [0x76]
-
- im:
- args: yes
- cases:
- - type: [immediate]
- cases:
- - cond: [im.0]
- return: [0xED, 0x46]
- - cond: [im.1]
- return: [0xED, 0x56]
- - cond: [im.2]
- return: [0xED, 0x5E]
-
- in:
- args: yes
- cases:
- - type: [register, port]
- cases:
- - cond: [a, imm]
- return: [0xDB, u8]
- - cond: [a, reg.c]
- return: [0xED, 0x78]
- - cond: [b, reg.c]
- return: [0xED, 0x40]
- - cond: [c, reg.c]
- return: [0xED, 0x48]
- - cond: [d, reg.c]
- return: [0xED, 0x50]
- - cond: [e, reg.c]
- return: [0xED, 0x58]
- - cond: [h, reg.c]
- return: [0xED, 0x60]
- - cond: [l, reg.c]
- return: [0xED, 0x68]
- - type: [port]
- cases:
- - cond: [reg.c]
- return: [0xED, 0x70]
-
- inc:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0x3C]
- - cond: [b]
- return: [0x04]
- - cond: [c]
- return: [0x0C]
- - cond: [d]
- return: [0x14]
- - cond: [e]
- return: [0x1C]
- - cond: [h|ih]
- return: [0x24]
- - cond: [l|il]
- return: [0x2C]
- - cond: [bc]
- return: [0x03]
- - cond: [de]
- return: [0x13]
- - cond: [hl|i]
- return: [0x23]
- - cond: [sp]
- return: [0x33]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0x34]
-
- ind:
- args: no
- return: [0xED, 0xAA]
-
- indr:
- args: no
- return: [0xED, 0xBA]
-
- ini:
- args: no
- return: [0xED, 0xA2]
-
- inir:
- args: no
- return: [0xED, 0xB2]
-
- jp:
- args: yes
- cases:
- - type: [immediate]
- cases:
- - cond: [u16]
- return: [0xC3, u16]
- - type: [condition, immediate]
- cases:
- - cond: [nz, u16]
- return: [0xC2, u16]
- - cond: [z, u16]
- return: [0xCA, u16]
- - cond: [nc, u16]
- return: [0xD2, u16]
- - cond: [c, u16]
- return: [0xDA, u16]
- - cond: [po, u16]
- return: [0xE2, u16]
- - cond: [pe, u16]
- return: [0xEA, u16]
- - cond: [p, u16]
- return: [0xF2, u16]
- - cond: [m, u16]
- return: [0xFA, u16]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0xE9]
-
- jr:
- args: yes
- cases:
- - type: [immediate]
- cases:
- - cond: [rel]
- return: [0x18, rel]
- - type: [condition, immediate]
- cases:
- - cond: [nz, rel]
- return: [0x20, rel]
- - cond: [z, rel]
- return: [0x28, rel]
- - cond: [nc, rel]
- return: [0x30, rel]
- - cond: [c, rel]
- return: [0x38, rel]
-
- ld:
- args: yes
- cases:
- - type: [register, register]
- cases:
- - cond: [a, a]
- return: [0x7F]
- - cond: [a, b]
- return: [0x78]
- - cond: [a, c]
- return: [0x79]
- - cond: [a, d]
- return: [0x7A]
- - cond: [a, e]
- return: [0x7B]
- - cond: [a, h|ih]
- return: [0x7C]
- - cond: [a, l|il]
- return: [0x7D]
- - cond: [b, a]
- return: [0x47]
- - cond: [b, b]
- return: [0x40]
- - cond: [b, c]
- return: [0x41]
- - cond: [b, d]
- return: [0x42]
- - cond: [b, e]
- return: [0x43]
- - cond: [b, h|ih]
- return: [0x44]
- - cond: [b, l|il]
- return: [0x45]
- - cond: [c, a]
- return: [0x4F]
- - cond: [c, b]
- return: [0x48]
- - cond: [c, c]
- return: [0x49]
- - cond: [c, d]
- return: [0x4A]
- - cond: [c, e]
- return: [0x4B]
- - cond: [c, h|ih]
- return: [0x4C]
- - cond: [c, l|il]
- return: [0x4D]
- - cond: [d, a]
- return: [0x57]
- - cond: [d, b]
- return: [0x50]
- - cond: [d, c]
- return: [0x51]
- - cond: [d, d]
- return: [0x52]
- - cond: [d, e]
- return: [0x53]
- - cond: [d, h|ih]
- return: [0x54]
- - cond: [d, l|il]
- return: [0x55]
- - cond: [e, a]
- return: [0x5F]
- - cond: [e, b]
- return: [0x58]
- - cond: [e, c]
- return: [0x59]
- - cond: [e, d]
- return: [0x5A]
- - cond: [e, e]
- return: [0x5B]
- - cond: [e, h|ih]
- return: [0x5C]
- - cond: [e, l|il]
- return: [0x5D]
- - cond: [h|ih, a]
- return: [0x67]
- - cond: [h|ih, b]
- return: [0x60]
- - cond: [h|ih, c]
- return: [0x61]
- - cond: [h|ih, d]
- return: [0x62]
- - cond: [h|ih, e]
- return: [0x63]
- - cond: [h|ih, h|ih]
- return: [0x64]
- - cond: [h|ih, l|il]
- return: [0x65]
- - cond: [l|il, a]
- return: [0x6F]
- - cond: [l|il, b]
- return: [0x68]
- - cond: [l|il, c]
- return: [0x69]
- - cond: [l|il, d]
- return: [0x6A]
- - cond: [l|il, e]
- return: [0x6B]
- - cond: [l|il, h|ih]
- return: [0x6C]
- - cond: [l|il, l|il]
- return: [0x6D]
- - cond: [a, i]
- return: [0xED, 0x57]
- - cond: [i, a]
- return: [0xED, 0x47]
- - cond: [a, r]
- return: [0xED, 0x5F]
- - cond: [r, a]
- return: [0xED, 0x4F]
- - cond: [sp, hl|i]
- return: [0xF9]
- - type: [register, immediate]
- cases:
- - cond: [a, u8]
- return: [0x3E, u8]
- - cond: [b, u8]
- return: [0x06, u8]
- - cond: [c, u8]
- return: [0x0E, u8]
- - cond: [d, u8]
- return: [0x16, u8]
- - cond: [e, u8]
- return: [0x1E, u8]
- - cond: [h|ih, u8]
- return: [0x26, u8]
- - cond: [l|il, u8]
- return: [0x2E, u8]
- - cond: [bc, u16]
- return: [0x01, u16]
- - cond: [de, u16]
- return: [0x11, u16]
- - cond: [hl|i, u16]
- return: [0x21, u16]
- - cond: [sp, u16]
- return: [0x31, u16]
- - type: [register, indirect_hl_or_indexed]
- cases:
- - cond: [a, _]
- return: [0x7E]
- - cond: [b, _]
- return: [0x46]
- - cond: [c, _]
- return: [0x4E]
- - cond: [d, _]
- return: [0x56]
- - cond: [e, _]
- return: [0x5E]
- - cond: [h, _]
- return: [0x66]
- - cond: [l, _]
- return: [0x6E]
- - type: [register, indirect]
- cases:
- - cond: [a, reg.bc]
- return: [0x0A]
- - cond: [a, reg.de]
- return: [0x1A]
- - cond: [hl|i, imm]
- return: [0x2A, u16]
- - cond: [a, imm]
- return: [0x3A, u16]
- - cond: [bc, imm]
- return: [0xED, 0x4B, u16]
- - cond: [de, imm]
- return: [0xED, 0x5B, u16]
- - cond: [sp, imm]
- return: [0xED, 0x7B, u16]
- - type: [indirect_hl_or_indexed, register]
- cases:
- - cond: [_, a]
- return: [0x77]
- - cond: [_, b]
- return: [0x70]
- - cond: [_, c]
- return: [0x71]
- - cond: [_, d]
- return: [0x72]
- - cond: [_, e]
- return: [0x73]
- - cond: [_, h]
- return: [0x74]
- - cond: [_, l]
- return: [0x75]
- - type: [indirect_hl_or_indexed, immediate]
- cases:
- - cond: [_, u8]
- return: [0x36, u8]
- - type: [indirect, register]
- cases:
- - cond: [reg.bc, a]
- return: [0x02]
- - cond: [reg.de, a]
- return: [0x12]
- - cond: [imm, hl|i]
- return: [0x22, u16]
- - cond: [imm, a]
- return: [0x32, u16]
- - cond: [imm, bc]
- return: [0xED, 0x43, u16]
- - cond: [imm, de]
- return: [0xED, 0x53, u16]
- - cond: [imm, sp]
- return: [0xED, 0x73, u16]
-
- ldd:
- args: no
- return: [0xED, 0xA8]
-
- lddr:
- args: no
- return: [0xED, 0xB8]
-
- ldi:
- args: no
- return: [0xED, 0xA0]
-
- ldir:
- args: no
- return: [0xED, 0xB0]
-
- neg:
- args: no
- return: [0xED, 0x44]
-
- nop:
- args: no
- return: [0x00]
-
- or:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0xB7]
- - cond: [b]
- return: [0xB0]
- - cond: [c]
- return: [0xB1]
- - cond: [d]
- return: [0xB2]
- - cond: [e]
- return: [0xB3]
- - cond: [h|ih]
- return: [0xB4]
- - cond: [l|il]
- return: [0xB5]
- - type: [immediate]
- cases:
- - cond: [u8]
- return: [0xF6, u8]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0xB6]
-
- otdr:
- args: no
- return: [0xED, 0xBB]
-
- otir:
- args: no
- return: [0xED, 0xB3]
-
- out:
- args: yes
- cases:
- - type: [port, register]
- cases:
- - cond: [imm, a]
- return: [0xD3, u8]
- - cond: [reg.c, a]
- return: [0xED, 0x79]
- - cond: [reg.c, b]
- return: [0xED, 0x41]
- - cond: [reg.c, c]
- return: [0xED, 0x49]
- - cond: [reg.c, d]
- return: [0xED, 0x51]
- - cond: [reg.c, e]
- return: [0xED, 0x59]
- - cond: [reg.c, h]
- return: [0xED, 0x61]
- - cond: [reg.c, l]
- return: [0xED, 0x69]
- - type: [port, immediate]
- cases:
- - cond: [reg.c, u8.0]
- return: [0xED, 0x71]
-
- outd:
- args: no
- return: [0xED, 0xAB]
-
- outi:
- args: no
- return: [0xED, 0xA3]
-
- pop:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [bc]
- return: [0xC1]
- - cond: [de]
- return: [0xD1]
- - cond: [hl|i]
- return: [0xE1]
- - cond: [af]
- return: [0xF1]
-
- push:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [bc]
- return: [0xC5]
- - cond: [de]
- return: [0xD5]
- - cond: [hl|i]
- return: [0xE5]
- - cond: [af]
- return: [0xF5]
-
- res:
- args: yes
- cases:
- - type: [immediate, register]
- cases:
- - cond: [bit.0, a]
- return: [0xCB, 0x87]
- - cond: [bit.0, b]
- return: [0xCB, 0x80]
- - cond: [bit.0, c]
- return: [0xCB, 0x81]
- - cond: [bit.0, d]
- return: [0xCB, 0x82]
- - cond: [bit.0, e]
- return: [0xCB, 0x83]
- - cond: [bit.0, h]
- return: [0xCB, 0x84]
- - cond: [bit.0, l]
- return: [0xCB, 0x85]
- - cond: [bit.1, a]
- return: [0xCB, 0x8F]
- - cond: [bit.1, b]
- return: [0xCB, 0x88]
- - cond: [bit.1, c]
- return: [0xCB, 0x89]
- - cond: [bit.1, d]
- return: [0xCB, 0x8A]
- - cond: [bit.1, e]
- return: [0xCB, 0x8B]
- - cond: [bit.1, h]
- return: [0xCB, 0x8C]
- - cond: [bit.1, l]
- return: [0xCB, 0x8D]
- - cond: [bit.2, a]
- return: [0xCB, 0x97]
- - cond: [bit.2, b]
- return: [0xCB, 0x90]
- - cond: [bit.2, c]
- return: [0xCB, 0x91]
- - cond: [bit.2, d]
- return: [0xCB, 0x92]
- - cond: [bit.2, e]
- return: [0xCB, 0x93]
- - cond: [bit.2, h]
- return: [0xCB, 0x94]
- - cond: [bit.2, l]
- return: [0xCB, 0x95]
- - cond: [bit.3, a]
- return: [0xCB, 0x9F]
- - cond: [bit.3, b]
- return: [0xCB, 0x98]
- - cond: [bit.3, c]
- return: [0xCB, 0x99]
- - cond: [bit.3, d]
- return: [0xCB, 0x9A]
- - cond: [bit.3, e]
- return: [0xCB, 0x9B]
- - cond: [bit.3, h]
- return: [0xCB, 0x9C]
- - cond: [bit.3, l]
- return: [0xCB, 0x9D]
- - cond: [bit.4, a]
- return: [0xCB, 0xA7]
- - cond: [bit.4, b]
- return: [0xCB, 0xA0]
- - cond: [bit.4, c]
- return: [0xCB, 0xA1]
- - cond: [bit.4, d]
- return: [0xCB, 0xA2]
- - cond: [bit.4, e]
- return: [0xCB, 0xA3]
- - cond: [bit.4, h]
- return: [0xCB, 0xA4]
- - cond: [bit.4, l]
- return: [0xCB, 0xA5]
- - cond: [bit.5, a]
- return: [0xCB, 0xAF]
- - cond: [bit.5, b]
- return: [0xCB, 0xA8]
- - cond: [bit.5, c]
- return: [0xCB, 0xA9]
- - cond: [bit.5, d]
- return: [0xCB, 0xAA]
- - cond: [bit.5, e]
- return: [0xCB, 0xAB]
- - cond: [bit.5, h]
- return: [0xCB, 0xAC]
- - cond: [bit.5, l]
- return: [0xCB, 0xAD]
- - cond: [bit.6, a]
- return: [0xCB, 0xB7]
- - cond: [bit.6, b]
- return: [0xCB, 0xB0]
- - cond: [bit.6, c]
- return: [0xCB, 0xB1]
- - cond: [bit.6, d]
- return: [0xCB, 0xB2]
- - cond: [bit.6, e]
- return: [0xCB, 0xB3]
- - cond: [bit.6, h]
- return: [0xCB, 0xB4]
- - cond: [bit.6, l]
- return: [0xCB, 0xB5]
- - cond: [bit.7, a]
- return: [0xCB, 0xBF]
- - cond: [bit.7, b]
- return: [0xCB, 0xB8]
- - cond: [bit.7, c]
- return: [0xCB, 0xB9]
- - cond: [bit.7, d]
- return: [0xCB, 0xBA]
- - cond: [bit.7, e]
- return: [0xCB, 0xBB]
- - cond: [bit.7, h]
- return: [0xCB, 0xBC]
- - cond: [bit.7, l]
- return: [0xCB, 0xBD]
- - type: [immediate, indirect_hl_or_indexed]
- cases:
- - cond: [bit.0, _]
- return: [0xCB, 0x86]
- - cond: [bit.1, _]
- return: [0xCB, 0x8E]
- - cond: [bit.2, _]
- return: [0xCB, 0x96]
- - cond: [bit.3, _]
- return: [0xCB, 0x9E]
- - cond: [bit.4, _]
- return: [0xCB, 0xA6]
- - cond: [bit.5, _]
- return: [0xCB, 0xAE]
- - cond: [bit.6, _]
- return: [0xCB, 0xB6]
- - cond: [bit.7, _]
- return: [0xCB, 0xBE]
- - type: [immediate, indexed, register]
- cases:
- - cond: [bit.0, _, a]
- return: [0xCB, 0x87]
- - cond: [bit.0, _, b]
- return: [0xCB, 0x80]
- - cond: [bit.0, _, c]
- return: [0xCB, 0x81]
- - cond: [bit.0, _, d]
- return: [0xCB, 0x82]
- - cond: [bit.0, _, e]
- return: [0xCB, 0x83]
- - cond: [bit.0, _, h]
- return: [0xCB, 0x84]
- - cond: [bit.0, _, l]
- return: [0xCB, 0x85]
- - cond: [bit.1, _, a]
- return: [0xCB, 0x8F]
- - cond: [bit.1, _, b]
- return: [0xCB, 0x88]
- - cond: [bit.1, _, c]
- return: [0xCB, 0x89]
- - cond: [bit.1, _, d]
- return: [0xCB, 0x8A]
- - cond: [bit.1, _, e]
- return: [0xCB, 0x8B]
- - cond: [bit.1, _, h]
- return: [0xCB, 0x8C]
- - cond: [bit.1, _, l]
- return: [0xCB, 0x8D]
- - cond: [bit.2, _, a]
- return: [0xCB, 0x97]
- - cond: [bit.2, _, b]
- return: [0xCB, 0x90]
- - cond: [bit.2, _, c]
- return: [0xCB, 0x91]
- - cond: [bit.2, _, d]
- return: [0xCB, 0x92]
- - cond: [bit.2, _, e]
- return: [0xCB, 0x93]
- - cond: [bit.2, _, h]
- return: [0xCB, 0x94]
- - cond: [bit.2, _, l]
- return: [0xCB, 0x95]
- - cond: [bit.3, _, a]
- return: [0xCB, 0x9F]
- - cond: [bit.3, _, b]
- return: [0xCB, 0x98]
- - cond: [bit.3, _, c]
- return: [0xCB, 0x99]
- - cond: [bit.3, _, d]
- return: [0xCB, 0x9A]
- - cond: [bit.3, _, e]
- return: [0xCB, 0x9B]
- - cond: [bit.3, _, h]
- return: [0xCB, 0x9C]
- - cond: [bit.3, _, l]
- return: [0xCB, 0x9D]
- - cond: [bit.4, _, a]
- return: [0xCB, 0xA7]
- - cond: [bit.4, _, b]
- return: [0xCB, 0xA0]
- - cond: [bit.4, _, c]
- return: [0xCB, 0xA1]
- - cond: [bit.4, _, d]
- return: [0xCB, 0xA2]
- - cond: [bit.4, _, e]
- return: [0xCB, 0xA3]
- - cond: [bit.4, _, h]
- return: [0xCB, 0xA4]
- - cond: [bit.4, _, l]
- return: [0xCB, 0xA5]
- - cond: [bit.5, _, a]
- return: [0xCB, 0xAF]
- - cond: [bit.5, _, b]
- return: [0xCB, 0xA8]
- - cond: [bit.5, _, c]
- return: [0xCB, 0xA9]
- - cond: [bit.5, _, d]
- return: [0xCB, 0xAA]
- - cond: [bit.5, _, e]
- return: [0xCB, 0xAB]
- - cond: [bit.5, _, h]
- return: [0xCB, 0xAC]
- - cond: [bit.5, _, l]
- return: [0xCB, 0xAD]
- - cond: [bit.6, _, a]
- return: [0xCB, 0xB7]
- - cond: [bit.6, _, b]
- return: [0xCB, 0xB0]
- - cond: [bit.6, _, c]
- return: [0xCB, 0xB1]
- - cond: [bit.6, _, d]
- return: [0xCB, 0xB2]
- - cond: [bit.6, _, e]
- return: [0xCB, 0xB3]
- - cond: [bit.6, _, h]
- return: [0xCB, 0xB4]
- - cond: [bit.6, _, l]
- return: [0xCB, 0xB5]
- - cond: [bit.7, _, a]
- return: [0xCB, 0xBF]
- - cond: [bit.7, _, b]
- return: [0xCB, 0xB8]
- - cond: [bit.7, _, c]
- return: [0xCB, 0xB9]
- - cond: [bit.7, _, d]
- return: [0xCB, 0xBA]
- - cond: [bit.7, _, e]
- return: [0xCB, 0xBB]
- - cond: [bit.7, _, h]
- return: [0xCB, 0xBC]
- - cond: [bit.7, _, l]
- return: [0xCB, 0xBD]
-
- # ret:
- # args: yes
- # return: TODO
-
- reti:
- args: no
- return: [0xED, 0x4D]
-
- retn:
- args: no
- return: [0xED, 0x45]
-
- # rl:
- # args: yes
- # return: TODO
-
- rla:
- args: no
- return: [0x17]
-
- # rlc:
- # args: yes
- # return: TODO
-
- rlca:
- args: no
- return: [0x07]
-
- rld:
- args: no
- return: [0xED, 0x6F]
-
- # rr:
- # args: yes
- # return: TODO
-
- rra:
- args: no
- return: [0x1F]
-
- # rrc:
- # args: yes
- # return: TODO
-
- rrca:
- args: no
- return: [0x0F]
-
- # rrd:
- # args: yes
- # return: TODO
-
- # rst:
- # args: yes
- # return: TODO
-
- # sbc:
- # args: yes
- # return: TODO
-
- scf:
- args: no
- return: [0x37]
-
- set:
- args: yes
- cases:
- - type: [immediate, register]
- cases:
- - cond: [bit.0, a]
- return: [0xCB, 0xC7]
- - cond: [bit.0, b]
- return: [0xCB, 0xC0]
- - cond: [bit.0, c]
- return: [0xCB, 0xC1]
- - cond: [bit.0, d]
- return: [0xCB, 0xC2]
- - cond: [bit.0, e]
- return: [0xCB, 0xC3]
- - cond: [bit.0, h]
- return: [0xCB, 0xC4]
- - cond: [bit.0, l]
- return: [0xCB, 0xC5]
- - cond: [bit.1, a]
- return: [0xCB, 0xCF]
- - cond: [bit.1, b]
- return: [0xCB, 0xC8]
- - cond: [bit.1, c]
- return: [0xCB, 0xC9]
- - cond: [bit.1, d]
- return: [0xCB, 0xCA]
- - cond: [bit.1, e]
- return: [0xCB, 0xCB]
- - cond: [bit.1, h]
- return: [0xCB, 0xCC]
- - cond: [bit.1, l]
- return: [0xCB, 0xCD]
- - cond: [bit.2, a]
- return: [0xCB, 0xD7]
- - cond: [bit.2, b]
- return: [0xCB, 0xD0]
- - cond: [bit.2, c]
- return: [0xCB, 0xD1]
- - cond: [bit.2, d]
- return: [0xCB, 0xD2]
- - cond: [bit.2, e]
- return: [0xCB, 0xD3]
- - cond: [bit.2, h]
- return: [0xCB, 0xD4]
- - cond: [bit.2, l]
- return: [0xCB, 0xD5]
- - cond: [bit.3, a]
- return: [0xCB, 0xDF]
- - cond: [bit.3, b]
- return: [0xCB, 0xD8]
- - cond: [bit.3, c]
- return: [0xCB, 0xD9]
- - cond: [bit.3, d]
- return: [0xCB, 0xDA]
- - cond: [bit.3, e]
- return: [0xCB, 0xDB]
- - cond: [bit.3, h]
- return: [0xCB, 0xDC]
- - cond: [bit.3, l]
- return: [0xCB, 0xDD]
- - cond: [bit.4, a]
- return: [0xCB, 0xE7]
- - cond: [bit.4, b]
- return: [0xCB, 0xE0]
- - cond: [bit.4, c]
- return: [0xCB, 0xE1]
- - cond: [bit.4, d]
- return: [0xCB, 0xE2]
- - cond: [bit.4, e]
- return: [0xCB, 0xE3]
- - cond: [bit.4, h]
- return: [0xCB, 0xE4]
- - cond: [bit.4, l]
- return: [0xCB, 0xE5]
- - cond: [bit.5, a]
- return: [0xCB, 0xEF]
- - cond: [bit.5, b]
- return: [0xCB, 0xE8]
- - cond: [bit.5, c]
- return: [0xCB, 0xE9]
- - cond: [bit.5, d]
- return: [0xCB, 0xEA]
- - cond: [bit.5, e]
- return: [0xCB, 0xEB]
- - cond: [bit.5, h]
- return: [0xCB, 0xEC]
- - cond: [bit.5, l]
- return: [0xCB, 0xED]
- - cond: [bit.6, a]
- return: [0xCB, 0xF7]
- - cond: [bit.6, b]
- return: [0xCB, 0xF0]
- - cond: [bit.6, c]
- return: [0xCB, 0xF1]
- - cond: [bit.6, d]
- return: [0xCB, 0xF2]
- - cond: [bit.6, e]
- return: [0xCB, 0xF3]
- - cond: [bit.6, h]
- return: [0xCB, 0xF4]
- - cond: [bit.6, l]
- return: [0xCB, 0xF5]
- - cond: [bit.7, a]
- return: [0xCB, 0xFF]
- - cond: [bit.7, b]
- return: [0xCB, 0xF8]
- - cond: [bit.7, c]
- return: [0xCB, 0xF9]
- - cond: [bit.7, d]
- return: [0xCB, 0xFA]
- - cond: [bit.7, e]
- return: [0xCB, 0xFB]
- - cond: [bit.7, h]
- return: [0xCB, 0xFC]
- - cond: [bit.7, l]
- return: [0xCB, 0xFD]
- - type: [immediate, indirect_hl_or_indexed]
- cases:
- - cond: [bit.0, _]
- return: [0xCB, 0xC6]
- - cond: [bit.1, _]
- return: [0xCB, 0xCE]
- - cond: [bit.2, _]
- return: [0xCB, 0xD6]
- - cond: [bit.3, _]
- return: [0xCB, 0xDE]
- - cond: [bit.4, _]
- return: [0xCB, 0xE6]
- - cond: [bit.5, _]
- return: [0xCB, 0xEE]
- - cond: [bit.6, _]
- return: [0xCB, 0xF6]
- - cond: [bit.7, _]
- return: [0xCB, 0xFE]
- - type: [immediate, indexed, register]
- cases:
- - cond: [bit.0, _, a]
- return: [0xCB, 0xC7]
- - cond: [bit.0, _, b]
- return: [0xCB, 0xC0]
- - cond: [bit.0, _, c]
- return: [0xCB, 0xC1]
- - cond: [bit.0, _, d]
- return: [0xCB, 0xC2]
- - cond: [bit.0, _, e]
- return: [0xCB, 0xC3]
- - cond: [bit.0, _, h]
- return: [0xCB, 0xC4]
- - cond: [bit.0, _, l]
- return: [0xCB, 0xC5]
- - cond: [bit.1, _, a]
- return: [0xCB, 0xCF]
- - cond: [bit.1, _, b]
- return: [0xCB, 0xC8]
- - cond: [bit.1, _, c]
- return: [0xCB, 0xC9]
- - cond: [bit.1, _, d]
- return: [0xCB, 0xCA]
- - cond: [bit.1, _, e]
- return: [0xCB, 0xCB]
- - cond: [bit.1, _, h]
- return: [0xCB, 0xCC]
- - cond: [bit.1, _, l]
- return: [0xCB, 0xCD]
- - cond: [bit.2, _, a]
- return: [0xCB, 0xD7]
- - cond: [bit.2, _, b]
- return: [0xCB, 0xD0]
- - cond: [bit.2, _, c]
- return: [0xCB, 0xD1]
- - cond: [bit.2, _, d]
- return: [0xCB, 0xD2]
- - cond: [bit.2, _, e]
- return: [0xCB, 0xD3]
- - cond: [bit.2, _, h]
- return: [0xCB, 0xD4]
- - cond: [bit.2, _, l]
- return: [0xCB, 0xD5]
- - cond: [bit.3, _, a]
- return: [0xCB, 0xDF]
- - cond: [bit.3, _, b]
- return: [0xCB, 0xD8]
- - cond: [bit.3, _, c]
- return: [0xCB, 0xD9]
- - cond: [bit.3, _, d]
- return: [0xCB, 0xDA]
- - cond: [bit.3, _, e]
- return: [0xCB, 0xDB]
- - cond: [bit.3, _, h]
- return: [0xCB, 0xDC]
- - cond: [bit.3, _, l]
- return: [0xCB, 0xDD]
- - cond: [bit.4, _, a]
- return: [0xCB, 0xE7]
- - cond: [bit.4, _, b]
- return: [0xCB, 0xE0]
- - cond: [bit.4, _, c]
- return: [0xCB, 0xE1]
- - cond: [bit.4, _, d]
- return: [0xCB, 0xE2]
- - cond: [bit.4, _, e]
- return: [0xCB, 0xE3]
- - cond: [bit.4, _, h]
- return: [0xCB, 0xE4]
- - cond: [bit.4, _, l]
- return: [0xCB, 0xE5]
- - cond: [bit.5, _, a]
- return: [0xCB, 0xEF]
- - cond: [bit.5, _, b]
- return: [0xCB, 0xE8]
- - cond: [bit.5, _, c]
- return: [0xCB, 0xE9]
- - cond: [bit.5, _, d]
- return: [0xCB, 0xEA]
- - cond: [bit.5, _, e]
- return: [0xCB, 0xEB]
- - cond: [bit.5, _, h]
- return: [0xCB, 0xEC]
- - cond: [bit.5, _, l]
- return: [0xCB, 0xED]
- - cond: [bit.6, _, a]
- return: [0xCB, 0xF7]
- - cond: [bit.6, _, b]
- return: [0xCB, 0xF0]
- - cond: [bit.6, _, c]
- return: [0xCB, 0xF1]
- - cond: [bit.6, _, d]
- return: [0xCB, 0xF2]
- - cond: [bit.6, _, e]
- return: [0xCB, 0xF3]
- - cond: [bit.6, _, h]
- return: [0xCB, 0xF4]
- - cond: [bit.6, _, l]
- return: [0xCB, 0xF5]
- - cond: [bit.7, _, a]
- return: [0xCB, 0xFF]
- - cond: [bit.7, _, b]
- return: [0xCB, 0xF8]
- - cond: [bit.7, _, c]
- return: [0xCB, 0xF9]
- - cond: [bit.7, _, d]
- return: [0xCB, 0xFA]
- - cond: [bit.7, _, e]
- return: [0xCB, 0xFB]
- - cond: [bit.7, _, h]
- return: [0xCB, 0xFC]
- - cond: [bit.7, _, l]
- return: [0xCB, 0xFD]
-
- # sl1:
- # args: yes
- # return: TODO
-
- # sla:
- # args: yes
- # return: TODO
-
- # sll:
- # args: yes
- # return: TODO
-
- # sls:
- # args: yes
- # return: TODO
-
- # sra:
- # args: yes
- # return: TODO
-
- # srl:
- # args: yes
- # return: TODO
-
- # sub:
- # args: yes
- # return: TODO
-
- # xor:
- # args: yes
- # return: TODO
|