Advertisement
luckytyphlosion

Fixed mgbdis opcode list.

May 27th, 2018
382
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.27 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement