SHARE
TWEET

Fixed mgbdis opcode list.

luckytyphlosion May 27th, 2018 101 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. instructions = {
  2.  
  3.     0x00: 'nop',
  4.     0x01: 'ld bc, d16',
  5.     0x02: 'ld [bc], a',
  6.     0x03: 'inc bc',
  7.     0x04: 'inc b',
  8.     0x05: 'dec b',
  9.     0x06: 'ld b, d8',
  10.     0x07: 'rlca',
  11.     0x08: 'ld [a16], sp',
  12.     0x09: 'add hl, bc',
  13.     0x0a: 'ld a, [bc]',
  14.     0x0b: 'dec bc',
  15.     0x0c: 'inc c',
  16.     0x0d: 'dec c',
  17.     0x0e: 'ld c, d8',
  18.     0x0f: 'rrca',
  19.  
  20.     0x10: 'stop',
  21.     0x11: 'ld de, d16',
  22.     0x12: 'ld [de], a',
  23.     0x13: 'inc de',
  24.     0x14: 'inc d',
  25.     0x15: 'dec d',
  26.     0x16: 'ld d, d8',
  27.     0x17: 'rla',
  28.     0x18: 'jr pc+r8',
  29.     0x19: 'add hl, de',
  30.     0x1a: 'ld a, [de]',
  31.     0x1b: 'dec de',
  32.     0x1c: 'inc e',
  33.     0x1d: 'dec e',
  34.     0x1e: 'ld e, d8',
  35.     0x1f: 'rra',
  36.  
  37.     0x20: 'jr nz, pc+r8',
  38.     0x21: 'ld hl, d16',
  39.     0x22: 'ld [hli], a',
  40.     0x23: 'inc hl',
  41.     0x24: 'inc h',
  42.     0x25: 'dec h',
  43.     0x26: 'ld h, d8',
  44.     0x27: 'daa',
  45.     0x28: 'jr z, pc+r8',
  46.     0x29: 'add hl, hl',
  47.     0x2a: 'ld a, [hli]',
  48.     0x2b: 'dec hl',
  49.     0x2c: 'inc l',
  50.     0x2d: 'dec l',
  51.     0x2e: 'ld l, d8',
  52.     0x2f: 'cpl',
  53.  
  54.     0x30: 'jr nc, pc+r8',
  55.     0x31: 'ld sp, d16',
  56.     0x32: 'ld [hld], a',
  57.     0x33: 'inc sp',
  58.     0x34: 'inc [hl]',
  59.     0x35: 'dec [hl]',
  60.     0x36: 'ld [hl], d8',
  61.     0x37: 'scf',
  62.     0x38: 'jr c, pc+r8',
  63.     0x39: 'add hl, sp',
  64.     0x3a: 'ld a, [hld]',
  65.     0x3b: 'dec sp',
  66.     0x3c: 'inc a',
  67.     0x3d: 'dec a',
  68.     0x3e: 'ld a, d8',
  69.     0x3f: 'ccf',
  70.  
  71.     0x40: 'ld b, b',
  72.     0x41: 'ld b, c',
  73.     0x42: 'ld b, d',
  74.     0x43: 'ld b, e',
  75.     0x44: 'ld b, h',
  76.     0x45: 'ld b, l',
  77.     0x46: 'ld b, [hl]',
  78.     0x47: 'ld b, a',
  79.     0x48: 'ld c, b',
  80.     0x49: 'ld c, c',
  81.     0x4a: 'ld c, d',
  82.     0x4b: 'ld c, e',
  83.     0x4c: 'ld c, h',
  84.     0x4d: 'ld c, l',
  85.     0x4e: 'ld c, [hl]',
  86.     0x4f: 'ld c, a',
  87.  
  88.     0x50: 'ld d, b',
  89.     0x51: 'ld d, c',
  90.     0x52: 'ld d, d',
  91.     0x53: 'ld d, e',
  92.     0x54: 'ld d, h',
  93.     0x55: 'ld d, l',
  94.     0x56: 'ld d, [hl]',
  95.     0x57: 'ld d, a',
  96.     0x58: 'ld e, b',
  97.     0x59: 'ld e, c',
  98.     0x5a: 'ld e, d',
  99.     0x5b: 'ld e, e',
  100.     0x5c: 'ld e, h',
  101.     0x5d: 'ld e, l',
  102.     0x5e: 'ld e, [hl]',
  103.     0x5f: 'ld e, a',
  104.  
  105.     0x60: 'ld h, b',
  106.     0x61: 'ld h, c',
  107.     0x62: 'ld h, d',
  108.     0x63: 'ld h, e',
  109.     0x64: 'ld h, h',
  110.     0x65: 'ld h, l',
  111.     0x66: 'ld h, [hl]',
  112.     0x67: 'ld h, a',
  113.     0x68: 'ld l, b',
  114.     0x69: 'ld l, c',
  115.     0x6a: 'ld l, d',
  116.     0x6b: 'ld l, e',
  117.     0x6c: 'ld l, h',
  118.     0x6d: 'ld l, l',
  119.     0x6e: 'ld l, [hl]',
  120.     0x6f: 'ld l, a',
  121.  
  122.     0x70: 'ld [hl], b',
  123.     0x71: 'ld [hl], c',
  124.     0x72: 'ld [hl], d',
  125.     0x73: 'ld [hl], e',
  126.     0x74: 'ld [hl], h',
  127.     0x75: 'ld [hl], l',
  128.     0x76: 'halt',
  129.     0x77: 'ld [hl], a',
  130.     0x78: 'ld a, b',
  131.     0x79: 'ld a, c',
  132.     0x7a: 'ld a, d',
  133.     0x7b: 'ld a, e',
  134.     0x7c: 'ld a, h',
  135.     0x7d: 'ld a, l',
  136.     0x7e: 'ld a, [hl]',
  137.     0x7f: 'ld a, a',
  138.  
  139.     0x80: 'add b',
  140.     0x81: 'add c',
  141.     0x82: 'add d',
  142.     0x83: 'add e',
  143.     0x84: 'add h',
  144.     0x85: 'add l',
  145.     0x86: 'add [hl]',
  146.     0x87: 'add a',
  147.     0x88: 'adc b',
  148.     0x89: 'adc c',
  149.     0x8a: 'adc d',
  150.     0x8b: 'adc e',
  151.     0x8c: 'adc h',
  152.     0x8d: 'adc l',
  153.     0x8e: 'adc [hl]',
  154.     0x8f: 'adc a',    
  155.  
  156.     0x90: 'sub b',
  157.     0x91: 'sub c',
  158.     0x92: 'sub d',
  159.     0x93: 'sub e',
  160.     0x94: 'sub h',
  161.     0x95: 'sub l',
  162.     0x96: 'sub [hl]',
  163.     0x97: 'sub a',
  164.     0x98: 'sbc b',
  165.     0x99: 'sbc c',
  166.     0x9a: 'sbc d',
  167.     0x9b: 'sbc e',
  168.     0x9c: 'sbc h',
  169.     0x9d: 'sbc l',
  170.     0x9e: 'sbc [hl]',
  171.     0x9f: 'sbc a',
  172.  
  173.     0xa0: 'and b',
  174.     0xa1: 'and c',
  175.     0xa2: 'and d',
  176.     0xa3: 'and e',
  177.     0xa4: 'and h',
  178.     0xa5: 'and l',
  179.     0xa6: 'and [hl]',
  180.     0xa7: 'and a',
  181.     0xa8: 'xor b',
  182.     0xa9: 'xor c',
  183.     0xaa: 'xor d',
  184.     0xab: 'xor e',
  185.     0xac: 'xor h',
  186.     0xad: 'xor l',
  187.     0xae: 'xor [hl]',
  188.     0xaf: 'xor a',
  189.  
  190.     0xb0: 'or b',
  191.     0xb1: 'or c',
  192.     0xb2: 'or d',
  193.     0xb3: 'or e',
  194.     0xb4: 'or h',
  195.     0xb5: 'or l',
  196.     0xb6: 'or [hl]',
  197.     0xb7: 'or a',
  198.     0xb8: 'cp b',
  199.     0xb9: 'cp c',
  200.     0xba: 'cp d',
  201.     0xbb: 'cp e',
  202.     0xbc: 'cp h',
  203.     0xbd: 'cp l',
  204.     0xbe: 'cp [hl]',
  205.     0xbf: 'cp a',
  206.  
  207.     0xc0: 'ret nz',
  208.     0xc1: 'pop bc',
  209.     0xc2: 'jp nz, a16',
  210.     0xc3: 'jp a16',
  211.     0xc4: 'call nz, a16',
  212.     0xc5: 'push bc',
  213.     0xc6: 'add d8',
  214.     0xc7: 'rst $00',
  215.     0xc8: 'ret z',
  216.     0xc9: 'ret',
  217.     0xca: 'jp z, a16',
  218.     0xcb: 'CBPREFIX',
  219.     0xcc: 'call z, a16',
  220.     0xcd: 'call a16',
  221.     0xce: 'adc d8',
  222.     0xcf: 'rst $08',
  223.  
  224.     0xd0: 'ret nc',
  225.     0xd1: 'pop de',
  226.     0xd2: 'jp nc, a16',
  227.     0xd3: 'db $d3',
  228.     0xd4: 'call nc, a16',
  229.     0xd5: 'push de',
  230.     0xd6: 'sub d8',
  231.     0xd7: 'rst $10',
  232.     0xd8: 'ret c',
  233.     0xd9: 'reti',
  234.     0xda: 'jp c, a16',
  235.     0xdb: 'db $db',
  236.     0xdc: 'call c, a16',
  237.     0xdd: 'db $dd',
  238.     0xde: 'sbc d8',
  239.     0xdf: 'rst $18',
  240.  
  241.     0xe0: 'ld [$ff00+a8], a',
  242.     0xe1: 'pop hl',
  243.     0xe2: 'ld [$ff00+c], a',
  244.     0xe3: 'db $e3',
  245.     0xe4: 'db $e4',
  246.     0xe5: 'push hl',
  247.     0xe6: 'and d8',
  248.     0xe7: 'rst $20',
  249.     0xe8: 'add sp, r8',
  250.     0xe9: 'jp hl',
  251.     0xea: 'db [a16], a',
  252.     0xeb: 'db $eb',
  253.     0xec: 'db $ec',
  254.     0xed: 'db $ed',
  255.     0xee: 'xor d8',
  256.     0xef: 'rst $28',
  257.  
  258.     0xf0: 'ld a, [$ff00+a8]',
  259.     0xf1: 'pop af',
  260.     0xf2: 'ld a, [$ff00+c]',
  261.     0xf3: 'di',
  262.     0xf4: 'db $f4',
  263.     0xf5: 'push af',
  264.     0xf6: 'or d8',
  265.     0xf7: 'rst $30',
  266.     0xf8: 'ld hl, sp+r8',
  267.     0xf9: 'ld sp, hl',
  268.     0xfa: 'ld a, [a16]',
  269.     0xfb: 'ei',
  270.     0xfc: 'db $fc',
  271.     0xfd: 'db $fd',
  272.     0xfe: 'cp d8',
  273.     0xff: 'rst $38',
  274.  
  275. }
  276.  
  277. cb_instructions = {
  278.    
  279.     0x00: 'rlc b',
  280.     0x01: 'rlc c',
  281.     0x02: 'rlc d',
  282.     0x03: 'rlc e',
  283.     0x04: 'rlc h',
  284.     0x05: 'rlc l',
  285.     0x06: 'rlc [hl]',
  286.     0x07: 'rlc a',
  287.     0x08: 'rrc b',
  288.     0x09: 'rrc c',
  289.     0x0a: 'rrc d',
  290.     0x0b: 'rrc e',
  291.     0x0c: 'rrc h',
  292.     0x0d: 'rrc l',
  293.     0x0e: 'rrc [hl]',
  294.     0x0f: 'rrc a',
  295.    
  296.     0x10: 'rl b',
  297.     0x11: 'rl c',
  298.     0x12: 'rl d',
  299.     0x13: 'rl e',
  300.     0x14: 'rl h',
  301.     0x15: 'rl l',
  302.     0x16: 'rl [hl]',
  303.     0x17: 'rl a',
  304.     0x18: 'rr b',
  305.     0x19: 'rr c',
  306.     0x1a: 'rr d',
  307.     0x1b: 'rr e',
  308.     0x1c: 'rr h',
  309.     0x1d: 'rr l',
  310.     0x1e: 'rr [hl]',
  311.     0x1f: 'rr a',
  312.    
  313.     0x20: 'sla b',
  314.     0x21: 'sla c',
  315.     0x22: 'sla d',
  316.     0x23: 'sla e',
  317.     0x24: 'sla h',
  318.     0x25: 'sla l',
  319.     0x26: 'sla [hl]',
  320.     0x27: 'sla a',
  321.     0x28: 'sra b',
  322.     0x29: 'sra c',
  323.     0x2a: 'sra d',
  324.     0x2b: 'sra e',
  325.     0x2c: 'sra h',
  326.     0x2d: 'sra l',
  327.     0x2e: 'sra [hl]',
  328.     0x2f: 'sra a',
  329.    
  330.     0x30: 'swap b',
  331.     0x31: 'swap c',
  332.     0x32: 'swap d',
  333.     0x33: 'swap e',
  334.     0x34: 'swap h',
  335.     0x35: 'swap l',
  336.     0x36: 'swap [hl]',
  337.     0x37: 'swap a',
  338.     0x38: 'srl b',
  339.     0x39: 'srl c',
  340.     0x3a: 'srl d',
  341.     0x3b: 'srl e',
  342.     0x3c: 'srl h',
  343.     0x3d: 'srl l',
  344.     0x3e: 'srl [hl]',
  345.     0x3f: 'srl a',
  346.    
  347.     0x40: 'bit 0, b',
  348.     0x41: 'bit 0, c',
  349.     0x42: 'bit 0, d',
  350.     0x43: 'bit 0, e',
  351.     0x44: 'bit 0, h',
  352.     0x45: 'bit 0, l',
  353.     0x46: 'bit 0, [hl]',
  354.     0x47: 'bit 0, a',
  355.     0x48: 'bit 1, b',
  356.     0x49: 'bit 1, c',
  357.     0x4a: 'bit 1, d',
  358.     0x4b: 'bit 1, e',
  359.     0x4c: 'bit 1, h',
  360.     0x4d: 'bit 1, l',
  361.     0x4e: 'bit 1, [hl]',
  362.     0x4f: 'bit 1, a',
  363.    
  364.     0x50: 'bit 2, b',
  365.     0x51: 'bit 2, c',
  366.     0x52: 'bit 2, d',
  367.     0x53: 'bit 2, e',
  368.     0x54: 'bit 2, h',
  369.     0x55: 'bit 2, l',
  370.     0x56: 'bit 2, [hl]',
  371.     0x57: 'bit 2, a',
  372.     0x58: 'bit 3, b',
  373.     0x59: 'bit 3, c',
  374.     0x5a: 'bit 3, d',
  375.     0x5b: 'bit 3, e',
  376.     0x5c: 'bit 3, h',
  377.     0x5d: 'bit 3, l',
  378.     0x5e: 'bit 3, [hl]',
  379.     0x5f: 'bit 3, a',
  380.    
  381.     0x60: 'bit 4, b',
  382.     0x61: 'bit 4, c',
  383.     0x62: 'bit 4, d',
  384.     0x63: 'bit 4, e',
  385.     0x64: 'bit 4, h',
  386.     0x65: 'bit 4, l',
  387.     0x66: 'bit 4, [hl]',
  388.     0x67: 'bit 4, a',
  389.     0x68: 'bit 5, b',
  390.     0x69: 'bit 5, c',
  391.     0x6a: 'bit 5, d',
  392.     0x6b: 'bit 5, e',
  393.     0x6c: 'bit 5, h',
  394.     0x6d: 'bit 5, l',
  395.     0x6e: 'bit 5, [hl]',
  396.     0x6f: 'bit 5, a',
  397.  
  398.     0x70: 'bit 6, b',
  399.     0x71: 'bit 6, c',
  400.     0x72: 'bit 6, d',
  401.     0x73: 'bit 6, e',
  402.     0x74: 'bit 6, h',
  403.     0x75: 'bit 6, l',
  404.     0x76: 'bit 6, [hl]',
  405.     0x77: 'bit 6, a',
  406.     0x78: 'bit 7, b',
  407.     0x79: 'bit 7, c',
  408.     0x7a: 'bit 7, d',
  409.     0x7b: 'bit 7, e',
  410.     0x7c: 'bit 7, h',
  411.     0x7d: 'bit 7, l',
  412.     0x7e: 'bit 7, [hl]',
  413.     0x7f: 'bit 7, a',  
  414.  
  415.     0x80: 'res 0, b',
  416.     0x81: 'res 0, c',
  417.     0x82: 'res 0, d',
  418.     0x83: 'res 0, e',
  419.     0x84: 'res 0, h',
  420.     0x85: 'res 0, l',
  421.     0x86: 'res 0, [hl]',
  422.     0x87: 'res 0, a',
  423.     0x88: 'res 1, b',
  424.     0x89: 'res 1, c',
  425.     0x8a: 'res 1, d',
  426.     0x8b: 'res 1, e',
  427.     0x8c: 'res 1, h',
  428.     0x8d: 'res 1, l',
  429.     0x8e: 'res 1, [hl]',
  430.     0x8f: 'res 1, a',
  431.    
  432.     0x90: 'res 2, b',
  433.     0x91: 'res 2, c',
  434.     0x92: 'res 2, d',
  435.     0x93: 'res 2, e',
  436.     0x94: 'res 2, h',
  437.     0x95: 'res 2, l',
  438.     0x96: 'res 2, [hl]',
  439.     0x97: 'res 2, a',
  440.     0x98: 'res 3, b',
  441.     0x99: 'res 3, c',
  442.     0x9a: 'res 3, d',
  443.     0x9b: 'res 3, e',
  444.     0x9c: 'res 3, h',
  445.     0x9d: 'res 3, l',
  446.     0x9e: 'res 3, [hl]',
  447.     0x9f: 'res 3, a',
  448.    
  449.     0xa0: 'res 4, b',
  450.     0xa1: 'res 4, c',
  451.     0xa2: 'res 4, d',
  452.     0xa3: 'res 4, e',
  453.     0xa4: 'res 4, h',
  454.     0xa5: 'res 4, l',
  455.     0xa6: 'res 4, [hl]',
  456.     0xa7: 'res 4, a',
  457.     0xa8: 'res 5, b',
  458.     0xa9: 'res 5, c',
  459.     0xaa: 'res 5, d',
  460.     0xab: 'res 5, e',
  461.     0xac: 'res 5, h',
  462.     0xad: 'res 5, l',
  463.     0xae: 'res 5, [hl]',
  464.     0xaf: 'res 5, a',
  465.  
  466.     0xb0: 'res 6, b',
  467.     0xb1: 'res 6, c',
  468.     0xb2: 'res 6, d',
  469.     0xb3: 'res 6, e',
  470.     0xb4: 'res 6, h',
  471.     0xb5: 'res 6, l',
  472.     0xb6: 'res 6, [hl]',
  473.     0xb7: 'res 6, a',
  474.     0xb8: 'res 7, b',
  475.     0xb9: 'res 7, c',
  476.     0xba: 'res 7, d',
  477.     0xbb: 'res 7, e',
  478.     0xbc: 'res 7, h',
  479.     0xbd: 'res 7, l',
  480.     0xbe: 'res 7, [hl]',
  481.     0xbf: 'res 7, a',
  482.  
  483.  
  484.     0xc0: 'set 0, b',
  485.     0xc1: 'set 0, c',
  486.     0xc2: 'set 0, d',
  487.     0xc3: 'set 0, e',
  488.     0xc4: 'set 0, h',
  489.     0xc5: 'set 0, l',
  490.     0xc6: 'set 0, [hl]',
  491.     0xc7: 'set 0, a',
  492.     0xc8: 'set 1, b',
  493.     0xc9: 'set 1, c',
  494.     0xca: 'set 1, d',
  495.     0xcb: 'set 1, e',
  496.     0xcc: 'set 1, h',
  497.     0xcd: 'set 1, l',
  498.     0xce: 'set 1, [hl]',
  499.     0xcf: 'set 1, a',
  500.    
  501.     0xd0: 'set 2, b',
  502.     0xd1: 'set 2, c',
  503.     0xd2: 'set 2, d',
  504.     0xd3: 'set 2, e',
  505.     0xd4: 'set 2, h',
  506.     0xd5: 'set 2, l',
  507.     0xd6: 'set 2, [hl]',
  508.     0xd7: 'set 2, a',
  509.     0xd8: 'set 3, b',
  510.     0xd9: 'set 3, c',
  511.     0xda: 'set 3, d',
  512.     0xdb: 'set 3, e',
  513.     0xdc: 'set 3, h',
  514.     0xdd: 'set 3, l',
  515.     0xde: 'set 3, [hl]',
  516.     0xdf: 'set 3, a',
  517.    
  518.     0xe0: 'set 4, b',
  519.     0xe1: 'set 4, c',
  520.     0xe2: 'set 4, d',
  521.     0xe3: 'set 4, e',
  522.     0xe4: 'set 4, h',
  523.     0xe5: 'set 4, l',
  524.     0xe6: 'set 4, [hl]',
  525.     0xe7: 'set 4, a',
  526.     0xe8: 'set 5, b',
  527.     0xe9: 'set 5, c',
  528.     0xea: 'set 5, d',
  529.     0xeb: 'set 5, e',
  530.     0xec: 'set 5, h',
  531.     0xed: 'set 5, l',
  532.     0xee: 'set 5, [hl]',
  533.     0xef: 'set 5, a',
  534.  
  535.     0xf0: 'set 6, b',
  536.     0xf1: 'set 6, c',
  537.     0xf2: 'set 6, d',
  538.     0xf3: 'set 6, e',
  539.     0xf4: 'set 6, h',
  540.     0xf5: 'set 6, l',
  541.     0xf6: 'set 6, [hl]',
  542.     0xf7: 'set 6, a',
  543.     0xf8: 'set 7, b',
  544.     0xf9: 'set 7, c',
  545.     0xfa: 'set 7, d',
  546.     0xfb: 'set 7, e',
  547.     0xfc: 'set 7, h',
  548.     0xfd: 'set 7, l',
  549.     0xfe: 'set 7, [hl]',
  550.     0xff: 'set 7, a'
  551. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top