|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297 |
- # 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|c|d|e]
- return: [step(0x88)]
- - cond: [a, h|ih]
- return: [0x8C]
- - cond: [a, l|il]
- return: [0x8D]
- - cond: [hl, bc|de|hl|sp]
- return: [0xED, step(0x4A 0x10)]
- - 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|c|d|e]
- return: [step(0x80)]
- - 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|c|d|e]
- return: [step(0xA0)]
- - 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, a]
- return: [0xCB, bit(0x47)]
- - cond: [bit, b]
- return: [0xCB, bit(0x40)]
- - cond: [bit, c]
- return: [0xCB, bit(0x41)]
- - cond: [bit, d]
- return: [0xCB, bit(0x42)]
- - cond: [bit, e]
- return: [0xCB, bit(0x43)]
- - cond: [bit, h]
- return: [0xCB, bit(0x44)]
- - cond: [bit, l]
- return: [0xCB, bit(0x45)]
- - type: [immediate, indirect_hl_or_indexed]
- cases:
- - cond: [bit, _]
- return: [0xCB, bit(0x46)]
-
- 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|z|nc|c, rel]
- return: [step(0x20 0x08), 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, a]
- return: [0xCB, bit(0x87)]
- - cond: [bit, b]
- return: [0xCB, bit(0x80)]
- - cond: [bit, c]
- return: [0xCB, bit(0x81)]
- - cond: [bit, d]
- return: [0xCB, bit(0x82)]
- - cond: [bit, e]
- return: [0xCB, bit(0x83)]
- - cond: [bit, h]
- return: [0xCB, bit(0x84)]
- - cond: [bit, l]
- return: [0xCB, bit(0x85)]
- - type: [immediate, indirect_hl_or_indexed]
- cases:
- - cond: [bit, _]
- return: [0xCB, bit(0x86)]
- - type: [immediate, indexed, register]
- cases:
- - cond: [bit, _, a]
- return: [0xCB, bit(0x87)]
- - cond: [bit, _, b]
- return: [0xCB, bit(0x80)]
- - cond: [bit, _, c]
- return: [0xCB, bit(0x81)]
- - cond: [bit, _, d]
- return: [0xCB, bit(0x82)]
- - cond: [bit, _, e]
- return: [0xCB, bit(0x83)]
- - cond: [bit, _, h]
- return: [0xCB, bit(0x84)]
- - cond: [bit, _, l]
- return: [0xCB, bit(0x85)]
-
- ret:
- args: yes
- cases:
- - type: []
- return: [0xC9]
- - type: [condition]
- cases:
- - cond: [nz]
- return: [0xC0]
- - cond: [z]
- return: [0xC8]
- - cond: [nc]
- return: [0xD0]
- - cond: [c]
- return: [0xD8]
- - cond: [po]
- return: [0xE0]
- - cond: [pe]
- return: [0xE8]
- - cond: [p]
- return: [0xF0]
- - cond: [m]
- return: [0xF8]
-
- reti:
- args: no
- return: [0xED, 0x4D]
-
- retn:
- args: no
- return: [0xED, 0x45]
-
- rl:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0xCB, 0x17]
- - cond: [b]
- return: [0xCB, 0x10]
- - cond: [c]
- return: [0xCB, 0x11]
- - cond: [d]
- return: [0xCB, 0x12]
- - cond: [e]
- return: [0xCB, 0x13]
- - cond: [h]
- return: [0xCB, 0x14]
- - cond: [l]
- return: [0xCB, 0x15]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0xCB, 0x16]
- - type: [indexed, register]
- cases:
- - cond: [_, a]
- return: [0xCB, 0x17]
- - cond: [_, b]
- return: [0xCB, 0x10]
- - cond: [_, c]
- return: [0xCB, 0x11]
- - cond: [_, d]
- return: [0xCB, 0x12]
- - cond: [_, e]
- return: [0xCB, 0x13]
- - cond: [_, h]
- return: [0xCB, 0x14]
- - cond: [_, l]
- return: [0xCB, 0x15]
-
- rla:
- args: no
- return: [0x17]
-
- rlc:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0xCB, 0x07]
- - cond: [b]
- return: [0xCB, 0x00]
- - cond: [c]
- return: [0xCB, 0x01]
- - cond: [d]
- return: [0xCB, 0x02]
- - cond: [e]
- return: [0xCB, 0x03]
- - cond: [h]
- return: [0xCB, 0x04]
- - cond: [l]
- return: [0xCB, 0x05]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0xCB, 0x06]
- - type: [indexed, register]
- cases:
- - cond: [_, a]
- return: [0xCB, 0x07]
- - cond: [_, b]
- return: [0xCB, 0x00]
- - cond: [_, c]
- return: [0xCB, 0x01]
- - cond: [_, d]
- return: [0xCB, 0x02]
- - cond: [_, e]
- return: [0xCB, 0x03]
- - cond: [_, h]
- return: [0xCB, 0x04]
- - cond: [_, l]
- return: [0xCB, 0x05]
-
- rlca:
- args: no
- return: [0x07]
-
- rld:
- args: no
- return: [0xED, 0x6F]
-
- rr:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0xCB, 0x1F]
- - cond: [b]
- return: [0xCB, 0x18]
- - cond: [c]
- return: [0xCB, 0x19]
- - cond: [d]
- return: [0xCB, 0x1A]
- - cond: [e]
- return: [0xCB, 0x1B]
- - cond: [h]
- return: [0xCB, 0x1C]
- - cond: [l]
- return: [0xCB, 0x1D]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0xCB, 0x1E]
- - type: [indexed, register]
- cases:
- - cond: [_, a]
- return: [0xCB, 0x1F]
- - cond: [_, b]
- return: [0xCB, 0x18]
- - cond: [_, c]
- return: [0xCB, 0x19]
- - cond: [_, d]
- return: [0xCB, 0x1A]
- - cond: [_, e]
- return: [0xCB, 0x1B]
- - cond: [_, h]
- return: [0xCB, 0x1C]
- - cond: [_, l]
- return: [0xCB, 0x1D]
-
- rra:
- args: no
- return: [0x1F]
-
- rrc:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0xCB, 0x0F]
- - cond: [b]
- return: [0xCB, 0x08]
- - cond: [c]
- return: [0xCB, 0x09]
- - cond: [d]
- return: [0xCB, 0x0A]
- - cond: [e]
- return: [0xCB, 0x0B]
- - cond: [h]
- return: [0xCB, 0x0C]
- - cond: [l]
- return: [0xCB, 0x0D]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0xCB, 0x0E]
- - type: [indexed, register]
- cases:
- - cond: [_, a]
- return: [0xCB, 0x0F]
- - cond: [_, b]
- return: [0xCB, 0x08]
- - cond: [_, c]
- return: [0xCB, 0x09]
- - cond: [_, d]
- return: [0xCB, 0x0A]
- - cond: [_, e]
- return: [0xCB, 0x0B]
- - cond: [_, h]
- return: [0xCB, 0x0C]
- - cond: [_, l]
- return: [0xCB, 0x0D]
-
- rrca:
- args: no
- return: [0x0F]
-
- rrd:
- args: no
- return: [0xED, 0x67]
-
- rst:
- args: yes
- cases:
- - type: [immediate]
- cases:
- - cond: [rst.0x00]
- return: [0xC7]
- - cond: [rst.0x08]
- return: [0xCF]
- - cond: [rst.0x10]
- return: [0xD7]
- - cond: [rst.0x18]
- return: [0xDF]
- - cond: [rst.0x20]
- return: [0xE7]
- - cond: [rst.0x28]
- return: [0xEF]
- - cond: [rst.0x30]
- return: [0xF7]
- - cond: [rst.0x38]
- return: [0xFF]
-
- sbc:
- args: yes
- cases:
- - type: [register, register]
- cases:
- - cond: [a, a]
- return: [0x9F]
- - cond: [a, b]
- return: [0x98]
- - cond: [a, c]
- return: [0x99]
- - cond: [a, d]
- return: [0x9A]
- - cond: [a, e]
- return: [0x9B]
- - cond: [a, h|ih]
- return: [0x9C]
- - cond: [a, l|il]
- return: [0x9D]
- - cond: [hl, bc]
- return: [0xED, 0x42]
- - cond: [hl, de]
- return: [0xED, 0x52]
- - cond: [hl, hl]
- return: [0xED, 0x62]
- - cond: [hl, sp]
- return: [0xED, 0x72]
- - type: [register, immediate]
- cases:
- - cond: [a, u8]
- return: [0xDE, u8]
- - type: [register, indirect_hl_or_indexed]
- cases:
- - cond: [a, _]
- return: [0x9E]
-
- scf:
- args: no
- return: [0x37]
-
- set:
- args: yes
- cases:
- - type: [immediate, register]
- cases:
- - cond: [bit, a]
- return: [0xCB, bit(0xC7)]
- - cond: [bit, b]
- return: [0xCB, bit(0xC0)]
- - cond: [bit, c]
- return: [0xCB, bit(0xC1)]
- - cond: [bit, d]
- return: [0xCB, bit(0xC2)]
- - cond: [bit, e]
- return: [0xCB, bit(0xC3)]
- - cond: [bit, h]
- return: [0xCB, bit(0xC4)]
- - cond: [bit, l]
- return: [0xCB, bit(0xC5)]
- - type: [immediate, indirect_hl_or_indexed]
- cases:
- - cond: [bit, _]
- return: [0xCB, bit(0xC6)]
- - type: [immediate, indexed, register]
- cases:
- - cond: [bit, _, a]
- return: [0xCB, bit(0xC7)]
- - cond: [bit, _, b]
- return: [0xCB, bit(0xC0)]
- - cond: [bit, _, c]
- return: [0xCB, bit(0xC1)]
- - cond: [bit, _, d]
- return: [0xCB, bit(0xC2)]
- - cond: [bit, _, e]
- return: [0xCB, bit(0xC3)]
- - cond: [bit, _, h]
- return: [0xCB, bit(0xC4)]
- - cond: [bit, _, l]
- return: [0xCB, bit(0xC5)]
-
- sl1: &sl1
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0xCB, 0x37]
- - cond: [b]
- return: [0xCB, 0x30]
- - cond: [c]
- return: [0xCB, 0x31]
- - cond: [d]
- return: [0xCB, 0x32]
- - cond: [e]
- return: [0xCB, 0x33]
- - cond: [h]
- return: [0xCB, 0x34]
- - cond: [l]
- return: [0xCB, 0x35]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0xCB, 0x36]
- - type: [indexed, register]
- cases:
- - cond: [_, a]
- return: [0xCB, 0x37]
- - cond: [_, b]
- return: [0xCB, 0x30]
- - cond: [_, c]
- return: [0xCB, 0x31]
- - cond: [_, d]
- return: [0xCB, 0x32]
- - cond: [_, e]
- return: [0xCB, 0x33]
- - cond: [_, h]
- return: [0xCB, 0x34]
- - cond: [_, l]
- return: [0xCB, 0x35]
-
- sla:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0xCB, 0x27]
- - cond: [b]
- return: [0xCB, 0x20]
- - cond: [c]
- return: [0xCB, 0x21]
- - cond: [d]
- return: [0xCB, 0x22]
- - cond: [e]
- return: [0xCB, 0x23]
- - cond: [h]
- return: [0xCB, 0x24]
- - cond: [l]
- return: [0xCB, 0x25]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0xCB, 0x26]
- - type: [indexed, register]
- cases:
- - cond: [_, a]
- return: [0xCB, 0x27]
- - cond: [_, b]
- return: [0xCB, 0x20]
- - cond: [_, c]
- return: [0xCB, 0x21]
- - cond: [_, d]
- return: [0xCB, 0x22]
- - cond: [_, e]
- return: [0xCB, 0x23]
- - cond: [_, h]
- return: [0xCB, 0x24]
- - cond: [_, l]
- return: [0xCB, 0x25]
-
- sll: *sl1
-
- sls: *sl1
-
- sra:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0xCB, 0x2F]
- - cond: [b]
- return: [0xCB, 0x28]
- - cond: [c]
- return: [0xCB, 0x29]
- - cond: [d]
- return: [0xCB, 0x2A]
- - cond: [e]
- return: [0xCB, 0x2B]
- - cond: [h]
- return: [0xCB, 0x2C]
- - cond: [l]
- return: [0xCB, 0x2D]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0xCB, 0x2E]
- - type: [indexed, register]
- cases:
- - cond: [_, a]
- return: [0xCB, 0x2F]
- - cond: [_, b]
- return: [0xCB, 0x28]
- - cond: [_, c]
- return: [0xCB, 0x29]
- - cond: [_, d]
- return: [0xCB, 0x2A]
- - cond: [_, e]
- return: [0xCB, 0x2B]
- - cond: [_, h]
- return: [0xCB, 0x2C]
- - cond: [_, l]
- return: [0xCB, 0x2D]
-
- srl:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0xCB, 0x3F]
- - cond: [b]
- return: [0xCB, 0x38]
- - cond: [c]
- return: [0xCB, 0x39]
- - cond: [d]
- return: [0xCB, 0x3A]
- - cond: [e]
- return: [0xCB, 0x3B]
- - cond: [h]
- return: [0xCB, 0x3C]
- - cond: [l]
- return: [0xCB, 0x3D]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0xCB, 0x3E]
- - type: [indexed, register]
- cases:
- - cond: [_, a]
- return: [0xCB, 0x3F]
- - cond: [_, b]
- return: [0xCB, 0x38]
- - cond: [_, c]
- return: [0xCB, 0x39]
- - cond: [_, d]
- return: [0xCB, 0x3A]
- - cond: [_, e]
- return: [0xCB, 0x3B]
- - cond: [_, h]
- return: [0xCB, 0x3C]
- - cond: [_, l]
- return: [0xCB, 0x3D]
-
- sub:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0x97]
- - cond: [b]
- return: [0x90]
- - cond: [c]
- return: [0x91]
- - cond: [d]
- return: [0x92]
- - cond: [e]
- return: [0x93]
- - cond: [h|ih]
- return: [0x94]
- - cond: [l|il]
- return: [0x95]
- - type: [immediate]
- cases:
- - cond: [u8]
- return: [0xD6, u8]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0x96]
-
- xor:
- args: yes
- cases:
- - type: [register]
- cases:
- - cond: [a]
- return: [0xAF]
- - cond: [b]
- return: [0xA8]
- - cond: [c]
- return: [0xA9]
- - cond: [d]
- return: [0xAA]
- - cond: [e]
- return: [0xAB]
- - cond: [h|ih]
- return: [0xAC]
- - cond: [l|il]
- return: [0xAD]
- - type: [immediate]
- cases:
- - cond: [u8]
- return: [0xEE, u8]
- - type: [indirect_hl_or_indexed]
- cases:
- - cond: [_]
- return: [0xAE]
|