Mirror of CollapseOS
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1831 lines
117KB

  1. // Generated by libz80
  2. static struct Z80OpcodeTable opcodes_main;
  3. static struct Z80OpcodeTable opcodes_DD;
  4. static struct Z80OpcodeTable opcodes_FD;
  5. static struct Z80OpcodeTable opcodes_ED;
  6. static struct Z80OpcodeTable opcodes_CB;
  7. static struct Z80OpcodeTable opcodes_DDCB;
  8. static struct Z80OpcodeTable opcodes_FDCB;
  9. static struct Z80OpcodeTable opcodes_main = { 0, {
  10. { NOP , OP_NONE , "NOP" , NULL },
  11. { LD_BC_nn , OP_WORD , "LD BC,0%04Xh" , NULL },
  12. { LD_off_BC_A , OP_NONE , "LD (BC),A" , NULL },
  13. { INC_BC , OP_NONE , "INC BC" , NULL },
  14. { INC_B , OP_NONE , "INC B" , NULL },
  15. { DEC_B , OP_NONE , "DEC B" , NULL },
  16. { LD_B_n , OP_BYTE , "LD B,0%02Xh" , NULL },
  17. { RLCA , OP_NONE , "RLCA" , NULL },
  18. { EX_AF_AF_ , OP_NONE , "EX AF,AF'" , NULL },
  19. { ADD_HL_BC , OP_NONE , "ADD HL,BC" , NULL },
  20. { LD_A_off_BC , OP_NONE , "LD A,(BC)" , NULL },
  21. { DEC_BC , OP_NONE , "DEC BC" , NULL },
  22. { INC_C , OP_NONE , "INC C" , NULL },
  23. { DEC_C , OP_NONE , "DEC C" , NULL },
  24. { LD_C_n , OP_BYTE , "LD C,0%02Xh" , NULL },
  25. { RRCA , OP_NONE , "RRCA" , NULL },
  26. { DJNZ_off_PC_e , OP_OFFSET, "DJNZ (PC+%d)" , NULL },
  27. { LD_DE_nn , OP_WORD , "LD DE,0%04Xh" , NULL },
  28. { LD_off_DE_A , OP_NONE , "LD (DE),A" , NULL },
  29. { INC_DE , OP_NONE , "INC DE" , NULL },
  30. { INC_D , OP_NONE , "INC D" , NULL },
  31. { DEC_D , OP_NONE , "DEC D" , NULL },
  32. { LD_D_n , OP_BYTE , "LD D,0%02Xh" , NULL },
  33. { RLA , OP_NONE , "RLA" , NULL },
  34. { JR_off_PC_e , OP_OFFSET, "JR (PC+%d)" , NULL },
  35. { ADD_HL_DE , OP_NONE , "ADD HL,DE" , NULL },
  36. { LD_A_off_DE , OP_NONE , "LD A,(DE)" , NULL },
  37. { DEC_DE , OP_NONE , "DEC DE" , NULL },
  38. { INC_E , OP_NONE , "INC E" , NULL },
  39. { DEC_E , OP_NONE , "DEC E" , NULL },
  40. { LD_E_n , OP_BYTE , "LD E,0%02Xh" , NULL },
  41. { RRA , OP_NONE , "RRA" , NULL },
  42. { JR_NZ_off_PC_e , OP_OFFSET, "JR NZ,(PC+%d)" , NULL },
  43. { LD_HL_nn , OP_WORD , "LD HL,0%04Xh" , NULL },
  44. { LD_off_nn_HL , OP_WORD , "LD (0%04Xh),HL" , NULL },
  45. { INC_HL , OP_NONE , "INC HL" , NULL },
  46. { INC_H , OP_NONE , "INC H" , NULL },
  47. { DEC_H , OP_NONE , "DEC H" , NULL },
  48. { LD_H_n , OP_BYTE , "LD H,0%02Xh" , NULL },
  49. { DAA , OP_NONE , "DAA" , NULL },
  50. { JR_Z_off_PC_e , OP_OFFSET, "JR Z,(PC+%d)" , NULL },
  51. { ADD_HL_HL , OP_NONE , "ADD HL,HL" , NULL },
  52. { LD_HL_off_nn , OP_WORD , "LD HL,(0%04Xh)" , NULL },
  53. { DEC_HL , OP_NONE , "DEC HL" , NULL },
  54. { INC_L , OP_NONE , "INC L" , NULL },
  55. { DEC_L , OP_NONE , "DEC L" , NULL },
  56. { LD_L_n , OP_BYTE , "LD L,0%02Xh" , NULL },
  57. { CPL , OP_NONE , "CPL" , NULL },
  58. { JR_NC_off_PC_e , OP_OFFSET, "JR NC,(PC+%d)" , NULL },
  59. { LD_SP_nn , OP_WORD , "LD SP,0%04Xh" , NULL },
  60. { LD_off_nn_A , OP_WORD , "LD (0%04Xh),A" , NULL },
  61. { INC_SP , OP_NONE , "INC SP" , NULL },
  62. { INC_off_HL , OP_NONE , "INC (HL)" , NULL },
  63. { DEC_off_HL , OP_NONE , "DEC (HL)" , NULL },
  64. { LD_off_HL_n , OP_BYTE , "LD (HL),0%02Xh" , NULL },
  65. { SCF , OP_NONE , "SCF" , NULL },
  66. { JR_C_off_PC_e , OP_OFFSET, "JR C,(PC+%d)" , NULL },
  67. { ADD_HL_SP , OP_NONE , "ADD HL,SP" , NULL },
  68. { LD_A_off_nn , OP_WORD , "LD A,(0%04Xh)" , NULL },
  69. { DEC_SP , OP_NONE , "DEC SP" , NULL },
  70. { INC_A , OP_NONE , "INC A" , NULL },
  71. { DEC_A , OP_NONE , "DEC A" , NULL },
  72. { LD_A_n , OP_BYTE , "LD A,0%02Xh" , NULL },
  73. { CCF , OP_NONE , "CCF" , NULL },
  74. { LD_B_B , OP_NONE , "LD B,B" , NULL },
  75. { LD_B_C , OP_NONE , "LD B,C" , NULL },
  76. { LD_B_D , OP_NONE , "LD B,D" , NULL },
  77. { LD_B_E , OP_NONE , "LD B,E" , NULL },
  78. { LD_B_H , OP_NONE , "LD B,H" , NULL },
  79. { LD_B_L , OP_NONE , "LD B,L" , NULL },
  80. { LD_B_off_HL , OP_NONE , "LD B,(HL)" , NULL },
  81. { LD_B_A , OP_NONE , "LD B,A" , NULL },
  82. { LD_C_B , OP_NONE , "LD C,B" , NULL },
  83. { LD_C_C , OP_NONE , "LD C,C" , NULL },
  84. { LD_C_D , OP_NONE , "LD C,D" , NULL },
  85. { LD_C_E , OP_NONE , "LD C,E" , NULL },
  86. { LD_C_H , OP_NONE , "LD C,H" , NULL },
  87. { LD_C_L , OP_NONE , "LD C,L" , NULL },
  88. { LD_C_off_HL , OP_NONE , "LD C,(HL)" , NULL },
  89. { LD_C_A , OP_NONE , "LD C,A" , NULL },
  90. { LD_D_B , OP_NONE , "LD D,B" , NULL },
  91. { LD_D_C , OP_NONE , "LD D,C" , NULL },
  92. { LD_D_D , OP_NONE , "LD D,D" , NULL },
  93. { LD_D_E , OP_NONE , "LD D,E" , NULL },
  94. { LD_D_H , OP_NONE , "LD D,H" , NULL },
  95. { LD_D_L , OP_NONE , "LD D,L" , NULL },
  96. { LD_D_off_HL , OP_NONE , "LD D,(HL)" , NULL },
  97. { LD_D_A , OP_NONE , "LD D,A" , NULL },
  98. { LD_E_B , OP_NONE , "LD E,B" , NULL },
  99. { LD_E_C , OP_NONE , "LD E,C" , NULL },
  100. { LD_E_D , OP_NONE , "LD E,D" , NULL },
  101. { LD_E_E , OP_NONE , "LD E,E" , NULL },
  102. { LD_E_H , OP_NONE , "LD E,H" , NULL },
  103. { LD_E_L , OP_NONE , "LD E,L" , NULL },
  104. { LD_E_off_HL , OP_NONE , "LD E,(HL)" , NULL },
  105. { LD_E_A , OP_NONE , "LD E,A" , NULL },
  106. { LD_H_B , OP_NONE , "LD H,B" , NULL },
  107. { LD_H_C , OP_NONE , "LD H,C" , NULL },
  108. { LD_H_D , OP_NONE , "LD H,D" , NULL },
  109. { LD_H_E , OP_NONE , "LD H,E" , NULL },
  110. { LD_H_H , OP_NONE , "LD H,H" , NULL },
  111. { LD_H_L , OP_NONE , "LD H,L" , NULL },
  112. { LD_H_off_HL , OP_NONE , "LD H,(HL)" , NULL },
  113. { LD_H_A , OP_NONE , "LD H,A" , NULL },
  114. { LD_L_B , OP_NONE , "LD L,B" , NULL },
  115. { LD_L_C , OP_NONE , "LD L,C" , NULL },
  116. { LD_L_D , OP_NONE , "LD L,D" , NULL },
  117. { LD_L_E , OP_NONE , "LD L,E" , NULL },
  118. { LD_L_H , OP_NONE , "LD L,H" , NULL },
  119. { LD_L_L , OP_NONE , "LD L,L" , NULL },
  120. { LD_L_off_HL , OP_NONE , "LD L,(HL)" , NULL },
  121. { LD_L_A , OP_NONE , "LD L,A" , NULL },
  122. { LD_off_HL_B , OP_NONE , "LD (HL),B" , NULL },
  123. { LD_off_HL_C , OP_NONE , "LD (HL),C" , NULL },
  124. { LD_off_HL_D , OP_NONE , "LD (HL),D" , NULL },
  125. { LD_off_HL_E , OP_NONE , "LD (HL),E" , NULL },
  126. { LD_off_HL_H , OP_NONE , "LD (HL),H" , NULL },
  127. { LD_off_HL_L , OP_NONE , "LD (HL),L" , NULL },
  128. { HALT , OP_NONE , "HALT" , NULL },
  129. { LD_off_HL_A , OP_NONE , "LD (HL),A" , NULL },
  130. { LD_A_B , OP_NONE , "LD A,B" , NULL },
  131. { LD_A_C , OP_NONE , "LD A,C" , NULL },
  132. { LD_A_D , OP_NONE , "LD A,D" , NULL },
  133. { LD_A_E , OP_NONE , "LD A,E" , NULL },
  134. { LD_A_H , OP_NONE , "LD A,H" , NULL },
  135. { LD_A_L , OP_NONE , "LD A,L" , NULL },
  136. { LD_A_off_HL , OP_NONE , "LD A,(HL)" , NULL },
  137. { LD_A_A , OP_NONE , "LD A,A" , NULL },
  138. { ADD_A_B , OP_NONE , "ADD A,B" , NULL },
  139. { ADD_A_C , OP_NONE , "ADD A,C" , NULL },
  140. { ADD_A_D , OP_NONE , "ADD A,D" , NULL },
  141. { ADD_A_E , OP_NONE , "ADD A,E" , NULL },
  142. { ADD_A_H , OP_NONE , "ADD A,H" , NULL },
  143. { ADD_A_L , OP_NONE , "ADD A,L" , NULL },
  144. { ADD_A_off_HL , OP_NONE , "ADD A,(HL)" , NULL },
  145. { ADD_A_A , OP_NONE , "ADD A,A" , NULL },
  146. { ADC_A_B , OP_NONE , "ADC A,B" , NULL },
  147. { ADC_A_C , OP_NONE , "ADC A,C" , NULL },
  148. { ADC_A_D , OP_NONE , "ADC A,D" , NULL },
  149. { ADC_A_E , OP_NONE , "ADC A,E" , NULL },
  150. { ADC_A_H , OP_NONE , "ADC A,H" , NULL },
  151. { ADC_A_L , OP_NONE , "ADC A,L" , NULL },
  152. { ADC_A_off_HL , OP_NONE , "ADC A,(HL)" , NULL },
  153. { ADC_A_A , OP_NONE , "ADC A,A" , NULL },
  154. { SUB_A_B , OP_NONE , "SUB A,B" , NULL },
  155. { SUB_A_C , OP_NONE , "SUB A,C" , NULL },
  156. { SUB_A_D , OP_NONE , "SUB A,D" , NULL },
  157. { SUB_A_E , OP_NONE , "SUB A,E" , NULL },
  158. { SUB_A_H , OP_NONE , "SUB A,H" , NULL },
  159. { SUB_A_L , OP_NONE , "SUB A,L" , NULL },
  160. { SUB_A_off_HL , OP_NONE , "SUB A,(HL)" , NULL },
  161. { SUB_A_A , OP_NONE , "SUB A,A" , NULL },
  162. { SBC_A_B , OP_NONE , "SBC A,B" , NULL },
  163. { SBC_A_C , OP_NONE , "SBC A,C" , NULL },
  164. { SBC_A_D , OP_NONE , "SBC A,D" , NULL },
  165. { SBC_A_E , OP_NONE , "SBC A,E" , NULL },
  166. { SBC_A_H , OP_NONE , "SBC A,H" , NULL },
  167. { SBC_A_L , OP_NONE , "SBC A,L" , NULL },
  168. { SBC_A_off_HL , OP_NONE , "SBC A,(HL)" , NULL },
  169. { SBC_A_A , OP_NONE , "SBC A,A" , NULL },
  170. { AND_B , OP_NONE , "AND B" , NULL },
  171. { AND_C , OP_NONE , "AND C" , NULL },
  172. { AND_D , OP_NONE , "AND D" , NULL },
  173. { AND_E , OP_NONE , "AND E" , NULL },
  174. { AND_H , OP_NONE , "AND H" , NULL },
  175. { AND_L , OP_NONE , "AND L" , NULL },
  176. { AND_off_HL , OP_NONE , "AND (HL)" , NULL },
  177. { AND_A , OP_NONE , "AND A" , NULL },
  178. { XOR_B , OP_NONE , "XOR B" , NULL },
  179. { XOR_C , OP_NONE , "XOR C" , NULL },
  180. { XOR_D , OP_NONE , "XOR D" , NULL },
  181. { XOR_E , OP_NONE , "XOR E" , NULL },
  182. { XOR_H , OP_NONE , "XOR H" , NULL },
  183. { XOR_L , OP_NONE , "XOR L" , NULL },
  184. { XOR_off_HL , OP_NONE , "XOR (HL)" , NULL },
  185. { XOR_A , OP_NONE , "XOR A" , NULL },
  186. { OR_B , OP_NONE , "OR B" , NULL },
  187. { OR_C , OP_NONE , "OR C" , NULL },
  188. { OR_D , OP_NONE , "OR D" , NULL },
  189. { OR_E , OP_NONE , "OR E" , NULL },
  190. { OR_H , OP_NONE , "OR H" , NULL },
  191. { OR_L , OP_NONE , "OR L" , NULL },
  192. { OR_off_HL , OP_NONE , "OR (HL)" , NULL },
  193. { OR_A , OP_NONE , "OR A" , NULL },
  194. { CP_B , OP_NONE , "CP B" , NULL },
  195. { CP_C , OP_NONE , "CP C" , NULL },
  196. { CP_D , OP_NONE , "CP D" , NULL },
  197. { CP_E , OP_NONE , "CP E" , NULL },
  198. { CP_H , OP_NONE , "CP H" , NULL },
  199. { CP_L , OP_NONE , "CP L" , NULL },
  200. { CP_off_HL , OP_NONE , "CP (HL)" , NULL },
  201. { CP_A , OP_NONE , "CP A" , NULL },
  202. { RET_NZ , OP_NONE , "RET NZ" , NULL },
  203. { POP_BC , OP_NONE , "POP BC" , NULL },
  204. { JP_NZ_off_nn , OP_WORD , "JP NZ,(0%04Xh)" , NULL },
  205. { JP_off_nn , OP_WORD , "JP (0%04Xh)" , NULL },
  206. { CALL_NZ_off_nn , OP_WORD , "CALL NZ,(0%04Xh)" , NULL },
  207. { PUSH_BC , OP_NONE , "PUSH BC" , NULL },
  208. { ADD_A_n , OP_BYTE , "ADD A,0%02Xh" , NULL },
  209. { RST_0H , OP_NONE , "RST 0H" , NULL },
  210. { RET_Z , OP_NONE , "RET Z" , NULL },
  211. { RET , OP_NONE , "RET" , NULL },
  212. { JP_Z_off_nn , OP_WORD , "JP Z,(0%04Xh)" , NULL },
  213. { NULL , OP_NONE , NULL , &opcodes_CB },
  214. { CALL_Z_off_nn , OP_WORD , "CALL Z,(0%04Xh)" , NULL },
  215. { CALL_off_nn , OP_WORD , "CALL (0%04Xh)" , NULL },
  216. { ADC_A_n , OP_BYTE , "ADC A,0%02Xh" , NULL },
  217. { RST_8H , OP_NONE , "RST 8H" , NULL },
  218. { RET_NC , OP_NONE , "RET NC" , NULL },
  219. { POP_DE , OP_NONE , "POP DE" , NULL },
  220. { JP_NC_off_nn , OP_WORD , "JP NC,(0%04Xh)" , NULL },
  221. { OUT_off_n_A , OP_BYTE , "OUT (0%02Xh),A" , NULL },
  222. { CALL_NC_off_nn , OP_WORD , "CALL NC,(0%04Xh)" , NULL },
  223. { PUSH_DE , OP_NONE , "PUSH DE" , NULL },
  224. { SUB_A_n , OP_BYTE , "SUB A,0%02Xh" , NULL },
  225. { RST_10H , OP_NONE , "RST 10H" , NULL },
  226. { RET_C , OP_NONE , "RET C" , NULL },
  227. { EXX , OP_NONE , "EXX" , NULL },
  228. { JP_C_off_nn , OP_WORD , "JP C,(0%04Xh)" , NULL },
  229. { IN_A_off_n , OP_BYTE , "IN A,(0%02Xh)" , NULL },
  230. { CALL_C_off_nn , OP_WORD , "CALL C,(0%04Xh)" , NULL },
  231. { NULL , OP_NONE , NULL , &opcodes_DD },
  232. { SBC_A_n , OP_BYTE , "SBC A,0%02Xh" , NULL },
  233. { RST_18H , OP_NONE , "RST 18H" , NULL },
  234. { RET_PO , OP_NONE , "RET PO" , NULL },
  235. { POP_HL , OP_NONE , "POP HL" , NULL },
  236. { JP_PO_off_nn , OP_WORD , "JP PO,(0%04Xh)" , NULL },
  237. { EX_off_SP_HL , OP_NONE , "EX (SP),HL" , NULL },
  238. { CALL_PO_off_nn , OP_WORD , "CALL PO,(0%04Xh)" , NULL },
  239. { PUSH_HL , OP_NONE , "PUSH HL" , NULL },
  240. { AND_n , OP_BYTE , "AND 0%02Xh" , NULL },
  241. { RST_20H , OP_NONE , "RST 20H" , NULL },
  242. { RET_PE , OP_NONE , "RET PE" , NULL },
  243. { JP_off_HL , OP_NONE , "JP (HL)" , NULL },
  244. { JP_PE_off_nn , OP_WORD , "JP PE,(0%04Xh)" , NULL },
  245. { EX_DE_HL , OP_NONE , "EX DE,HL" , NULL },
  246. { CALL_PE_off_nn , OP_WORD , "CALL PE,(0%04Xh)" , NULL },
  247. { NULL , OP_NONE , NULL , &opcodes_ED },
  248. { XOR_n , OP_BYTE , "XOR 0%02Xh" , NULL },
  249. { RST_28H , OP_NONE , "RST 28H" , NULL },
  250. { RET_P , OP_NONE , "RET P" , NULL },
  251. { POP_AF , OP_NONE , "POP AF" , NULL },
  252. { JP_P_off_nn , OP_WORD , "JP P,(0%04Xh)" , NULL },
  253. { DI , OP_NONE , "DI" , NULL },
  254. { CALL_P_off_nn , OP_WORD , "CALL P,(0%04Xh)" , NULL },
  255. { PUSH_AF , OP_NONE , "PUSH AF" , NULL },
  256. { OR_n , OP_BYTE , "OR 0%02Xh" , NULL },
  257. { RST_30H , OP_NONE , "RST 30H" , NULL },
  258. { RET_M , OP_NONE , "RET M" , NULL },
  259. { LD_SP_HL , OP_NONE , "LD SP,HL" , NULL },
  260. { JP_M_off_nn , OP_WORD , "JP M,(0%04Xh)" , NULL },
  261. { EI , OP_NONE , "EI" , NULL },
  262. { CALL_M_off_nn , OP_WORD , "CALL M,(0%04Xh)" , NULL },
  263. { NULL , OP_NONE , NULL , &opcodes_FD },
  264. { CP_n , OP_BYTE , "CP 0%02Xh" , NULL },
  265. { RST_38H , OP_NONE , "RST 38H" , NULL }
  266. } };
  267. static struct Z80OpcodeTable opcodes_CB = { 0, {
  268. { RLC_B , OP_NONE , "RLC B" , NULL },
  269. { RLC_C , OP_NONE , "RLC C" , NULL },
  270. { RLC_D , OP_NONE , "RLC D" , NULL },
  271. { RLC_E , OP_NONE , "RLC E" , NULL },
  272. { RLC_H , OP_NONE , "RLC H" , NULL },
  273. { RLC_L , OP_NONE , "RLC L" , NULL },
  274. { RLC_off_HL , OP_NONE , "RLC (HL)" , NULL },
  275. { RLC_A , OP_NONE , "RLC A" , NULL },
  276. { RRC_B , OP_NONE , "RRC B" , NULL },
  277. { RRC_C , OP_NONE , "RRC C" , NULL },
  278. { RRC_D , OP_NONE , "RRC D" , NULL },
  279. { RRC_E , OP_NONE , "RRC E" , NULL },
  280. { RRC_H , OP_NONE , "RRC H" , NULL },
  281. { RRC_L , OP_NONE , "RRC L" , NULL },
  282. { RRC_off_HL , OP_NONE , "RRC (HL)" , NULL },
  283. { RRC_A , OP_NONE , "RRC A" , NULL },
  284. { RL_B , OP_NONE , "RL B" , NULL },
  285. { RL_C , OP_NONE , "RL C" , NULL },
  286. { RL_D , OP_NONE , "RL D" , NULL },
  287. { RL_E , OP_NONE , "RL E" , NULL },
  288. { RL_H , OP_NONE , "RL H" , NULL },
  289. { RL_L , OP_NONE , "RL L" , NULL },
  290. { RL_off_HL , OP_NONE , "RL (HL)" , NULL },
  291. { RL_A , OP_NONE , "RL A" , NULL },
  292. { RR_B , OP_NONE , "RR B" , NULL },
  293. { RR_C , OP_NONE , "RR C" , NULL },
  294. { RR_D , OP_NONE , "RR D" , NULL },
  295. { RR_E , OP_NONE , "RR E" , NULL },
  296. { RR_H , OP_NONE , "RR H" , NULL },
  297. { RR_L , OP_NONE , "RR L" , NULL },
  298. { RR_off_HL , OP_NONE , "RR (HL)" , NULL },
  299. { RR_A , OP_NONE , "RR A" , NULL },
  300. { SLA_B , OP_NONE , "SLA B" , NULL },
  301. { SLA_C , OP_NONE , "SLA C" , NULL },
  302. { SLA_D , OP_NONE , "SLA D" , NULL },
  303. { SLA_E , OP_NONE , "SLA E" , NULL },
  304. { SLA_H , OP_NONE , "SLA H" , NULL },
  305. { SLA_L , OP_NONE , "SLA L" , NULL },
  306. { SLA_off_HL , OP_NONE , "SLA (HL)" , NULL },
  307. { SLA_A , OP_NONE , "SLA A" , NULL },
  308. { SRA_B , OP_NONE , "SRA B" , NULL },
  309. { SRA_C , OP_NONE , "SRA C" , NULL },
  310. { SRA_D , OP_NONE , "SRA D" , NULL },
  311. { SRA_E , OP_NONE , "SRA E" , NULL },
  312. { SRA_H , OP_NONE , "SRA H" , NULL },
  313. { SRA_L , OP_NONE , "SRA L" , NULL },
  314. { SRA_off_HL , OP_NONE , "SRA (HL)" , NULL },
  315. { SRA_A , OP_NONE , "SRA A" , NULL },
  316. { SLL_B , OP_NONE , "SLL B" , NULL },
  317. { SLL_C , OP_NONE , "SLL C" , NULL },
  318. { SLL_D , OP_NONE , "SLL D" , NULL },
  319. { SLL_E , OP_NONE , "SLL E" , NULL },
  320. { SLL_H , OP_NONE , "SLL H" , NULL },
  321. { SLL_L , OP_NONE , "SLL L" , NULL },
  322. { SLL_off_HL , OP_NONE , "SLL (HL)" , NULL },
  323. { SLL_A , OP_NONE , "SLL A" , NULL },
  324. { SRL_B , OP_NONE , "SRL B" , NULL },
  325. { SRL_C , OP_NONE , "SRL C" , NULL },
  326. { SRL_D , OP_NONE , "SRL D" , NULL },
  327. { SRL_E , OP_NONE , "SRL E" , NULL },
  328. { SRL_H , OP_NONE , "SRL H" , NULL },
  329. { SRL_L , OP_NONE , "SRL L" , NULL },
  330. { SRL_off_HL , OP_NONE , "SRL (HL)" , NULL },
  331. { SRL_A , OP_NONE , "SRL A" , NULL },
  332. { BIT_0_B , OP_NONE , "BIT 0,B" , NULL },
  333. { BIT_0_C , OP_NONE , "BIT 0,C" , NULL },
  334. { BIT_0_D , OP_NONE , "BIT 0,D" , NULL },
  335. { BIT_0_E , OP_NONE , "BIT 0,E" , NULL },
  336. { BIT_0_H , OP_NONE , "BIT 0,H" , NULL },
  337. { BIT_0_L , OP_NONE , "BIT 0,L" , NULL },
  338. { BIT_0_off_HL , OP_NONE , "BIT 0,(HL)" , NULL },
  339. { BIT_0_A , OP_NONE , "BIT 0,A" , NULL },
  340. { BIT_1_B , OP_NONE , "BIT 1,B" , NULL },
  341. { BIT_1_C , OP_NONE , "BIT 1,C" , NULL },
  342. { BIT_1_D , OP_NONE , "BIT 1,D" , NULL },
  343. { BIT_1_E , OP_NONE , "BIT 1,E" , NULL },
  344. { BIT_1_H , OP_NONE , "BIT 1,H" , NULL },
  345. { BIT_1_L , OP_NONE , "BIT 1,L" , NULL },
  346. { BIT_1_off_HL , OP_NONE , "BIT 1,(HL)" , NULL },
  347. { BIT_1_A , OP_NONE , "BIT 1,A" , NULL },
  348. { BIT_2_B , OP_NONE , "BIT 2,B" , NULL },
  349. { BIT_2_C , OP_NONE , "BIT 2,C" , NULL },
  350. { BIT_2_D , OP_NONE , "BIT 2,D" , NULL },
  351. { BIT_2_E , OP_NONE , "BIT 2,E" , NULL },
  352. { BIT_2_H , OP_NONE , "BIT 2,H" , NULL },
  353. { BIT_2_L , OP_NONE , "BIT 2,L" , NULL },
  354. { BIT_2_off_HL , OP_NONE , "BIT 2,(HL)" , NULL },
  355. { BIT_2_A , OP_NONE , "BIT 2,A" , NULL },
  356. { BIT_3_B , OP_NONE , "BIT 3,B" , NULL },
  357. { BIT_3_C , OP_NONE , "BIT 3,C" , NULL },
  358. { BIT_3_D , OP_NONE , "BIT 3,D" , NULL },
  359. { BIT_3_E , OP_NONE , "BIT 3,E" , NULL },
  360. { BIT_3_H , OP_NONE , "BIT 3,H" , NULL },
  361. { BIT_3_L , OP_NONE , "BIT 3,L" , NULL },
  362. { BIT_3_off_HL , OP_NONE , "BIT 3,(HL)" , NULL },
  363. { BIT_3_A , OP_NONE , "BIT 3,A" , NULL },
  364. { BIT_4_B , OP_NONE , "BIT 4,B" , NULL },
  365. { BIT_4_C , OP_NONE , "BIT 4,C" , NULL },
  366. { BIT_4_D , OP_NONE , "BIT 4,D" , NULL },
  367. { BIT_4_E , OP_NONE , "BIT 4,E" , NULL },
  368. { BIT_4_H , OP_NONE , "BIT 4,H" , NULL },
  369. { BIT_4_L , OP_NONE , "BIT 4,L" , NULL },
  370. { BIT_4_off_HL , OP_NONE , "BIT 4,(HL)" , NULL },
  371. { BIT_4_A , OP_NONE , "BIT 4,A" , NULL },
  372. { BIT_5_B , OP_NONE , "BIT 5,B" , NULL },
  373. { BIT_5_C , OP_NONE , "BIT 5,C" , NULL },
  374. { BIT_5_D , OP_NONE , "BIT 5,D" , NULL },
  375. { BIT_5_E , OP_NONE , "BIT 5,E" , NULL },
  376. { BIT_5_H , OP_NONE , "BIT 5,H" , NULL },
  377. { BIT_5_L , OP_NONE , "BIT 5,L" , NULL },
  378. { BIT_5_off_HL , OP_NONE , "BIT 5,(HL)" , NULL },
  379. { BIT_5_A , OP_NONE , "BIT 5,A" , NULL },
  380. { BIT_6_B , OP_NONE , "BIT 6,B" , NULL },
  381. { BIT_6_C , OP_NONE , "BIT 6,C" , NULL },
  382. { BIT_6_D , OP_NONE , "BIT 6,D" , NULL },
  383. { BIT_6_E , OP_NONE , "BIT 6,E" , NULL },
  384. { BIT_6_H , OP_NONE , "BIT 6,H" , NULL },
  385. { BIT_6_L , OP_NONE , "BIT 6,L" , NULL },
  386. { BIT_6_off_HL , OP_NONE , "BIT 6,(HL)" , NULL },
  387. { BIT_6_A , OP_NONE , "BIT 6,A" , NULL },
  388. { BIT_7_B , OP_NONE , "BIT 7,B" , NULL },
  389. { BIT_7_C , OP_NONE , "BIT 7,C" , NULL },
  390. { BIT_7_D , OP_NONE , "BIT 7,D" , NULL },
  391. { BIT_7_E , OP_NONE , "BIT 7,E" , NULL },
  392. { BIT_7_H , OP_NONE , "BIT 7,H" , NULL },
  393. { BIT_7_L , OP_NONE , "BIT 7,L" , NULL },
  394. { BIT_7_off_HL , OP_NONE , "BIT 7,(HL)" , NULL },
  395. { BIT_7_A , OP_NONE , "BIT 7,A" , NULL },
  396. { RES_0_B , OP_NONE , "RES 0,B" , NULL },
  397. { RES_0_C , OP_NONE , "RES 0,C" , NULL },
  398. { RES_0_D , OP_NONE , "RES 0,D" , NULL },
  399. { RES_0_E , OP_NONE , "RES 0,E" , NULL },
  400. { RES_0_H , OP_NONE , "RES 0,H" , NULL },
  401. { RES_0_L , OP_NONE , "RES 0,L" , NULL },
  402. { RES_0_off_HL , OP_NONE , "RES 0,(HL)" , NULL },
  403. { RES_0_A , OP_NONE , "RES 0,A" , NULL },
  404. { RES_1_B , OP_NONE , "RES 1,B" , NULL },
  405. { RES_1_C , OP_NONE , "RES 1,C" , NULL },
  406. { RES_1_D , OP_NONE , "RES 1,D" , NULL },
  407. { RES_1_E , OP_NONE , "RES 1,E" , NULL },
  408. { RES_1_H , OP_NONE , "RES 1,H" , NULL },
  409. { RES_1_L , OP_NONE , "RES 1,L" , NULL },
  410. { RES_1_off_HL , OP_NONE , "RES 1,(HL)" , NULL },
  411. { RES_1_A , OP_NONE , "RES 1,A" , NULL },
  412. { RES_2_B , OP_NONE , "RES 2,B" , NULL },
  413. { RES_2_C , OP_NONE , "RES 2,C" , NULL },
  414. { RES_2_D , OP_NONE , "RES 2,D" , NULL },
  415. { RES_2_E , OP_NONE , "RES 2,E" , NULL },
  416. { RES_2_H , OP_NONE , "RES 2,H" , NULL },
  417. { RES_2_L , OP_NONE , "RES 2,L" , NULL },
  418. { RES_2_off_HL , OP_NONE , "RES 2,(HL)" , NULL },
  419. { RES_2_A , OP_NONE , "RES 2,A" , NULL },
  420. { RES_3_B , OP_NONE , "RES 3,B" , NULL },
  421. { RES_3_C , OP_NONE , "RES 3,C" , NULL },
  422. { RES_3_D , OP_NONE , "RES 3,D" , NULL },
  423. { RES_3_E , OP_NONE , "RES 3,E" , NULL },
  424. { RES_3_H , OP_NONE , "RES 3,H" , NULL },
  425. { RES_3_L , OP_NONE , "RES 3,L" , NULL },
  426. { RES_3_off_HL , OP_NONE , "RES 3,(HL)" , NULL },
  427. { RES_3_A , OP_NONE , "RES 3,A" , NULL },
  428. { RES_4_B , OP_NONE , "RES 4,B" , NULL },
  429. { RES_4_C , OP_NONE , "RES 4,C" , NULL },
  430. { RES_4_D , OP_NONE , "RES 4,D" , NULL },
  431. { RES_4_E , OP_NONE , "RES 4,E" , NULL },
  432. { RES_4_H , OP_NONE , "RES 4,H" , NULL },
  433. { RES_4_L , OP_NONE , "RES 4,L" , NULL },
  434. { RES_4_off_HL , OP_NONE , "RES 4,(HL)" , NULL },
  435. { RES_4_A , OP_NONE , "RES 4,A" , NULL },
  436. { RES_5_B , OP_NONE , "RES 5,B" , NULL },
  437. { RES_5_C , OP_NONE , "RES 5,C" , NULL },
  438. { RES_5_D , OP_NONE , "RES 5,D" , NULL },
  439. { RES_5_E , OP_NONE , "RES 5,E" , NULL },
  440. { RES_5_H , OP_NONE , "RES 5,H" , NULL },
  441. { RES_5_L , OP_NONE , "RES 5,L" , NULL },
  442. { RES_5_off_HL , OP_NONE , "RES 5,(HL)" , NULL },
  443. { RES_5_A , OP_NONE , "RES 5,A" , NULL },
  444. { RES_6_B , OP_NONE , "RES 6,B" , NULL },
  445. { RES_6_C , OP_NONE , "RES 6,C" , NULL },
  446. { RES_6_D , OP_NONE , "RES 6,D" , NULL },
  447. { RES_6_E , OP_NONE , "RES 6,E" , NULL },
  448. { RES_6_H , OP_NONE , "RES 6,H" , NULL },
  449. { RES_6_L , OP_NONE , "RES 6,L" , NULL },
  450. { RES_6_off_HL , OP_NONE , "RES 6,(HL)" , NULL },
  451. { RES_6_A , OP_NONE , "RES 6,A" , NULL },
  452. { RES_7_B , OP_NONE , "RES 7,B" , NULL },
  453. { RES_7_C , OP_NONE , "RES 7,C" , NULL },
  454. { RES_7_D , OP_NONE , "RES 7,D" , NULL },
  455. { RES_7_E , OP_NONE , "RES 7,E" , NULL },
  456. { RES_7_H , OP_NONE , "RES 7,H" , NULL },
  457. { RES_7_L , OP_NONE , "RES 7,L" , NULL },
  458. { RES_7_off_HL , OP_NONE , "RES 7,(HL)" , NULL },
  459. { RES_7_A , OP_NONE , "RES 7,A" , NULL },
  460. { SET_0_B , OP_NONE , "SET 0,B" , NULL },
  461. { SET_0_C , OP_NONE , "SET 0,C" , NULL },
  462. { SET_0_D , OP_NONE , "SET 0,D" , NULL },
  463. { SET_0_E , OP_NONE , "SET 0,E" , NULL },
  464. { SET_0_H , OP_NONE , "SET 0,H" , NULL },
  465. { SET_0_L , OP_NONE , "SET 0,L" , NULL },
  466. { SET_0_off_HL , OP_NONE , "SET 0,(HL)" , NULL },
  467. { SET_0_A , OP_NONE , "SET 0,A" , NULL },
  468. { SET_1_B , OP_NONE , "SET 1,B" , NULL },
  469. { SET_1_C , OP_NONE , "SET 1,C" , NULL },
  470. { SET_1_D , OP_NONE , "SET 1,D" , NULL },
  471. { SET_1_E , OP_NONE , "SET 1,E" , NULL },
  472. { SET_1_H , OP_NONE , "SET 1,H" , NULL },
  473. { SET_1_L , OP_NONE , "SET 1,L" , NULL },
  474. { SET_1_off_HL , OP_NONE , "SET 1,(HL)" , NULL },
  475. { SET_1_A , OP_NONE , "SET 1,A" , NULL },
  476. { SET_2_B , OP_NONE , "SET 2,B" , NULL },
  477. { SET_2_C , OP_NONE , "SET 2,C" , NULL },
  478. { SET_2_D , OP_NONE , "SET 2,D" , NULL },
  479. { SET_2_E , OP_NONE , "SET 2,E" , NULL },
  480. { SET_2_H , OP_NONE , "SET 2,H" , NULL },
  481. { SET_2_L , OP_NONE , "SET 2,L" , NULL },
  482. { SET_2_off_HL , OP_NONE , "SET 2,(HL)" , NULL },
  483. { SET_2_A , OP_NONE , "SET 2,A" , NULL },
  484. { SET_3_B , OP_NONE , "SET 3,B" , NULL },
  485. { SET_3_C , OP_NONE , "SET 3,C" , NULL },
  486. { SET_3_D , OP_NONE , "SET 3,D" , NULL },
  487. { SET_3_E , OP_NONE , "SET 3,E" , NULL },
  488. { SET_3_H , OP_NONE , "SET 3,H" , NULL },
  489. { SET_3_L , OP_NONE , "SET 3,L" , NULL },
  490. { SET_3_off_HL , OP_NONE , "SET 3,(HL)" , NULL },
  491. { SET_3_A , OP_NONE , "SET 3,A" , NULL },
  492. { SET_4_B , OP_NONE , "SET 4,B" , NULL },
  493. { SET_4_C , OP_NONE , "SET 4,C" , NULL },
  494. { SET_4_D , OP_NONE , "SET 4,D" , NULL },
  495. { SET_4_E , OP_NONE , "SET 4,E" , NULL },
  496. { SET_4_H , OP_NONE , "SET 4,H" , NULL },
  497. { SET_4_L , OP_NONE , "SET 4,L" , NULL },
  498. { SET_4_off_HL , OP_NONE , "SET 4,(HL)" , NULL },
  499. { SET_4_A , OP_NONE , "SET 4,A" , NULL },
  500. { SET_5_B , OP_NONE , "SET 5,B" , NULL },
  501. { SET_5_C , OP_NONE , "SET 5,C" , NULL },
  502. { SET_5_D , OP_NONE , "SET 5,D" , NULL },
  503. { SET_5_E , OP_NONE , "SET 5,E" , NULL },
  504. { SET_5_H , OP_NONE , "SET 5,H" , NULL },
  505. { SET_5_L , OP_NONE , "SET 5,L" , NULL },
  506. { SET_5_off_HL , OP_NONE , "SET 5,(HL)" , NULL },
  507. { SET_5_A , OP_NONE , "SET 5,A" , NULL },
  508. { SET_6_B , OP_NONE , "SET 6,B" , NULL },
  509. { SET_6_C , OP_NONE , "SET 6,C" , NULL },
  510. { SET_6_D , OP_NONE , "SET 6,D" , NULL },
  511. { SET_6_E , OP_NONE , "SET 6,E" , NULL },
  512. { SET_6_H , OP_NONE , "SET 6,H" , NULL },
  513. { SET_6_L , OP_NONE , "SET 6,L" , NULL },
  514. { SET_6_off_HL , OP_NONE , "SET 6,(HL)" , NULL },
  515. { SET_6_A , OP_NONE , "SET 6,A" , NULL },
  516. { SET_7_B , OP_NONE , "SET 7,B" , NULL },
  517. { SET_7_C , OP_NONE , "SET 7,C" , NULL },
  518. { SET_7_D , OP_NONE , "SET 7,D" , NULL },
  519. { SET_7_E , OP_NONE , "SET 7,E" , NULL },
  520. { SET_7_H , OP_NONE , "SET 7,H" , NULL },
  521. { SET_7_L , OP_NONE , "SET 7,L" , NULL },
  522. { SET_7_off_HL , OP_NONE , "SET 7,(HL)" , NULL },
  523. { SET_7_A , OP_NONE , "SET 7,A" , NULL }
  524. } };
  525. static struct Z80OpcodeTable opcodes_DD = { 0, {
  526. { NULL , OP_NONE , NULL , NULL },
  527. { NULL , OP_NONE , NULL , NULL },
  528. { NULL , OP_NONE , NULL , NULL },
  529. { NULL , OP_NONE , NULL , NULL },
  530. { NULL , OP_NONE , NULL , NULL },
  531. { NULL , OP_NONE , NULL , NULL },
  532. { NULL , OP_NONE , NULL , NULL },
  533. { NULL , OP_NONE , NULL , NULL },
  534. { NULL , OP_NONE , NULL , NULL },
  535. { ADD_IX_BC , OP_NONE , "ADD IX,BC" , NULL },
  536. { NULL , OP_NONE , NULL , NULL },
  537. { NULL , OP_NONE , NULL , NULL },
  538. { NULL , OP_NONE , NULL , NULL },
  539. { NULL , OP_NONE , NULL , NULL },
  540. { NULL , OP_NONE , NULL , NULL },
  541. { NULL , OP_NONE , NULL , NULL },
  542. { NULL , OP_NONE , NULL , NULL },
  543. { NULL , OP_NONE , NULL , NULL },
  544. { NULL , OP_NONE , NULL , NULL },
  545. { NULL , OP_NONE , NULL , NULL },
  546. { NULL , OP_NONE , NULL , NULL },
  547. { NULL , OP_NONE , NULL , NULL },
  548. { NULL , OP_NONE , NULL , NULL },
  549. { NULL , OP_NONE , NULL , NULL },
  550. { NULL , OP_NONE , NULL , NULL },
  551. { ADD_IX_DE , OP_NONE , "ADD IX,DE" , NULL },
  552. { NULL , OP_NONE , NULL , NULL },
  553. { NULL , OP_NONE , NULL , NULL },
  554. { NULL , OP_NONE , NULL , NULL },
  555. { NULL , OP_NONE , NULL , NULL },
  556. { NULL , OP_NONE , NULL , NULL },
  557. { NULL , OP_NONE , NULL , NULL },
  558. { NULL , OP_NONE , NULL , NULL },
  559. { LD_IX_nn , OP_WORD , "LD IX,0%04Xh" , NULL },
  560. { LD_off_nn_IX , OP_WORD , "LD (0%04Xh),IX" , NULL },
  561. { INC_IX , OP_NONE , "INC IX" , NULL },
  562. { INC_IXh , OP_NONE , "INC IXh" , NULL },
  563. { DEC_IXh , OP_NONE , "DEC IXh" , NULL },
  564. { LD_IXh_n , OP_BYTE , "LD IXh,0%02Xh" , NULL },
  565. { NULL , OP_NONE , NULL , NULL },
  566. { NULL , OP_NONE , NULL , NULL },
  567. { ADD_IX_IX , OP_NONE , "ADD IX,IX" , NULL },
  568. { LD_IX_off_nn , OP_WORD , "LD IX,(0%04Xh)" , NULL },
  569. { DEC_IX , OP_NONE , "DEC IX" , NULL },
  570. { INC_IXl , OP_NONE , "INC IXl" , NULL },
  571. { DEC_IXl , OP_NONE , "DEC IXl" , NULL },
  572. { LD_IXl_n , OP_BYTE , "LD IXl,0%02Xh" , NULL },
  573. { NULL , OP_NONE , NULL , NULL },
  574. { NULL , OP_NONE , NULL , NULL },
  575. { NULL , OP_NONE , NULL , NULL },
  576. { NULL , OP_NONE , NULL , NULL },
  577. { NULL , OP_NONE , NULL , NULL },
  578. { INC_off_IX_d , OP_BYTE , "INC (IX+0%02Xh)" , NULL },
  579. { DEC_off_IX_d , OP_BYTE , "DEC (IX+0%02Xh)" , NULL },
  580. { LD_off_IX_d_n , OP_BYTE , "LD (IX+0%02Xh),0%02Xh", NULL },
  581. { NULL , OP_NONE , NULL , NULL },
  582. { NULL , OP_NONE , NULL , NULL },
  583. { ADD_IX_SP , OP_NONE , "ADD IX,SP" , NULL },
  584. { NULL , OP_NONE , NULL , NULL },
  585. { NULL , OP_NONE , NULL , NULL },
  586. { NULL , OP_NONE , NULL , NULL },
  587. { NULL , OP_NONE , NULL , NULL },
  588. { NULL , OP_NONE , NULL , NULL },
  589. { NULL , OP_NONE , NULL , NULL },
  590. { NULL , OP_NONE , NULL , NULL },
  591. { NULL , OP_NONE , NULL , NULL },
  592. { NULL , OP_NONE , NULL , NULL },
  593. { NULL , OP_NONE , NULL , NULL },
  594. { LD_B_IXh , OP_NONE , "LD B,IXh" , NULL },
  595. { LD_B_IXl , OP_NONE , "LD B,IXl" , NULL },
  596. { LD_B_off_IX_d , OP_BYTE , "LD B,(IX+0%02Xh)" , NULL },
  597. { NULL , OP_NONE , NULL , NULL },
  598. { NULL , OP_NONE , NULL , NULL },
  599. { NULL , OP_NONE , NULL , NULL },
  600. { NULL , OP_NONE , NULL , NULL },
  601. { NULL , OP_NONE , NULL , NULL },
  602. { LD_C_IXh , OP_NONE , "LD C,IXh" , NULL },
  603. { LD_C_IXl , OP_NONE , "LD C,IXl" , NULL },
  604. { LD_C_off_IX_d , OP_BYTE , "LD C,(IX+0%02Xh)" , NULL },
  605. { NULL , OP_NONE , NULL , NULL },
  606. { NULL , OP_NONE , NULL , NULL },
  607. { NULL , OP_NONE , NULL , NULL },
  608. { NULL , OP_NONE , NULL , NULL },
  609. { NULL , OP_NONE , NULL , NULL },
  610. { LD_D_IXh , OP_NONE , "LD D,IXh" , NULL },
  611. { LD_D_IXl , OP_NONE , "LD D,IXl" , NULL },
  612. { LD_D_off_IX_d , OP_BYTE , "LD D,(IX+0%02Xh)" , NULL },
  613. { NULL , OP_NONE , NULL , NULL },
  614. { NULL , OP_NONE , NULL , NULL },
  615. { NULL , OP_NONE , NULL , NULL },
  616. { NULL , OP_NONE , NULL , NULL },
  617. { NULL , OP_NONE , NULL , NULL },
  618. { LD_E_IXh , OP_NONE , "LD E,IXh" , NULL },
  619. { LD_E_IXl , OP_NONE , "LD E,IXl" , NULL },
  620. { LD_E_off_IX_d , OP_BYTE , "LD E,(IX+0%02Xh)" , NULL },
  621. { NULL , OP_NONE , NULL , NULL },
  622. { LD_IXh_B , OP_NONE , "LD IXh,B" , NULL },
  623. { LD_IXh_C , OP_NONE , "LD IXh,C" , NULL },
  624. { LD_IXh_D , OP_NONE , "LD IXh,D" , NULL },
  625. { LD_IXh_E , OP_NONE , "LD IXh,E" , NULL },
  626. { LD_IXh_IXh , OP_NONE , "LD IXh,IXh" , NULL },
  627. { LD_IXh_IXl , OP_NONE , "LD IXh,IXl" , NULL },
  628. { LD_H_off_IX_d , OP_BYTE , "LD H,(IX+0%02Xh)" , NULL },
  629. { LD_IXh_A , OP_NONE , "LD IXh,A" , NULL },
  630. { LD_IXl_B , OP_NONE , "LD IXl,B" , NULL },
  631. { LD_IXl_C , OP_NONE , "LD IXl,C" , NULL },
  632. { LD_IXl_D , OP_NONE , "LD IXl,D" , NULL },
  633. { LD_IXl_E , OP_NONE , "LD IXl,E" , NULL },
  634. { LD_IXl_IXh , OP_NONE , "LD IXl,IXh" , NULL },
  635. { LD_IXl_IXl , OP_NONE , "LD IXl,IXl" , NULL },
  636. { LD_L_off_IX_d , OP_BYTE , "LD L,(IX+0%02Xh)" , NULL },
  637. { LD_IXl_A , OP_NONE , "LD IXl,A" , NULL },
  638. { LD_off_IX_d_B , OP_BYTE , "LD (IX+0%02Xh),B" , NULL },
  639. { LD_off_IX_d_C , OP_BYTE , "LD (IX+0%02Xh),C" , NULL },
  640. { LD_off_IX_d_D , OP_BYTE , "LD (IX+0%02Xh),D" , NULL },
  641. { LD_off_IX_d_E , OP_BYTE , "LD (IX+0%02Xh),E" , NULL },
  642. { LD_off_IX_d_H , OP_BYTE , "LD (IX+0%02Xh),H" , NULL },
  643. { LD_off_IX_d_L , OP_BYTE , "LD (IX+0%02Xh),L" , NULL },
  644. { NULL , OP_NONE , NULL , NULL },
  645. { LD_off_IX_d_A , OP_BYTE , "LD (IX+0%02Xh),A" , NULL },
  646. { NULL , OP_NONE , NULL , NULL },
  647. { NULL , OP_NONE , NULL , NULL },
  648. { NULL , OP_NONE , NULL , NULL },
  649. { NULL , OP_NONE , NULL , NULL },
  650. { LD_A_IXh , OP_NONE , "LD A,IXh" , NULL },
  651. { LD_A_IXl , OP_NONE , "LD A,IXl" , NULL },
  652. { LD_A_off_IX_d , OP_BYTE , "LD A,(IX+0%02Xh)" , NULL },
  653. { NULL , OP_NONE , NULL , NULL },
  654. { NULL , OP_NONE , NULL , NULL },
  655. { NULL , OP_NONE , NULL , NULL },
  656. { NULL , OP_NONE , NULL , NULL },
  657. { NULL , OP_NONE , NULL , NULL },
  658. { ADD_A_IXh , OP_NONE , "ADD A,IXh" , NULL },
  659. { ADD_A_IXl , OP_NONE , "ADD A,IXl" , NULL },
  660. { ADD_A_off_IX_d , OP_BYTE , "ADD A,(IX+0%02Xh)" , NULL },
  661. { NULL , OP_NONE , NULL , NULL },
  662. { NULL , OP_NONE , NULL , NULL },
  663. { NULL , OP_NONE , NULL , NULL },
  664. { NULL , OP_NONE , NULL , NULL },
  665. { NULL , OP_NONE , NULL , NULL },
  666. { ADC_A_IXh , OP_NONE , "ADC A,IXh" , NULL },
  667. { ADC_A_IXl , OP_NONE , "ADC A,IXl" , NULL },
  668. { ADC_A_off_IX_d , OP_BYTE , "ADC A,(IX+0%02Xh)" , NULL },
  669. { NULL , OP_NONE , NULL , NULL },
  670. { NULL , OP_NONE , NULL , NULL },
  671. { NULL , OP_NONE , NULL , NULL },
  672. { NULL , OP_NONE , NULL , NULL },
  673. { NULL , OP_NONE , NULL , NULL },
  674. { SUB_A_IXh , OP_NONE , "SUB A,IXh" , NULL },
  675. { SUB_A_IXl , OP_NONE , "SUB A,IXl" , NULL },
  676. { SUB_A_off_IX_d , OP_BYTE , "SUB A,(IX+0%02Xh)" , NULL },
  677. { NULL , OP_NONE , NULL , NULL },
  678. { NULL , OP_NONE , NULL , NULL },
  679. { NULL , OP_NONE , NULL , NULL },
  680. { NULL , OP_NONE , NULL , NULL },
  681. { NULL , OP_NONE , NULL , NULL },
  682. { SBC_A_IXh , OP_NONE , "SBC A,IXh" , NULL },
  683. { SBC_A_IXl , OP_NONE , "SBC A,IXl" , NULL },
  684. { SBC_A_off_IX_d , OP_BYTE , "SBC A,(IX+0%02Xh)" , NULL },
  685. { NULL , OP_NONE , NULL , NULL },
  686. { NULL , OP_NONE , NULL , NULL },
  687. { NULL , OP_NONE , NULL , NULL },
  688. { NULL , OP_NONE , NULL , NULL },
  689. { NULL , OP_NONE , NULL , NULL },
  690. { AND_IXh , OP_NONE , "AND IXh" , NULL },
  691. { AND_IXl , OP_NONE , "AND IXl" , NULL },
  692. { AND_off_IX_d , OP_BYTE , "AND (IX+0%02Xh)" , NULL },
  693. { NULL , OP_NONE , NULL , NULL },
  694. { NULL , OP_NONE , NULL , NULL },
  695. { NULL , OP_NONE , NULL , NULL },
  696. { NULL , OP_NONE , NULL , NULL },
  697. { NULL , OP_NONE , NULL , NULL },
  698. { XOR_IXh , OP_NONE , "XOR IXh" , NULL },
  699. { XOR_IXl , OP_NONE , "XOR IXl" , NULL },
  700. { XOR_off_IX_d , OP_BYTE , "XOR (IX+0%02Xh)" , NULL },
  701. { NULL , OP_NONE , NULL , NULL },
  702. { NULL , OP_NONE , NULL , NULL },
  703. { NULL , OP_NONE , NULL , NULL },
  704. { NULL , OP_NONE , NULL , NULL },
  705. { NULL , OP_NONE , NULL , NULL },
  706. { OR_IXh , OP_NONE , "OR IXh" , NULL },
  707. { OR_IXl , OP_NONE , "OR IXl" , NULL },
  708. { OR_off_IX_d , OP_BYTE , "OR (IX+0%02Xh)" , NULL },
  709. { NULL , OP_NONE , NULL , NULL },
  710. { NULL , OP_NONE , NULL , NULL },
  711. { NULL , OP_NONE , NULL , NULL },
  712. { NULL , OP_NONE , NULL , NULL },
  713. { NULL , OP_NONE , NULL , NULL },
  714. { CP_IXh , OP_NONE , "CP IXh" , NULL },
  715. { CP_IXl , OP_NONE , "CP IXl" , NULL },
  716. { CP_off_IX_d , OP_BYTE , "CP (IX+0%02Xh)" , NULL },
  717. { NULL , OP_NONE , NULL , NULL },
  718. { NULL , OP_NONE , NULL , NULL },
  719. { NULL , OP_NONE , NULL , NULL },
  720. { NULL , OP_NONE , NULL , NULL },
  721. { NULL , OP_NONE , NULL , NULL },
  722. { NULL , OP_NONE , NULL , NULL },
  723. { NULL , OP_NONE , NULL , NULL },
  724. { NULL , OP_NONE , NULL , NULL },
  725. { NULL , OP_NONE , NULL , NULL },
  726. { NULL , OP_NONE , NULL , NULL },
  727. { NULL , OP_NONE , NULL , NULL },
  728. { NULL , OP_NONE , NULL , NULL },
  729. { NULL , OP_NONE , NULL , &opcodes_DDCB },
  730. { NULL , OP_NONE , NULL , NULL },
  731. { NULL , OP_NONE , NULL , NULL },
  732. { NULL , OP_NONE , NULL , NULL },
  733. { NULL , OP_NONE , NULL , NULL },
  734. { NULL , OP_NONE , NULL , NULL },
  735. { NULL , OP_NONE , NULL , NULL },
  736. { NULL , OP_NONE , NULL , NULL },
  737. { NULL , OP_NONE , NULL , NULL },
  738. { NULL , OP_NONE , NULL , NULL },
  739. { NULL , OP_NONE , NULL , NULL },
  740. { NULL , OP_NONE , NULL , NULL },
  741. { NULL , OP_NONE , NULL , NULL },
  742. { NULL , OP_NONE , NULL , NULL },
  743. { NULL , OP_NONE , NULL , NULL },
  744. { NULL , OP_NONE , NULL , NULL },
  745. { NULL , OP_NONE , NULL , NULL },
  746. { NULL , OP_NONE , NULL , NULL },
  747. { NULL , OP_NONE , NULL , NULL },
  748. { NULL , OP_NONE , NULL , NULL },
  749. { NULL , OP_NONE , NULL , NULL },
  750. { NULL , OP_NONE , NULL , NULL },
  751. { POP_IX , OP_NONE , "POP IX" , NULL },
  752. { NULL , OP_NONE , NULL , NULL },
  753. { EX_off_SP_IX , OP_NONE , "EX (SP),IX" , NULL },
  754. { NULL , OP_NONE , NULL , NULL },
  755. { PUSH_IX , OP_NONE , "PUSH IX" , NULL },
  756. { NULL , OP_NONE , NULL , NULL },
  757. { NULL , OP_NONE , NULL , NULL },
  758. { NULL , OP_NONE , NULL , NULL },
  759. { JP_off_IX , OP_NONE , "JP (IX)" , NULL },
  760. { NULL , OP_NONE , NULL , NULL },
  761. { NULL , OP_NONE , NULL , NULL },
  762. { NULL , OP_NONE , NULL , NULL },
  763. { NULL , OP_NONE , NULL , NULL },
  764. { NULL , OP_NONE , NULL , NULL },
  765. { NULL , OP_NONE , NULL , NULL },
  766. { NULL , OP_NONE , NULL , NULL },
  767. { NULL , OP_NONE , NULL , NULL },
  768. { NULL , OP_NONE , NULL , NULL },
  769. { NULL , OP_NONE , NULL , NULL },
  770. { NULL , OP_NONE , NULL , NULL },
  771. { NULL , OP_NONE , NULL , NULL },
  772. { NULL , OP_NONE , NULL , NULL },
  773. { NULL , OP_NONE , NULL , NULL },
  774. { NULL , OP_NONE , NULL , NULL },
  775. { LD_SP_IX , OP_NONE , "LD SP,IX" , NULL },
  776. { NULL , OP_NONE , NULL , NULL },
  777. { NULL , OP_NONE , NULL , NULL },
  778. { NULL , OP_NONE , NULL , NULL },
  779. { NULL , OP_NONE , NULL , NULL },
  780. { NULL , OP_NONE , NULL , NULL },
  781. { NULL , OP_NONE , NULL , NULL }
  782. } };
  783. static struct Z80OpcodeTable opcodes_DDCB = { 1, {
  784. { LD_B_RLC_off_IX_d , OP_BYTE , "LD B,RLC (IX+0%02Xh)", NULL },
  785. { LD_C_RLC_off_IX_d , OP_BYTE , "LD C,RLC (IX+0%02Xh)", NULL },
  786. { LD_D_RLC_off_IX_d , OP_BYTE , "LD D,RLC (IX+0%02Xh)", NULL },
  787. { LD_E_RLC_off_IX_d , OP_BYTE , "LD E,RLC (IX+0%02Xh)", NULL },
  788. { LD_H_RLC_off_IX_d , OP_BYTE , "LD H,RLC (IX+0%02Xh)", NULL },
  789. { LD_L_RLC_off_IX_d , OP_BYTE , "LD L,RLC (IX+0%02Xh)", NULL },
  790. { RLC_off_IX_d , OP_BYTE , "RLC (IX+0%02Xh)" , NULL },
  791. { LD_A_RLC_off_IX_d , OP_BYTE , "LD A,RLC (IX+0%02Xh)", NULL },
  792. { LD_B_RRC_off_IX_d , OP_BYTE , "LD B,RRC (IX+0%02Xh)", NULL },
  793. { LD_C_RRC_off_IX_d , OP_BYTE , "LD C,RRC (IX+0%02Xh)", NULL },
  794. { LD_D_RRC_off_IX_d , OP_BYTE , "LD D,RRC (IX+0%02Xh)", NULL },
  795. { LD_E_RRC_off_IX_d , OP_BYTE , "LD E,RRC (IX+0%02Xh)", NULL },
  796. { LD_H_RRC_off_IX_d , OP_BYTE , "LD H,RRC (IX+0%02Xh)", NULL },
  797. { LD_L_RRC_off_IX_d , OP_BYTE , "LD L,RRC (IX+0%02Xh)", NULL },
  798. { RRC_off_IX_d , OP_BYTE , "RRC (IX+0%02Xh)" , NULL },
  799. { LD_A_RRC_off_IX_d , OP_BYTE , "LD A,RRC (IX+0%02Xh)", NULL },
  800. { LD_B_RL_off_IX_d , OP_BYTE , "LD B,RL (IX+0%02Xh)", NULL },
  801. { LD_C_RL_off_IX_d , OP_BYTE , "LD C,RL (IX+0%02Xh)", NULL },
  802. { LD_D_RL_off_IX_d , OP_BYTE , "LD D,RL (IX+0%02Xh)", NULL },
  803. { LD_E_RL_off_IX_d , OP_BYTE , "LD E,RL (IX+0%02Xh)", NULL },
  804. { LD_H_RL_off_IX_d , OP_BYTE , "LD H,RL (IX+0%02Xh)", NULL },
  805. { LD_L_RL_off_IX_d , OP_BYTE , "LD L,RL (IX+0%02Xh)", NULL },
  806. { RL_off_IX_d , OP_BYTE , "RL (IX+0%02Xh)" , NULL },
  807. { LD_A_RL_off_IX_d , OP_BYTE , "LD A,RL (IX+0%02Xh)", NULL },
  808. { LD_B_RR_off_IX_d , OP_BYTE , "LD B,RR (IX+0%02Xh)", NULL },
  809. { LD_C_RR_off_IX_d , OP_BYTE , "LD C,RR (IX+0%02Xh)", NULL },
  810. { LD_D_RR_off_IX_d , OP_BYTE , "LD D,RR (IX+0%02Xh)", NULL },
  811. { LD_E_RR_off_IX_d , OP_BYTE , "LD E,RR (IX+0%02Xh)", NULL },
  812. { LD_H_RR_off_IX_d , OP_BYTE , "LD H,RR (IX+0%02Xh)", NULL },
  813. { LD_L_RR_off_IX_d , OP_BYTE , "LD L,RR (IX+0%02Xh)", NULL },
  814. { RR_off_IX_d , OP_BYTE , "RR (IX+0%02Xh)" , NULL },
  815. { LD_A_RR_off_IX_d , OP_BYTE , "LD A,RR (IX+0%02Xh)", NULL },
  816. { LD_B_SLA_off_IX_d , OP_BYTE , "LD B,SLA (IX+0%02Xh)", NULL },
  817. { LD_C_SLA_off_IX_d , OP_BYTE , "LD C,SLA (IX+0%02Xh)", NULL },
  818. { LD_D_SLA_off_IX_d , OP_BYTE , "LD D,SLA (IX+0%02Xh)", NULL },
  819. { LD_E_SLA_off_IX_d , OP_BYTE , "LD E,SLA (IX+0%02Xh)", NULL },
  820. { LD_H_SLA_off_IX_d , OP_BYTE , "LD H,SLA (IX+0%02Xh)", NULL },
  821. { LD_L_SLA_off_IX_d , OP_BYTE , "LD L,SLA (IX+0%02Xh)", NULL },
  822. { SLA_off_IX_d , OP_BYTE , "SLA (IX+0%02Xh)" , NULL },
  823. { LD_A_SLA_off_IX_d , OP_BYTE , "LD A,SLA (IX+0%02Xh)", NULL },
  824. { LD_B_SRA_off_IX_d , OP_BYTE , "LD B,SRA (IX+0%02Xh)", NULL },
  825. { LD_C_SRA_off_IX_d , OP_BYTE , "LD C,SRA (IX+0%02Xh)", NULL },
  826. { LD_D_SRA_off_IX_d , OP_BYTE , "LD D,SRA (IX+0%02Xh)", NULL },
  827. { LD_E_SRA_off_IX_d , OP_BYTE , "LD E,SRA (IX+0%02Xh)", NULL },
  828. { LD_H_SRA_off_IX_d , OP_BYTE , "LD H,SRA (IX+0%02Xh)", NULL },
  829. { LD_L_SRA_off_IX_d , OP_BYTE , "LD L,SRA (IX+0%02Xh)", NULL },
  830. { SRA_off_IX_d , OP_BYTE , "SRA (IX+0%02Xh)" , NULL },
  831. { LD_A_SRA_off_IX_d , OP_BYTE , "LD A,SRA (IX+0%02Xh)", NULL },
  832. { LD_B_SLL_off_IX_d , OP_BYTE , "LD B,SLL (IX+0%02Xh)", NULL },
  833. { LD_C_SLL_off_IX_d , OP_BYTE , "LD C,SLL (IX+0%02Xh)", NULL },
  834. { LD_D_SLL_off_IX_d , OP_BYTE , "LD D,SLL (IX+0%02Xh)", NULL },
  835. { LD_E_SLL_off_IX_d , OP_BYTE , "LD E,SLL (IX+0%02Xh)", NULL },
  836. { LD_H_SLL_off_IX_d , OP_BYTE , "LD H,SLL (IX+0%02Xh)", NULL },
  837. { LD_L_SLL_off_IX_d , OP_BYTE , "LD L,SLL (IX+0%02Xh)", NULL },
  838. { SLL_off_IX_d , OP_BYTE , "SLL (IX+0%02Xh)" , NULL },
  839. { LD_A_SLL_off_IX_d , OP_BYTE , "LD A,SLL (IX+0%02Xh)", NULL },
  840. { LD_B_SRL_off_IX_d , OP_BYTE , "LD B,SRL (IX+0%02Xh)", NULL },
  841. { LD_C_SRL_off_IX_d , OP_BYTE , "LD C,SRL (IX+0%02Xh)", NULL },
  842. { LD_D_SRL_off_IX_d , OP_BYTE , "LD D,SRL (IX+0%02Xh)", NULL },
  843. { LD_E_SRL_off_IX_d , OP_BYTE , "LD E,SRL (IX+0%02Xh)", NULL },
  844. { LD_H_SRL_off_IX_d , OP_BYTE , "LD H,SRL (IX+0%02Xh)", NULL },
  845. { LD_L_SRL_off_IX_d , OP_BYTE , "LD L,SRL (IX+0%02Xh)", NULL },
  846. { SRL_off_IX_d , OP_BYTE , "SRL (IX+0%02Xh)" , NULL },
  847. { LD_A_SRL_off_IX_d , OP_BYTE , "LD A,SRL (IX+0%02Xh)", NULL },
  848. { BIT_0_off_IX_d , OP_BYTE , "BIT 0,(IX+0%02Xh)" , NULL },
  849. { BIT_0_off_IX_d , OP_BYTE , "BIT 0,(IX+0%02Xh)" , NULL },
  850. { BIT_0_off_IX_d , OP_BYTE , "BIT 0,(IX+0%02Xh)" , NULL },
  851. { BIT_0_off_IX_d , OP_BYTE , "BIT 0,(IX+0%02Xh)" , NULL },
  852. { BIT_0_off_IX_d , OP_BYTE , "BIT 0,(IX+0%02Xh)" , NULL },
  853. { BIT_0_off_IX_d , OP_BYTE , "BIT 0,(IX+0%02Xh)" , NULL },
  854. { BIT_0_off_IX_d , OP_BYTE , "BIT 0,(IX+0%02Xh)" , NULL },
  855. { BIT_0_off_IX_d , OP_BYTE , "BIT 0,(IX+0%02Xh)" , NULL },
  856. { BIT_1_off_IX_d , OP_BYTE , "BIT 1,(IX+0%02Xh)" , NULL },
  857. { BIT_1_off_IX_d , OP_BYTE , "BIT 1,(IX+0%02Xh)" , NULL },
  858. { BIT_1_off_IX_d , OP_BYTE , "BIT 1,(IX+0%02Xh)" , NULL },
  859. { BIT_1_off_IX_d , OP_BYTE , "BIT 1,(IX+0%02Xh)" , NULL },
  860. { BIT_1_off_IX_d , OP_BYTE , "BIT 1,(IX+0%02Xh)" , NULL },
  861. { BIT_1_off_IX_d , OP_BYTE , "BIT 1,(IX+0%02Xh)" , NULL },
  862. { BIT_1_off_IX_d , OP_BYTE , "BIT 1,(IX+0%02Xh)" , NULL },
  863. { BIT_1_off_IX_d , OP_BYTE , "BIT 1,(IX+0%02Xh)" , NULL },
  864. { BIT_2_off_IX_d , OP_BYTE , "BIT 2,(IX+0%02Xh)" , NULL },
  865. { BIT_2_off_IX_d , OP_BYTE , "BIT 2,(IX+0%02Xh)" , NULL },
  866. { BIT_2_off_IX_d , OP_BYTE , "BIT 2,(IX+0%02Xh)" , NULL },
  867. { BIT_2_off_IX_d , OP_BYTE , "BIT 2,(IX+0%02Xh)" , NULL },
  868. { BIT_2_off_IX_d , OP_BYTE , "BIT 2,(IX+0%02Xh)" , NULL },
  869. { BIT_2_off_IX_d , OP_BYTE , "BIT 2,(IX+0%02Xh)" , NULL },
  870. { BIT_2_off_IX_d , OP_BYTE , "BIT 2,(IX+0%02Xh)" , NULL },
  871. { BIT_2_off_IX_d , OP_BYTE , "BIT 2,(IX+0%02Xh)" , NULL },
  872. { BIT_3_off_IX_d , OP_BYTE , "BIT 3,(IX+0%02Xh)" , NULL },
  873. { BIT_3_off_IX_d , OP_BYTE , "BIT 3,(IX+0%02Xh)" , NULL },
  874. { BIT_3_off_IX_d , OP_BYTE , "BIT 3,(IX+0%02Xh)" , NULL },
  875. { BIT_3_off_IX_d , OP_BYTE , "BIT 3,(IX+0%02Xh)" , NULL },
  876. { BIT_3_off_IX_d , OP_BYTE , "BIT 3,(IX+0%02Xh)" , NULL },
  877. { BIT_3_off_IX_d , OP_BYTE , "BIT 3,(IX+0%02Xh)" , NULL },
  878. { BIT_3_off_IX_d , OP_BYTE , "BIT 3,(IX+0%02Xh)" , NULL },
  879. { BIT_3_off_IX_d , OP_BYTE , "BIT 3,(IX+0%02Xh)" , NULL },
  880. { BIT_4_off_IX_d , OP_BYTE , "BIT 4,(IX+0%02Xh)" , NULL },
  881. { BIT_4_off_IX_d , OP_BYTE , "BIT 4,(IX+0%02Xh)" , NULL },
  882. { BIT_4_off_IX_d , OP_BYTE , "BIT 4,(IX+0%02Xh)" , NULL },
  883. { BIT_4_off_IX_d , OP_BYTE , "BIT 4,(IX+0%02Xh)" , NULL },
  884. { BIT_4_off_IX_d , OP_BYTE , "BIT 4,(IX+0%02Xh)" , NULL },
  885. { BIT_4_off_IX_d , OP_BYTE , "BIT 4,(IX+0%02Xh)" , NULL },
  886. { BIT_4_off_IX_d , OP_BYTE , "BIT 4,(IX+0%02Xh)" , NULL },
  887. { BIT_4_off_IX_d , OP_BYTE , "BIT 4,(IX+0%02Xh)" , NULL },
  888. { BIT_5_off_IX_d , OP_BYTE , "BIT 5,(IX+0%02Xh)" , NULL },
  889. { BIT_5_off_IX_d , OP_BYTE , "BIT 5,(IX+0%02Xh)" , NULL },
  890. { BIT_5_off_IX_d , OP_BYTE , "BIT 5,(IX+0%02Xh)" , NULL },
  891. { BIT_5_off_IX_d , OP_BYTE , "BIT 5,(IX+0%02Xh)" , NULL },
  892. { BIT_5_off_IX_d , OP_BYTE , "BIT 5,(IX+0%02Xh)" , NULL },
  893. { BIT_5_off_IX_d , OP_BYTE , "BIT 5,(IX+0%02Xh)" , NULL },
  894. { BIT_5_off_IX_d , OP_BYTE , "BIT 5,(IX+0%02Xh)" , NULL },
  895. { BIT_5_off_IX_d , OP_BYTE , "BIT 5,(IX+0%02Xh)" , NULL },
  896. { BIT_6_off_IX_d , OP_BYTE , "BIT 6,(IX+0%02Xh)" , NULL },
  897. { BIT_6_off_IX_d , OP_BYTE , "BIT 6,(IX+0%02Xh)" , NULL },
  898. { BIT_6_off_IX_d , OP_BYTE , "BIT 6,(IX+0%02Xh)" , NULL },
  899. { BIT_6_off_IX_d , OP_BYTE , "BIT 6,(IX+0%02Xh)" , NULL },
  900. { BIT_6_off_IX_d , OP_BYTE , "BIT 6,(IX+0%02Xh)" , NULL },
  901. { BIT_6_off_IX_d , OP_BYTE , "BIT 6,(IX+0%02Xh)" , NULL },
  902. { BIT_6_off_IX_d , OP_BYTE , "BIT 6,(IX+0%02Xh)" , NULL },
  903. { BIT_6_off_IX_d , OP_BYTE , "BIT 6,(IX+0%02Xh)" , NULL },
  904. { BIT_7_off_IX_d , OP_BYTE , "BIT 7,(IX+0%02Xh)" , NULL },
  905. { BIT_7_off_IX_d , OP_BYTE , "BIT 7,(IX+0%02Xh)" , NULL },
  906. { BIT_7_off_IX_d , OP_BYTE , "BIT 7,(IX+0%02Xh)" , NULL },
  907. { BIT_7_off_IX_d , OP_BYTE , "BIT 7,(IX+0%02Xh)" , NULL },
  908. { BIT_7_off_IX_d , OP_BYTE , "BIT 7,(IX+0%02Xh)" , NULL },
  909. { BIT_7_off_IX_d , OP_BYTE , "BIT 7,(IX+0%02Xh)" , NULL },
  910. { BIT_7_off_IX_d , OP_BYTE , "BIT 7,(IX+0%02Xh)" , NULL },
  911. { BIT_7_off_IX_d , OP_BYTE , "BIT 7,(IX+0%02Xh)" , NULL },
  912. { LD_B_RES_0_off_IX_d , OP_BYTE , "LD B,RES 0,(IX+0%02Xh)", NULL },
  913. { LD_C_RES_0_off_IX_d , OP_BYTE , "LD C,RES 0,(IX+0%02Xh)", NULL },
  914. { LD_D_RES_0_off_IX_d , OP_BYTE , "LD D,RES 0,(IX+0%02Xh)", NULL },
  915. { LD_E_RES_0_off_IX_d , OP_BYTE , "LD E,RES 0,(IX+0%02Xh)", NULL },
  916. { LD_H_RES_0_off_IX_d , OP_BYTE , "LD H,RES 0,(IX+0%02Xh)", NULL },
  917. { LD_L_RES_0_off_IX_d , OP_BYTE , "LD L,RES 0,(IX+0%02Xh)", NULL },
  918. { RES_0_off_IX_d , OP_BYTE , "RES 0,(IX+0%02Xh)" , NULL },
  919. { LD_A_RES_0_off_IX_d , OP_BYTE , "LD A,RES 0,(IX+0%02Xh)", NULL },
  920. { LD_B_RES_1_off_IX_d , OP_BYTE , "LD B,RES 1,(IX+0%02Xh)", NULL },
  921. { LD_C_RES_1_off_IX_d , OP_BYTE , "LD C,RES 1,(IX+0%02Xh)", NULL },
  922. { LD_D_RES_1_off_IX_d , OP_BYTE , "LD D,RES 1,(IX+0%02Xh)", NULL },
  923. { LD_E_RES_1_off_IX_d , OP_BYTE , "LD E,RES 1,(IX+0%02Xh)", NULL },
  924. { LD_H_RES_1_off_IX_d , OP_BYTE , "LD H,RES 1,(IX+0%02Xh)", NULL },
  925. { LD_L_RES_1_off_IX_d , OP_BYTE , "LD L,RES 1,(IX+0%02Xh)", NULL },
  926. { RES_1_off_IX_d , OP_BYTE , "RES 1,(IX+0%02Xh)" , NULL },
  927. { LD_A_RES_1_off_IX_d , OP_BYTE , "LD A,RES 1,(IX+0%02Xh)", NULL },
  928. { LD_B_RES_2_off_IX_d , OP_BYTE , "LD B,RES 2,(IX+0%02Xh)", NULL },
  929. { LD_C_RES_2_off_IX_d , OP_BYTE , "LD C,RES 2,(IX+0%02Xh)", NULL },
  930. { LD_D_RES_2_off_IX_d , OP_BYTE , "LD D,RES 2,(IX+0%02Xh)", NULL },
  931. { LD_E_RES_2_off_IX_d , OP_BYTE , "LD E,RES 2,(IX+0%02Xh)", NULL },
  932. { LD_H_RES_2_off_IX_d , OP_BYTE , "LD H,RES 2,(IX+0%02Xh)", NULL },
  933. { LD_L_RES_2_off_IX_d , OP_BYTE , "LD L,RES 2,(IX+0%02Xh)", NULL },
  934. { RES_2_off_IX_d , OP_BYTE , "RES 2,(IX+0%02Xh)" , NULL },
  935. { LD_A_RES_2_off_IX_d , OP_BYTE , "LD A,RES 2,(IX+0%02Xh)", NULL },
  936. { LD_B_RES_3_off_IX_d , OP_BYTE , "LD B,RES 3,(IX+0%02Xh)", NULL },
  937. { LD_C_RES_3_off_IX_d , OP_BYTE , "LD C,RES 3,(IX+0%02Xh)", NULL },
  938. { LD_D_RES_3_off_IX_d , OP_BYTE , "LD D,RES 3,(IX+0%02Xh)", NULL },
  939. { LD_E_RES_3_off_IX_d , OP_BYTE , "LD E,RES 3,(IX+0%02Xh)", NULL },
  940. { LD_H_RES_3_off_IX_d , OP_BYTE , "LD H,RES 3,(IX+0%02Xh)", NULL },
  941. { LD_L_RES_3_off_IX_d , OP_BYTE , "LD L,RES 3,(IX+0%02Xh)", NULL },
  942. { RES_3_off_IX_d , OP_BYTE , "RES 3,(IX+0%02Xh)" , NULL },
  943. { LD_A_RES_3_off_IX_d , OP_BYTE , "LD A,RES 3,(IX+0%02Xh)", NULL },
  944. { LD_B_RES_4_off_IX_d , OP_BYTE , "LD B,RES 4,(IX+0%02Xh)", NULL },
  945. { LD_C_RES_4_off_IX_d , OP_BYTE , "LD C,RES 4,(IX+0%02Xh)", NULL },
  946. { LD_D_RES_4_off_IX_d , OP_BYTE , "LD D,RES 4,(IX+0%02Xh)", NULL },
  947. { LD_E_RES_4_off_IX_d , OP_BYTE , "LD E,RES 4,(IX+0%02Xh)", NULL },
  948. { LD_H_RES_4_off_IX_d , OP_BYTE , "LD H,RES 4,(IX+0%02Xh)", NULL },
  949. { LD_L_RES_4_off_IX_d , OP_BYTE , "LD L,RES 4,(IX+0%02Xh)", NULL },
  950. { RES_4_off_IX_d , OP_BYTE , "RES 4,(IX+0%02Xh)" , NULL },
  951. { LD_A_RES_4_off_IX_d , OP_BYTE , "LD A,RES 4,(IX+0%02Xh)", NULL },
  952. { LD_B_RES_5_off_IX_d , OP_BYTE , "LD B,RES 5,(IX+0%02Xh)", NULL },
  953. { LD_C_RES_5_off_IX_d , OP_BYTE , "LD C,RES 5,(IX+0%02Xh)", NULL },
  954. { LD_D_RES_5_off_IX_d , OP_BYTE , "LD D,RES 5,(IX+0%02Xh)", NULL },
  955. { LD_E_RES_5_off_IX_d , OP_BYTE , "LD E,RES 5,(IX+0%02Xh)", NULL },
  956. { LD_H_RES_5_off_IX_d , OP_BYTE , "LD H,RES 5,(IX+0%02Xh)", NULL },
  957. { LD_L_RES_5_off_IX_d , OP_BYTE , "LD L,RES 5,(IX+0%02Xh)", NULL },
  958. { RES_5_off_IX_d , OP_BYTE , "RES 5,(IX+0%02Xh)" , NULL },
  959. { LD_A_RES_5_off_IX_d , OP_BYTE , "LD A,RES 5,(IX+0%02Xh)", NULL },
  960. { LD_B_RES_6_off_IX_d , OP_BYTE , "LD B,RES 6,(IX+0%02Xh)", NULL },
  961. { LD_C_RES_6_off_IX_d , OP_BYTE , "LD C,RES 6,(IX+0%02Xh)", NULL },
  962. { LD_D_RES_6_off_IX_d , OP_BYTE , "LD D,RES 6,(IX+0%02Xh)", NULL },
  963. { LD_E_RES_6_off_IX_d , OP_BYTE , "LD E,RES 6,(IX+0%02Xh)", NULL },
  964. { LD_H_RES_6_off_IX_d , OP_BYTE , "LD H,RES 6,(IX+0%02Xh)", NULL },
  965. { LD_L_RES_6_off_IX_d , OP_BYTE , "LD L,RES 6,(IX+0%02Xh)", NULL },
  966. { RES_6_off_IX_d , OP_BYTE , "RES 6,(IX+0%02Xh)" , NULL },
  967. { LD_A_RES_6_off_IX_d , OP_BYTE , "LD A,RES 6,(IX+0%02Xh)", NULL },
  968. { LD_B_RES_7_off_IX_d , OP_BYTE , "LD B,RES 7,(IX+0%02Xh)", NULL },
  969. { LD_C_RES_7_off_IX_d , OP_BYTE , "LD C,RES 7,(IX+0%02Xh)", NULL },
  970. { LD_D_RES_7_off_IX_d , OP_BYTE , "LD D,RES 7,(IX+0%02Xh)", NULL },
  971. { LD_E_RES_7_off_IX_d , OP_BYTE , "LD E,RES 7,(IX+0%02Xh)", NULL },
  972. { LD_H_RES_7_off_IX_d , OP_BYTE , "LD H,RES 7,(IX+0%02Xh)", NULL },
  973. { LD_L_RES_7_off_IX_d , OP_BYTE , "LD L,RES 7,(IX+0%02Xh)", NULL },
  974. { RES_7_off_IX_d , OP_BYTE , "RES 7,(IX+0%02Xh)" , NULL },
  975. { LD_A_RES_7_off_IX_d , OP_BYTE , "LD A,RES 7,(IX+0%02Xh)", NULL },
  976. { LD_B_SET_0_off_IX_d , OP_BYTE , "LD B,SET 0,(IX+0%02Xh)", NULL },
  977. { LD_C_SET_0_off_IX_d , OP_BYTE , "LD C,SET 0,(IX+0%02Xh)", NULL },
  978. { LD_D_SET_0_off_IX_d , OP_BYTE , "LD D,SET 0,(IX+0%02Xh)", NULL },
  979. { LD_E_SET_0_off_IX_d , OP_BYTE , "LD E,SET 0,(IX+0%02Xh)", NULL },
  980. { LD_H_SET_0_off_IX_d , OP_BYTE , "LD H,SET 0,(IX+0%02Xh)", NULL },
  981. { LD_L_SET_0_off_IX_d , OP_BYTE , "LD L,SET 0,(IX+0%02Xh)", NULL },
  982. { SET_0_off_IX_d , OP_BYTE , "SET 0,(IX+0%02Xh)" , NULL },
  983. { LD_A_SET_0_off_IX_d , OP_BYTE , "LD A,SET 0,(IX+0%02Xh)", NULL },
  984. { LD_B_SET_1_off_IX_d , OP_BYTE , "LD B,SET 1,(IX+0%02Xh)", NULL },
  985. { LD_C_SET_1_off_IX_d , OP_BYTE , "LD C,SET 1,(IX+0%02Xh)", NULL },
  986. { LD_D_SET_1_off_IX_d , OP_BYTE , "LD D,SET 1,(IX+0%02Xh)", NULL },
  987. { LD_E_SET_1_off_IX_d , OP_BYTE , "LD E,SET 1,(IX+0%02Xh)", NULL },
  988. { LD_H_SET_1_off_IX_d , OP_BYTE , "LD H,SET 1,(IX+0%02Xh)", NULL },
  989. { LD_L_SET_1_off_IX_d , OP_BYTE , "LD L,SET 1,(IX+0%02Xh)", NULL },
  990. { SET_1_off_IX_d , OP_BYTE , "SET 1,(IX+0%02Xh)" , NULL },
  991. { LD_A_SET_1_off_IX_d , OP_BYTE , "LD A,SET 1,(IX+0%02Xh)", NULL },
  992. { LD_B_SET_2_off_IX_d , OP_BYTE , "LD B,SET 2,(IX+0%02Xh)", NULL },
  993. { LD_C_SET_2_off_IX_d , OP_BYTE , "LD C,SET 2,(IX+0%02Xh)", NULL },
  994. { LD_D_SET_2_off_IX_d , OP_BYTE , "LD D,SET 2,(IX+0%02Xh)", NULL },
  995. { LD_E_SET_2_off_IX_d , OP_BYTE , "LD E,SET 2,(IX+0%02Xh)", NULL },
  996. { LD_H_SET_2_off_IX_d , OP_BYTE , "LD H,SET 2,(IX+0%02Xh)", NULL },
  997. { LD_L_SET_2_off_IX_d , OP_BYTE , "LD L,SET 2,(IX+0%02Xh)", NULL },
  998. { SET_2_off_IX_d , OP_BYTE , "SET 2,(IX+0%02Xh)" , NULL },
  999. { LD_A_SET_2_off_IX_d , OP_BYTE , "LD A,SET 2,(IX+0%02Xh)", NULL },
  1000. { LD_B_SET_3_off_IX_d , OP_BYTE , "LD B,SET 3,(IX+0%02Xh)", NULL },
  1001. { LD_C_SET_3_off_IX_d , OP_BYTE , "LD C,SET 3,(IX+0%02Xh)", NULL },
  1002. { LD_D_SET_3_off_IX_d , OP_BYTE , "LD D,SET 3,(IX+0%02Xh)", NULL },
  1003. { LD_E_SET_3_off_IX_d , OP_BYTE , "LD E,SET 3,(IX+0%02Xh)", NULL },
  1004. { LD_H_SET_3_off_IX_d , OP_BYTE , "LD H,SET 3,(IX+0%02Xh)", NULL },
  1005. { LD_L_SET_3_off_IX_d , OP_BYTE , "LD L,SET 3,(IX+0%02Xh)", NULL },
  1006. { SET_3_off_IX_d , OP_BYTE , "SET 3,(IX+0%02Xh)" , NULL },
  1007. { LD_A_SET_3_off_IX_d , OP_BYTE , "LD A,SET 3,(IX+0%02Xh)", NULL },
  1008. { LD_B_SET_4_off_IX_d , OP_BYTE , "LD B,SET 4,(IX+0%02Xh)", NULL },
  1009. { LD_C_SET_4_off_IX_d , OP_BYTE , "LD C,SET 4,(IX+0%02Xh)", NULL },
  1010. { LD_D_SET_4_off_IX_d , OP_BYTE , "LD D,SET 4,(IX+0%02Xh)", NULL },
  1011. { LD_E_SET_4_off_IX_d , OP_BYTE , "LD E,SET 4,(IX+0%02Xh)", NULL },
  1012. { LD_H_SET_4_off_IX_d , OP_BYTE , "LD H,SET 4,(IX+0%02Xh)", NULL },
  1013. { LD_L_SET_4_off_IX_d , OP_BYTE , "LD L,SET 4,(IX+0%02Xh)", NULL },
  1014. { SET_4_off_IX_d , OP_BYTE , "SET 4,(IX+0%02Xh)" , NULL },
  1015. { LD_A_SET_4_off_IX_d , OP_BYTE , "LD A,SET 4,(IX+0%02Xh)", NULL },
  1016. { LD_B_SET_5_off_IX_d , OP_BYTE , "LD B,SET 5,(IX+0%02Xh)", NULL },
  1017. { LD_C_SET_5_off_IX_d , OP_BYTE , "LD C,SET 5,(IX+0%02Xh)", NULL },
  1018. { LD_D_SET_5_off_IX_d , OP_BYTE , "LD D,SET 5,(IX+0%02Xh)", NULL },
  1019. { LD_E_SET_5_off_IX_d , OP_BYTE , "LD E,SET 5,(IX+0%02Xh)", NULL },
  1020. { LD_H_SET_5_off_IX_d , OP_BYTE , "LD H,SET 5,(IX+0%02Xh)", NULL },
  1021. { LD_L_SET_5_off_IX_d , OP_BYTE , "LD L,SET 5,(IX+0%02Xh)", NULL },
  1022. { SET_5_off_IX_d , OP_BYTE , "SET 5,(IX+0%02Xh)" , NULL },
  1023. { LD_A_SET_5_off_IX_d , OP_BYTE , "LD A,SET 5,(IX+0%02Xh)", NULL },
  1024. { LD_B_SET_6_off_IX_d , OP_BYTE , "LD B,SET 6,(IX+0%02Xh)", NULL },
  1025. { LD_C_SET_6_off_IX_d , OP_BYTE , "LD C,SET 6,(IX+0%02Xh)", NULL },
  1026. { LD_D_SET_6_off_IX_d , OP_BYTE , "LD D,SET 6,(IX+0%02Xh)", NULL },
  1027. { LD_E_SET_6_off_IX_d , OP_BYTE , "LD E,SET 6,(IX+0%02Xh)", NULL },
  1028. { LD_H_SET_6_off_IX_d , OP_BYTE , "LD H,SET 6,(IX+0%02Xh)", NULL },
  1029. { LD_L_SET_6_off_IX_d , OP_BYTE , "LD L,SET 6,(IX+0%02Xh)", NULL },
  1030. { SET_6_off_IX_d , OP_BYTE , "SET 6,(IX+0%02Xh)" , NULL },
  1031. { LD_A_SET_6_off_IX_d , OP_BYTE , "LD A,SET 6,(IX+0%02Xh)", NULL },
  1032. { LD_B_SET_7_off_IX_d , OP_BYTE , "LD B,SET 7,(IX+0%02Xh)", NULL },
  1033. { LD_C_SET_7_off_IX_d , OP_BYTE , "LD C,SET 7,(IX+0%02Xh)", NULL },
  1034. { LD_D_SET_7_off_IX_d , OP_BYTE , "LD D,SET 7,(IX+0%02Xh)", NULL },
  1035. { LD_E_SET_7_off_IX_d , OP_BYTE , "LD E,SET 7,(IX+0%02Xh)", NULL },
  1036. { LD_H_SET_7_off_IX_d , OP_BYTE , "LD H,SET 7,(IX+0%02Xh)", NULL },
  1037. { LD_L_SET_7_off_IX_d , OP_BYTE , "LD L,SET 7,(IX+0%02Xh)", NULL },
  1038. { SET_7_off_IX_d , OP_BYTE , "SET 7,(IX+0%02Xh)" , NULL },
  1039. { LD_A_SET_7_off_IX_d , OP_BYTE , "LD A,SET 7,(IX+0%02Xh)", NULL }
  1040. } };
  1041. static struct Z80OpcodeTable opcodes_ED = { 0, {
  1042. { NULL , OP_NONE , NULL , NULL },
  1043. { NULL , OP_NONE , NULL , NULL },
  1044. { NULL , OP_NONE , NULL , NULL },
  1045. { NULL , OP_NONE , NULL , NULL },
  1046. { NULL , OP_NONE , NULL , NULL },
  1047. { NULL , OP_NONE , NULL , NULL },
  1048. { NULL , OP_NONE , NULL , NULL },
  1049. { NULL , OP_NONE , NULL , NULL },
  1050. { NULL , OP_NONE , NULL , NULL },
  1051. { NULL , OP_NONE , NULL , NULL },
  1052. { NULL , OP_NONE , NULL , NULL },
  1053. { NULL , OP_NONE , NULL , NULL },
  1054. { NULL , OP_NONE , NULL , NULL },
  1055. { NULL , OP_NONE , NULL , NULL },
  1056. { NULL , OP_NONE , NULL , NULL },
  1057. { NULL , OP_NONE , NULL , NULL },
  1058. { NULL , OP_NONE , NULL , NULL },
  1059. { NULL , OP_NONE , NULL , NULL },
  1060. { NULL , OP_NONE , NULL , NULL },
  1061. { NULL , OP_NONE , NULL , NULL },
  1062. { NULL , OP_NONE , NULL , NULL },
  1063. { NULL , OP_NONE , NULL , NULL },
  1064. { NULL , OP_NONE , NULL , NULL },
  1065. { NULL , OP_NONE , NULL , NULL },
  1066. { NULL , OP_NONE , NULL , NULL },
  1067. { NULL , OP_NONE , NULL , NULL },
  1068. { NULL , OP_NONE , NULL , NULL },
  1069. { NULL , OP_NONE , NULL , NULL },
  1070. { NULL , OP_NONE , NULL , NULL },
  1071. { NULL , OP_NONE , NULL , NULL },
  1072. { NULL , OP_NONE , NULL , NULL },
  1073. { NULL , OP_NONE , NULL , NULL },
  1074. { NULL , OP_NONE , NULL , NULL },
  1075. { NULL , OP_NONE , NULL , NULL },
  1076. { NULL , OP_NONE , NULL , NULL },
  1077. { NULL , OP_NONE , NULL , NULL },
  1078. { NULL , OP_NONE , NULL , NULL },
  1079. { NULL , OP_NONE , NULL , NULL },
  1080. { NULL , OP_NONE , NULL , NULL },
  1081. { NULL , OP_NONE , NULL , NULL },
  1082. { NULL , OP_NONE , NULL , NULL },
  1083. { NULL , OP_NONE , NULL , NULL },
  1084. { NULL , OP_NONE , NULL , NULL },
  1085. { NULL , OP_NONE , NULL , NULL },
  1086. { NULL , OP_NONE , NULL , NULL },
  1087. { NULL , OP_NONE , NULL , NULL },
  1088. { NULL , OP_NONE , NULL , NULL },
  1089. { NULL , OP_NONE , NULL , NULL },
  1090. { NULL , OP_NONE , NULL , NULL },
  1091. { NULL , OP_NONE , NULL , NULL },
  1092. { NULL , OP_NONE , NULL , NULL },
  1093. { NULL , OP_NONE , NULL , NULL },
  1094. { NULL , OP_NONE , NULL , NULL },
  1095. { NULL , OP_NONE , NULL , NULL },
  1096. { NULL , OP_NONE , NULL , NULL },
  1097. { NULL , OP_NONE , NULL , NULL },
  1098. { NULL , OP_NONE , NULL , NULL },
  1099. { NULL , OP_NONE , NULL , NULL },
  1100. { NULL , OP_NONE , NULL , NULL },
  1101. { NULL , OP_NONE , NULL , NULL },
  1102. { NULL , OP_NONE , NULL , NULL },
  1103. { NULL , OP_NONE , NULL , NULL },
  1104. { NULL , OP_NONE , NULL , NULL },
  1105. { NULL , OP_NONE , NULL , NULL },
  1106. { IN_B_off_C , OP_NONE , "IN B,(C)" , NULL },
  1107. { OUT_off_C_B , OP_NONE , "OUT (C),B" , NULL },
  1108. { SBC_HL_BC , OP_NONE , "SBC HL,BC" , NULL },
  1109. { LD_off_nn_BC , OP_WORD , "LD (0%04Xh),BC" , NULL },
  1110. { NEG , OP_NONE , "NEG" , NULL },
  1111. { RETN , OP_NONE , "RETN" , NULL },
  1112. { IM_0 , OP_NONE , "IM 0" , NULL },
  1113. { LD_I_A , OP_NONE , "LD I,A" , NULL },
  1114. { IN_C_off_C , OP_NONE , "IN C,(C)" , NULL },
  1115. { OUT_off_C_C , OP_NONE , "OUT (C),C" , NULL },
  1116. { ADC_HL_BC , OP_NONE , "ADC HL,BC" , NULL },
  1117. { LD_BC_off_nn , OP_WORD , "LD BC,(0%04Xh)" , NULL },
  1118. { NEG , OP_NONE , "NEG" , NULL },
  1119. { RETI , OP_NONE , "RETI" , NULL },
  1120. { IM_0 , OP_NONE , "IM 0" , NULL },
  1121. { LD_R_A , OP_NONE , "LD R,A" , NULL },
  1122. { IN_D_off_C , OP_NONE , "IN D,(C)" , NULL },
  1123. { OUT_off_C_D , OP_NONE , "OUT (C),D" , NULL },
  1124. { SBC_HL_DE , OP_NONE , "SBC HL,DE" , NULL },
  1125. { LD_off_nn_DE , OP_WORD , "LD (0%04Xh),DE" , NULL },
  1126. { NEG , OP_NONE , "NEG" , NULL },
  1127. { RETN , OP_NONE , "RETN" , NULL },
  1128. { IM_1 , OP_NONE , "IM 1" , NULL },
  1129. { LD_A_I , OP_NONE , "LD A,I" , NULL },
  1130. { IN_E_off_C , OP_NONE , "IN E,(C)" , NULL },
  1131. { OUT_off_C_E , OP_NONE , "OUT (C),E" , NULL },
  1132. { ADC_HL_DE , OP_NONE , "ADC HL,DE" , NULL },
  1133. { LD_DE_off_nn , OP_WORD , "LD DE,(0%04Xh)" , NULL },
  1134. { NEG , OP_NONE , "NEG" , NULL },
  1135. { RETN , OP_NONE , "RETN" , NULL },
  1136. { IM_2 , OP_NONE , "IM 2" , NULL },
  1137. { LD_A_R , OP_NONE , "LD A,R" , NULL },
  1138. { IN_H_off_C , OP_NONE , "IN H,(C)" , NULL },
  1139. { OUT_off_C_H , OP_NONE , "OUT (C),H" , NULL },
  1140. { SBC_HL_HL , OP_NONE , "SBC HL,HL" , NULL },
  1141. { LD_off_nn_HL , OP_WORD , "LD (0%04Xh),HL" , NULL },
  1142. { NEG , OP_NONE , "NEG" , NULL },
  1143. { RETN , OP_NONE , "RETN" , NULL },
  1144. { IM_0 , OP_NONE , "IM 0" , NULL },
  1145. { RRD , OP_NONE , "RRD" , NULL },
  1146. { IN_L_off_C , OP_NONE , "IN L,(C)" , NULL },
  1147. { OUT_off_C_L , OP_NONE , "OUT (C),L" , NULL },
  1148. { ADC_HL_HL , OP_NONE , "ADC HL,HL" , NULL },
  1149. { LD_HL_off_nn , OP_WORD , "LD HL,(0%04Xh)" , NULL },
  1150. { NEG , OP_NONE , "NEG" , NULL },
  1151. { RETN , OP_NONE , "RETN" , NULL },
  1152. { IM_0 , OP_NONE , "IM 0" , NULL },
  1153. { RLD , OP_NONE , "RLD" , NULL },
  1154. { IN_F_off_C , OP_NONE , "IN F,(C)" , NULL },
  1155. { OUT_off_C_0 , OP_NONE , "OUT (C),0" , NULL },
  1156. { SBC_HL_SP , OP_NONE , "SBC HL,SP" , NULL },
  1157. { LD_off_nn_SP , OP_WORD , "LD (0%04Xh),SP" , NULL },
  1158. { NEG , OP_NONE , "NEG" , NULL },
  1159. { RETN , OP_NONE , "RETN" , NULL },
  1160. { IM_1 , OP_NONE , "IM 1" , NULL },
  1161. { NULL , OP_NONE , NULL , NULL },
  1162. { IN_A_off_C , OP_NONE , "IN A,(C)" , NULL },
  1163. { OUT_off_C_A , OP_NONE , "OUT (C),A" , NULL },
  1164. { ADC_HL_SP , OP_NONE , "ADC HL,SP" , NULL },
  1165. { LD_SP_off_nn , OP_WORD , "LD SP,(0%04Xh)" , NULL },
  1166. { NEG , OP_NONE , "NEG" , NULL },
  1167. { RETN , OP_NONE , "RETN" , NULL },
  1168. { IM_2 , OP_NONE , "IM 2" , NULL },
  1169. { NULL , OP_NONE , NULL , NULL },
  1170. { NULL , OP_NONE , NULL , NULL },
  1171. { NULL , OP_NONE , NULL , NULL },
  1172. { NULL , OP_NONE , NULL , NULL },
  1173. { NULL , OP_NONE , NULL , NULL },
  1174. { NULL , OP_NONE , NULL , NULL },
  1175. { NULL , OP_NONE , NULL , NULL },
  1176. { NULL , OP_NONE , NULL , NULL },
  1177. { NULL , OP_NONE , NULL , NULL },
  1178. { NULL , OP_NONE , NULL , NULL },
  1179. { NULL , OP_NONE , NULL , NULL },
  1180. { NULL , OP_NONE , NULL , NULL },
  1181. { NULL , OP_NONE , NULL , NULL },
  1182. { NULL , OP_NONE , NULL , NULL },
  1183. { NULL , OP_NONE , NULL , NULL },
  1184. { NULL , OP_NONE , NULL , NULL },
  1185. { NULL , OP_NONE , NULL , NULL },
  1186. { NULL , OP_NONE , NULL , NULL },
  1187. { NULL , OP_NONE , NULL , NULL },
  1188. { NULL , OP_NONE , NULL , NULL },
  1189. { NULL , OP_NONE , NULL , NULL },
  1190. { NULL , OP_NONE , NULL , NULL },
  1191. { NULL , OP_NONE , NULL , NULL },
  1192. { NULL , OP_NONE , NULL , NULL },
  1193. { NULL , OP_NONE , NULL , NULL },
  1194. { NULL , OP_NONE , NULL , NULL },
  1195. { NULL , OP_NONE , NULL , NULL },
  1196. { NULL , OP_NONE , NULL , NULL },
  1197. { NULL , OP_NONE , NULL , NULL },
  1198. { NULL , OP_NONE , NULL , NULL },
  1199. { NULL , OP_NONE , NULL , NULL },
  1200. { NULL , OP_NONE , NULL , NULL },
  1201. { NULL , OP_NONE , NULL , NULL },
  1202. { LDI , OP_NONE , "LDI" , NULL },
  1203. { CPI , OP_NONE , "CPI" , NULL },
  1204. { INI , OP_NONE , "INI" , NULL },
  1205. { OUTI , OP_NONE , "OUTI" , NULL },
  1206. { NULL , OP_NONE , NULL , NULL },
  1207. { NULL , OP_NONE , NULL , NULL },
  1208. { NULL , OP_NONE , NULL , NULL },
  1209. { NULL , OP_NONE , NULL , NULL },
  1210. { LDD , OP_NONE , "LDD" , NULL },
  1211. { CPD , OP_NONE , "CPD" , NULL },
  1212. { IND , OP_NONE , "IND" , NULL },
  1213. { OUTD , OP_NONE , "OUTD" , NULL },
  1214. { NULL , OP_NONE , NULL , NULL },
  1215. { NULL , OP_NONE , NULL , NULL },
  1216. { NULL , OP_NONE , NULL , NULL },
  1217. { NULL , OP_NONE , NULL , NULL },
  1218. { LDIR , OP_NONE , "LDIR" , NULL },
  1219. { CPIR , OP_NONE , "CPIR" , NULL },
  1220. { INIR , OP_NONE , "INIR" , NULL },
  1221. { OTIR , OP_NONE , "OTIR" , NULL },
  1222. { NULL , OP_NONE , NULL , NULL },
  1223. { NULL , OP_NONE , NULL , NULL },
  1224. { NULL , OP_NONE , NULL , NULL },
  1225. { NULL , OP_NONE , NULL , NULL },
  1226. { LDDR , OP_NONE , "LDDR" , NULL },
  1227. { CPDR , OP_NONE , "CPDR" , NULL },
  1228. { INDR , OP_NONE , "INDR" , NULL },
  1229. { OTDR , OP_NONE , "OTDR" , NULL },
  1230. { NULL , OP_NONE , NULL , NULL },
  1231. { NULL , OP_NONE , NULL , NULL },
  1232. { NULL , OP_NONE , NULL , NULL },
  1233. { NULL , OP_NONE , NULL , NULL },
  1234. { NULL , OP_NONE , NULL , NULL },
  1235. { NULL , OP_NONE , NULL , NULL },
  1236. { NULL , OP_NONE , NULL , NULL },
  1237. { NULL , OP_NONE , NULL , NULL },
  1238. { NULL , OP_NONE , NULL , NULL },
  1239. { NULL , OP_NONE , NULL , NULL },
  1240. { NULL , OP_NONE , NULL , NULL },
  1241. { NULL , OP_NONE , NULL , NULL },
  1242. { NULL , OP_NONE , NULL , NULL },
  1243. { NULL , OP_NONE , NULL , NULL },
  1244. { NULL , OP_NONE , NULL , NULL },
  1245. { NULL , OP_NONE , NULL , NULL },
  1246. { NULL , OP_NONE , NULL , NULL },
  1247. { NULL , OP_NONE , NULL , NULL },
  1248. { NULL , OP_NONE , NULL , NULL },
  1249. { NULL , OP_NONE , NULL , NULL },
  1250. { NULL , OP_NONE , NULL , NULL },
  1251. { NULL , OP_NONE , NULL , NULL },
  1252. { NULL , OP_NONE , NULL , NULL },
  1253. { NULL , OP_NONE , NULL , NULL },
  1254. { NULL , OP_NONE , NULL , NULL },
  1255. { NULL , OP_NONE , NULL , NULL },
  1256. { NULL , OP_NONE , NULL , NULL },
  1257. { NULL , OP_NONE , NULL , NULL },
  1258. { NULL , OP_NONE , NULL , NULL },
  1259. { NULL , OP_NONE , NULL , NULL },
  1260. { NULL , OP_NONE , NULL , NULL },
  1261. { NULL , OP_NONE , NULL , NULL },
  1262. { NULL , OP_NONE , NULL , NULL },
  1263. { NULL , OP_NONE , NULL , NULL },
  1264. { NULL , OP_NONE , NULL , NULL },
  1265. { NULL , OP_NONE , NULL , NULL },
  1266. { NULL , OP_NONE , NULL , NULL },
  1267. { NULL , OP_NONE , NULL , NULL },
  1268. { NULL , OP_NONE , NULL , NULL },
  1269. { NULL , OP_NONE , NULL , NULL },
  1270. { NULL , OP_NONE , NULL , NULL },
  1271. { NULL , OP_NONE , NULL , NULL },
  1272. { NULL , OP_NONE , NULL , NULL },
  1273. { NULL , OP_NONE , NULL , NULL },
  1274. { NULL , OP_NONE , NULL , NULL },
  1275. { NULL , OP_NONE , NULL , NULL },
  1276. { NULL , OP_NONE , NULL , NULL },
  1277. { NULL , OP_NONE , NULL , NULL },
  1278. { NULL , OP_NONE , NULL , NULL },
  1279. { NULL , OP_NONE , NULL , NULL },
  1280. { NULL , OP_NONE , NULL , NULL },
  1281. { NULL , OP_NONE , NULL , NULL },
  1282. { NULL , OP_NONE , NULL , NULL },
  1283. { NULL , OP_NONE , NULL , NULL },
  1284. { NULL , OP_NONE , NULL , NULL },
  1285. { NULL , OP_NONE , NULL , NULL },
  1286. { NULL , OP_NONE , NULL , NULL },
  1287. { NULL , OP_NONE , NULL , NULL },
  1288. { NULL , OP_NONE , NULL , NULL },
  1289. { NULL , OP_NONE , NULL , NULL },
  1290. { NULL , OP_NONE , NULL , NULL },
  1291. { NULL , OP_NONE , NULL , NULL },
  1292. { NULL , OP_NONE , NULL , NULL },
  1293. { NULL , OP_NONE , NULL , NULL },
  1294. { NULL , OP_NONE , NULL , NULL },
  1295. { NULL , OP_NONE , NULL , NULL },
  1296. { NULL , OP_NONE , NULL , NULL },
  1297. { NULL , OP_NONE , NULL , NULL }
  1298. } };
  1299. static struct Z80OpcodeTable opcodes_FD = { 0, {
  1300. { NULL , OP_NONE , NULL , NULL },
  1301. { NULL , OP_NONE , NULL , NULL },
  1302. { NULL , OP_NONE , NULL , NULL },
  1303. { NULL , OP_NONE , NULL , NULL },
  1304. { NULL , OP_NONE , NULL , NULL },
  1305. { NULL , OP_NONE , NULL , NULL },
  1306. { NULL , OP_NONE , NULL , NULL },
  1307. { NULL , OP_NONE , NULL , NULL },
  1308. { NULL , OP_NONE , NULL , NULL },
  1309. { ADD_IY_BC , OP_NONE , "ADD IY,BC" , NULL },
  1310. { NULL , OP_NONE , NULL , NULL },
  1311. { NULL , OP_NONE , NULL , NULL },
  1312. { NULL , OP_NONE , NULL , NULL },
  1313. { NULL , OP_NONE , NULL , NULL },
  1314. { NULL , OP_NONE , NULL , NULL },
  1315. { NULL , OP_NONE , NULL , NULL },
  1316. { NULL , OP_NONE , NULL , NULL },
  1317. { NULL , OP_NONE , NULL , NULL },
  1318. { NULL , OP_NONE , NULL , NULL },
  1319. { NULL , OP_NONE , NULL , NULL },
  1320. { NULL , OP_NONE , NULL , NULL },
  1321. { NULL , OP_NONE , NULL , NULL },
  1322. { NULL , OP_NONE , NULL , NULL },
  1323. { NULL , OP_NONE , NULL , NULL },
  1324. { NULL , OP_NONE , NULL , NULL },
  1325. { ADD_IY_DE , OP_NONE , "ADD IY,DE" , NULL },
  1326. { NULL , OP_NONE , NULL , NULL },
  1327. { NULL , OP_NONE , NULL , NULL },
  1328. { NULL , OP_NONE , NULL , NULL },
  1329. { NULL , OP_NONE , NULL , NULL },
  1330. { NULL , OP_NONE , NULL , NULL },
  1331. { NULL , OP_NONE , NULL , NULL },
  1332. { NULL , OP_NONE , NULL , NULL },
  1333. { LD_IY_nn , OP_WORD , "LD IY,0%04Xh" , NULL },
  1334. { LD_off_nn_IY , OP_WORD , "LD (0%04Xh),IY" , NULL },
  1335. { INC_IY , OP_NONE , "INC IY" , NULL },
  1336. { INC_IYh , OP_NONE , "INC IYh" , NULL },
  1337. { DEC_IYh , OP_NONE , "DEC IYh" , NULL },
  1338. { LD_IYh_n , OP_BYTE , "LD IYh,0%02Xh" , NULL },
  1339. { NULL , OP_NONE , NULL , NULL },
  1340. { NULL , OP_NONE , NULL , NULL },
  1341. { ADD_IY_IY , OP_NONE , "ADD IY,IY" , NULL },
  1342. { LD_IY_off_nn , OP_WORD , "LD IY,(0%04Xh)" , NULL },
  1343. { DEC_IY , OP_NONE , "DEC IY" , NULL },
  1344. { INC_IYl , OP_NONE , "INC IYl" , NULL },
  1345. { DEC_IYl , OP_NONE , "DEC IYl" , NULL },
  1346. { LD_IYl_n , OP_BYTE , "LD IYl,0%02Xh" , NULL },
  1347. { NULL , OP_NONE , NULL , NULL },
  1348. { NULL , OP_NONE , NULL , NULL },
  1349. { NULL , OP_NONE , NULL , NULL },
  1350. { NULL , OP_NONE , NULL , NULL },
  1351. { NULL , OP_NONE , NULL , NULL },
  1352. { INC_off_IY_d , OP_BYTE , "INC (IY+0%02Xh)" , NULL },
  1353. { DEC_off_IY_d , OP_BYTE , "DEC (IY+0%02Xh)" , NULL },
  1354. { LD_off_IY_d_n , OP_BYTE , "LD (IY+0%02Xh),0%02Xh", NULL },
  1355. { NULL , OP_NONE , NULL , NULL },
  1356. { NULL , OP_NONE , NULL , NULL },
  1357. { ADD_IY_SP , OP_NONE , "ADD IY,SP" , NULL },
  1358. { NULL , OP_NONE , NULL , NULL },
  1359. { NULL , OP_NONE , NULL , NULL },
  1360. { NULL , OP_NONE , NULL , NULL },
  1361. { NULL , OP_NONE , NULL , NULL },
  1362. { NULL , OP_NONE , NULL , NULL },
  1363. { NULL , OP_NONE , NULL , NULL },
  1364. { NULL , OP_NONE , NULL , NULL },
  1365. { NULL , OP_NONE , NULL , NULL },
  1366. { NULL , OP_NONE , NULL , NULL },
  1367. { NULL , OP_NONE , NULL , NULL },
  1368. { LD_B_IYh , OP_NONE , "LD B,IYh" , NULL },
  1369. { LD_B_IYl , OP_NONE , "LD B,IYl" , NULL },
  1370. { LD_B_off_IY_d , OP_BYTE , "LD B,(IY+0%02Xh)" , NULL },
  1371. { NULL , OP_NONE , NULL , NULL },
  1372. { NULL , OP_NONE , NULL , NULL },
  1373. { NULL , OP_NONE , NULL , NULL },
  1374. { NULL , OP_NONE , NULL , NULL },
  1375. { NULL , OP_NONE , NULL , NULL },
  1376. { LD_C_IYh , OP_NONE , "LD C,IYh" , NULL },
  1377. { LD_C_IYl , OP_NONE , "LD C,IYl" , NULL },
  1378. { LD_C_off_IY_d , OP_BYTE , "LD C,(IY+0%02Xh)" , NULL },
  1379. { NULL , OP_NONE , NULL , NULL },
  1380. { NULL , OP_NONE , NULL , NULL },
  1381. { NULL , OP_NONE , NULL , NULL },
  1382. { NULL , OP_NONE , NULL , NULL },
  1383. { NULL , OP_NONE , NULL , NULL },
  1384. { LD_D_IYh , OP_NONE , "LD D,IYh" , NULL },
  1385. { LD_D_IYl , OP_NONE , "LD D,IYl" , NULL },
  1386. { LD_D_off_IY_d , OP_BYTE , "LD D,(IY+0%02Xh)" , NULL },
  1387. { NULL , OP_NONE , NULL , NULL },
  1388. { NULL , OP_NONE , NULL , NULL },
  1389. { NULL , OP_NONE , NULL , NULL },
  1390. { NULL , OP_NONE , NULL , NULL },
  1391. { NULL , OP_NONE , NULL , NULL },
  1392. { LD_E_IYh , OP_NONE , "LD E,IYh" , NULL },
  1393. { LD_E_IYl , OP_NONE , "LD E,IYl" , NULL },
  1394. { LD_E_off_IY_d , OP_BYTE , "LD E,(IY+0%02Xh)" , NULL },
  1395. { NULL , OP_NONE , NULL , NULL },
  1396. { LD_IYh_B , OP_NONE , "LD IYh,B" , NULL },
  1397. { LD_IYh_C , OP_NONE , "LD IYh,C" , NULL },
  1398. { LD_IYh_D , OP_NONE , "LD IYh,D" , NULL },
  1399. { LD_IYh_E , OP_NONE , "LD IYh,E" , NULL },
  1400. { LD_IYh_IYh , OP_NONE , "LD IYh,IYh" , NULL },
  1401. { LD_IYh_IYl , OP_NONE , "LD IYh,IYl" , NULL },
  1402. { LD_H_off_IY_d , OP_BYTE , "LD H,(IY+0%02Xh)" , NULL },
  1403. { LD_IYh_A , OP_NONE , "LD IYh,A" , NULL },
  1404. { LD_IYl_B , OP_NONE , "LD IYl,B" , NULL },
  1405. { LD_IYl_C , OP_NONE , "LD IYl,C" , NULL },
  1406. { LD_IYl_D , OP_NONE , "LD IYl,D" , NULL },
  1407. { LD_IYl_E , OP_NONE , "LD IYl,E" , NULL },
  1408. { LD_IYl_IYh , OP_NONE , "LD IYl,IYh" , NULL },
  1409. { LD_IYl_IYl , OP_NONE , "LD IYl,IYl" , NULL },
  1410. { LD_L_off_IY_d , OP_BYTE , "LD L,(IY+0%02Xh)" , NULL },
  1411. { LD_IYl_A , OP_NONE , "LD IYl,A" , NULL },
  1412. { LD_off_IY_d_B , OP_BYTE , "LD (IY+0%02Xh),B" , NULL },
  1413. { LD_off_IY_d_C , OP_BYTE , "LD (IY+0%02Xh),C" , NULL },
  1414. { LD_off_IY_d_D , OP_BYTE , "LD (IY+0%02Xh),D" , NULL },
  1415. { LD_off_IY_d_E , OP_BYTE , "LD (IY+0%02Xh),E" , NULL },
  1416. { LD_off_IY_d_H , OP_BYTE , "LD (IY+0%02Xh),H" , NULL },
  1417. { LD_off_IY_d_L , OP_BYTE , "LD (IY+0%02Xh),L" , NULL },
  1418. { NULL , OP_NONE , NULL , NULL },
  1419. { LD_off_IY_d_A , OP_BYTE , "LD (IY+0%02Xh),A" , NULL },
  1420. { NULL , OP_NONE , NULL , NULL },
  1421. { NULL , OP_NONE , NULL , NULL },
  1422. { NULL , OP_NONE , NULL , NULL },
  1423. { NULL , OP_NONE , NULL , NULL },
  1424. { LD_A_IYh , OP_NONE , "LD A,IYh" , NULL },
  1425. { LD_A_IYl , OP_NONE , "LD A,IYl" , NULL },
  1426. { LD_A_off_IY_d , OP_BYTE , "LD A,(IY+0%02Xh)" , NULL },
  1427. { NULL , OP_NONE , NULL , NULL },
  1428. { NULL , OP_NONE , NULL , NULL },
  1429. { NULL , OP_NONE , NULL , NULL },
  1430. { NULL , OP_NONE , NULL , NULL },
  1431. { NULL , OP_NONE , NULL , NULL },
  1432. { ADD_A_IYh , OP_NONE , "ADD A,IYh" , NULL },
  1433. { ADD_A_IYl , OP_NONE , "ADD A,IYl" , NULL },
  1434. { ADD_A_off_IY_d , OP_BYTE , "ADD A,(IY+0%02Xh)" , NULL },
  1435. { NULL , OP_NONE , NULL , NULL },
  1436. { NULL , OP_NONE , NULL , NULL },
  1437. { NULL , OP_NONE , NULL , NULL },
  1438. { NULL , OP_NONE , NULL , NULL },
  1439. { NULL , OP_NONE , NULL , NULL },
  1440. { ADC_A_IYh , OP_NONE , "ADC A,IYh" , NULL },
  1441. { ADC_A_IYl , OP_NONE , "ADC A,IYl" , NULL },
  1442. { ADC_A_off_IY_d , OP_BYTE , "ADC A,(IY+0%02Xh)" , NULL },
  1443. { NULL , OP_NONE , NULL , NULL },
  1444. { NULL , OP_NONE , NULL , NULL },
  1445. { NULL , OP_NONE , NULL , NULL },
  1446. { NULL , OP_NONE , NULL , NULL },
  1447. { NULL , OP_NONE , NULL , NULL },
  1448. { SUB_A_IYh , OP_NONE , "SUB A,IYh" , NULL },
  1449. { SUB_A_IYl , OP_NONE , "SUB A,IYl" , NULL },
  1450. { SUB_A_off_IY_d , OP_BYTE , "SUB A,(IY+0%02Xh)" , NULL },
  1451. { NULL , OP_NONE , NULL , NULL },
  1452. { NULL , OP_NONE , NULL , NULL },
  1453. { NULL , OP_NONE , NULL , NULL },
  1454. { NULL , OP_NONE , NULL , NULL },
  1455. { NULL , OP_NONE , NULL , NULL },
  1456. { SBC_A_IYh , OP_NONE , "SBC A,IYh" , NULL },
  1457. { SBC_A_IYl , OP_NONE , "SBC A,IYl" , NULL },
  1458. { SBC_A_off_IY_d , OP_BYTE , "SBC A,(IY+0%02Xh)" , NULL },
  1459. { NULL , OP_NONE , NULL , NULL },
  1460. { NULL , OP_NONE , NULL , NULL },
  1461. { NULL , OP_NONE , NULL , NULL },
  1462. { NULL , OP_NONE , NULL , NULL },
  1463. { NULL , OP_NONE , NULL , NULL },
  1464. { AND_IYh , OP_NONE , "AND IYh" , NULL },
  1465. { AND_IYl , OP_NONE , "AND IYl" , NULL },
  1466. { AND_off_IY_d , OP_BYTE , "AND (IY+0%02Xh)" , NULL },
  1467. { NULL , OP_NONE , NULL , NULL },
  1468. { NULL , OP_NONE , NULL , NULL },
  1469. { NULL , OP_NONE , NULL , NULL },
  1470. { NULL , OP_NONE , NULL , NULL },
  1471. { NULL , OP_NONE , NULL , NULL },
  1472. { XOR_IYh , OP_NONE , "XOR IYh" , NULL },
  1473. { XOR_IYl , OP_NONE , "XOR IYl" , NULL },
  1474. { XOR_off_IY_d , OP_BYTE , "XOR (IY+0%02Xh)" , NULL },
  1475. { NULL , OP_NONE , NULL , NULL },
  1476. { NULL , OP_NONE , NULL , NULL },
  1477. { NULL , OP_NONE , NULL , NULL },
  1478. { NULL , OP_NONE , NULL , NULL },
  1479. { NULL , OP_NONE , NULL , NULL },
  1480. { OR_IYh , OP_NONE , "OR IYh" , NULL },
  1481. { OR_IYl , OP_NONE , "OR IYl" , NULL },
  1482. { OR_off_IY_d , OP_BYTE , "OR (IY+0%02Xh)" , NULL },
  1483. { NULL , OP_NONE , NULL , NULL },
  1484. { NULL , OP_NONE , NULL , NULL },
  1485. { NULL , OP_NONE , NULL , NULL },
  1486. { NULL , OP_NONE , NULL , NULL },
  1487. { NULL , OP_NONE , NULL , NULL },
  1488. { CP_IYh , OP_NONE , "CP IYh" , NULL },
  1489. { CP_IYl , OP_NONE , "CP IYl" , NULL },
  1490. { CP_off_IY_d , OP_BYTE , "CP (IY+0%02Xh)" , NULL },
  1491. { NULL , OP_NONE , NULL , NULL },
  1492. { NULL , OP_NONE , NULL , NULL },
  1493. { NULL , OP_NONE , NULL , NULL },
  1494. { NULL , OP_NONE , NULL , NULL },
  1495. { NULL , OP_NONE , NULL , NULL },
  1496. { NULL , OP_NONE , NULL , NULL },
  1497. { NULL , OP_NONE , NULL , NULL },
  1498. { NULL , OP_NONE , NULL , NULL },
  1499. { NULL , OP_NONE , NULL , NULL },
  1500. { NULL , OP_NONE , NULL , NULL },
  1501. { NULL , OP_NONE , NULL , NULL },
  1502. { NULL , OP_NONE , NULL , NULL },
  1503. { NULL , OP_NONE , NULL , &opcodes_FDCB },
  1504. { NULL , OP_NONE , NULL , NULL },
  1505. { NULL , OP_NONE , NULL , NULL },
  1506. { NULL , OP_NONE , NULL , NULL },
  1507. { NULL , OP_NONE , NULL , NULL },
  1508. { NULL , OP_NONE , NULL , NULL },
  1509. { NULL , OP_NONE , NULL , NULL },
  1510. { NULL , OP_NONE , NULL , NULL },
  1511. { NULL , OP_NONE , NULL , NULL },
  1512. { NULL , OP_NONE , NULL , NULL },
  1513. { NULL , OP_NONE , NULL , NULL },
  1514. { NULL , OP_NONE , NULL , NULL },
  1515. { NULL , OP_NONE , NULL , NULL },
  1516. { NULL , OP_NONE , NULL , NULL },
  1517. { NULL , OP_NONE , NULL , NULL },
  1518. { NULL , OP_NONE , NULL , NULL },
  1519. { NULL , OP_NONE , NULL , NULL },
  1520. { NULL , OP_NONE , NULL , NULL },
  1521. { NULL , OP_NONE , NULL , NULL },
  1522. { NULL , OP_NONE , NULL , NULL },
  1523. { NULL , OP_NONE , NULL , NULL },
  1524. { NULL , OP_NONE , NULL , NULL },
  1525. { POP_IY , OP_NONE , "POP IY" , NULL },
  1526. { NULL , OP_NONE , NULL , NULL },
  1527. { EX_off_SP_IY , OP_NONE , "EX (SP),IY" , NULL },
  1528. { NULL , OP_NONE , NULL , NULL },
  1529. { PUSH_IY , OP_NONE , "PUSH IY" , NULL },
  1530. { NULL , OP_NONE , NULL , NULL },
  1531. { NULL , OP_NONE , NULL , NULL },
  1532. { NULL , OP_NONE , NULL , NULL },
  1533. { JP_off_IY , OP_NONE , "JP (IY)" , NULL },
  1534. { NULL , OP_NONE , NULL , NULL },
  1535. { NULL , OP_NONE , NULL , NULL },
  1536. { NULL , OP_NONE , NULL , NULL },
  1537. { NULL , OP_NONE , NULL , NULL },
  1538. { NULL , OP_NONE , NULL , NULL },
  1539. { NULL , OP_NONE , NULL , NULL },
  1540. { NULL , OP_NONE , NULL , NULL },
  1541. { NULL , OP_NONE , NULL , NULL },
  1542. { NULL , OP_NONE , NULL , NULL },
  1543. { NULL , OP_NONE , NULL , NULL },
  1544. { NULL , OP_NONE , NULL , NULL },
  1545. { NULL , OP_NONE , NULL , NULL },
  1546. { NULL , OP_NONE , NULL , NULL },
  1547. { NULL , OP_NONE , NULL , NULL },
  1548. { NULL , OP_NONE , NULL , NULL },
  1549. { LD_SP_IY , OP_NONE , "LD SP,IY" , NULL },
  1550. { NULL , OP_NONE , NULL , NULL },
  1551. { NULL , OP_NONE , NULL , NULL },
  1552. { NULL , OP_NONE , NULL , NULL },
  1553. { NULL , OP_NONE , NULL , NULL },
  1554. { NULL , OP_NONE , NULL , NULL },
  1555. { NULL , OP_NONE , NULL , NULL }
  1556. } };
  1557. static struct Z80OpcodeTable opcodes_FDCB = { 1, {
  1558. { LD_B_RLC_off_IY_d , OP_BYTE , "LD B,RLC (IY+0%02Xh)", NULL },
  1559. { LD_C_RLC_off_IY_d , OP_BYTE , "LD C,RLC (IY+0%02Xh)", NULL },
  1560. { LD_D_RLC_off_IY_d , OP_BYTE , "LD D,RLC (IY+0%02Xh)", NULL },
  1561. { LD_E_RLC_off_IY_d , OP_BYTE , "LD E,RLC (IY+0%02Xh)", NULL },
  1562. { LD_H_RLC_off_IY_d , OP_BYTE , "LD H,RLC (IY+0%02Xh)", NULL },
  1563. { LD_L_RLC_off_IY_d , OP_BYTE , "LD L,RLC (IY+0%02Xh)", NULL },
  1564. { RLC_off_IY_d , OP_BYTE , "RLC (IY+0%02Xh)" , NULL },
  1565. { LD_A_RLC_off_IY_d , OP_BYTE , "LD A,RLC (IY+0%02Xh)", NULL },
  1566. { LD_B_RRC_off_IY_d , OP_BYTE , "LD B,RRC (IY+0%02Xh)", NULL },
  1567. { LD_C_RRC_off_IY_d , OP_BYTE , "LD C,RRC (IY+0%02Xh)", NULL },
  1568. { LD_D_RRC_off_IY_d , OP_BYTE , "LD D,RRC (IY+0%02Xh)", NULL },
  1569. { LD_E_RRC_off_IY_d , OP_BYTE , "LD E,RRC (IY+0%02Xh)", NULL },
  1570. { LD_H_RRC_off_IY_d , OP_BYTE , "LD H,RRC (IY+0%02Xh)", NULL },
  1571. { LD_L_RRC_off_IY_d , OP_BYTE , "LD L,RRC (IY+0%02Xh)", NULL },
  1572. { RRC_off_IY_d , OP_BYTE , "RRC (IY+0%02Xh)" , NULL },
  1573. { LD_A_RRC_off_IY_d , OP_BYTE , "LD A,RRC (IY+0%02Xh)", NULL },
  1574. { LD_B_RL_off_IY_d , OP_BYTE , "LD B,RL (IY+0%02Xh)", NULL },
  1575. { LD_C_RL_off_IY_d , OP_BYTE , "LD C,RL (IY+0%02Xh)", NULL },
  1576. { LD_D_RL_off_IY_d , OP_BYTE , "LD D,RL (IY+0%02Xh)", NULL },
  1577. { LD_E_RL_off_IY_d , OP_BYTE , "LD E,RL (IY+0%02Xh)", NULL },
  1578. { LD_H_RL_off_IY_d , OP_BYTE , "LD H,RL (IY+0%02Xh)", NULL },
  1579. { LD_L_RL_off_IY_d , OP_BYTE , "LD L,RL (IY+0%02Xh)", NULL },
  1580. { RL_off_IY_d , OP_BYTE , "RL (IY+0%02Xh)" , NULL },
  1581. { LD_A_RL_off_IY_d , OP_BYTE , "LD A,RL (IY+0%02Xh)", NULL },
  1582. { LD_B_RR_off_IY_d , OP_BYTE , "LD B,RR (IY+0%02Xh)", NULL },
  1583. { LD_C_RR_off_IY_d , OP_BYTE , "LD C,RR (IY+0%02Xh)", NULL },
  1584. { LD_D_RR_off_IY_d , OP_BYTE , "LD D,RR (IY+0%02Xh)", NULL },
  1585. { LD_E_RR_off_IY_d , OP_BYTE , "LD E,RR (IY+0%02Xh)", NULL },
  1586. { LD_H_RR_off_IY_d , OP_BYTE , "LD H,RR (IY+0%02Xh)", NULL },
  1587. { LD_L_RR_off_IY_d , OP_BYTE , "LD L,RR (IY+0%02Xh)", NULL },
  1588. { RR_off_IY_d , OP_BYTE , "RR (IY+0%02Xh)" , NULL },
  1589. { LD_A_RR_off_IY_d , OP_BYTE , "LD A,RR (IY+0%02Xh)", NULL },
  1590. { LD_B_SLA_off_IY_d , OP_BYTE , "LD B,SLA (IY+0%02Xh)", NULL },
  1591. { LD_C_SLA_off_IY_d , OP_BYTE , "LD C,SLA (IY+0%02Xh)", NULL },
  1592. { LD_D_SLA_off_IY_d , OP_BYTE , "LD D,SLA (IY+0%02Xh)", NULL },
  1593. { LD_E_SLA_off_IY_d , OP_BYTE , "LD E,SLA (IY+0%02Xh)", NULL },
  1594. { LD_H_SLA_off_IY_d , OP_BYTE , "LD H,SLA (IY+0%02Xh)", NULL },
  1595. { LD_L_SLA_off_IY_d , OP_BYTE , "LD L,SLA (IY+0%02Xh)", NULL },
  1596. { SLA_off_IY_d , OP_BYTE , "SLA (IY+0%02Xh)" , NULL },
  1597. { LD_A_SLA_off_IY_d , OP_BYTE , "LD A,SLA (IY+0%02Xh)", NULL },
  1598. { LD_B_SRA_off_IY_d , OP_BYTE , "LD B,SRA (IY+0%02Xh)", NULL },
  1599. { LD_C_SRA_off_IY_d , OP_BYTE , "LD C,SRA (IY+0%02Xh)", NULL },
  1600. { LD_D_SRA_off_IY_d , OP_BYTE , "LD D,SRA (IY+0%02Xh)", NULL },
  1601. { LD_E_SRA_off_IY_d , OP_BYTE , "LD E,SRA (IY+0%02Xh)", NULL },
  1602. { LD_H_SRA_off_IY_d , OP_BYTE , "LD H,SRA (IY+0%02Xh)", NULL },
  1603. { LD_L_SRA_off_IY_d , OP_BYTE , "LD L,SRA (IY+0%02Xh)", NULL },
  1604. { SRA_off_IY_d , OP_BYTE , "SRA (IY+0%02Xh)" , NULL },
  1605. { LD_A_SRA_off_IY_d , OP_BYTE , "LD A,SRA (IY+0%02Xh)", NULL },
  1606. { LD_B_SLL_off_IY_d , OP_BYTE , "LD B,SLL (IY+0%02Xh)", NULL },
  1607. { LD_C_SLL_off_IY_d , OP_BYTE , "LD C,SLL (IY+0%02Xh)", NULL },
  1608. { LD_D_SLL_off_IY_d , OP_BYTE , "LD D,SLL (IY+0%02Xh)", NULL },
  1609. { LD_E_SLL_off_IY_d , OP_BYTE , "LD E,SLL (IY+0%02Xh)", NULL },
  1610. { LD_H_SLL_off_IY_d , OP_BYTE , "LD H,SLL (IY+0%02Xh)", NULL },
  1611. { LD_L_SLL_off_IY_d , OP_BYTE , "LD L,SLL (IY+0%02Xh)", NULL },
  1612. { SLL_off_IY_d , OP_BYTE , "SLL (IY+0%02Xh)" , NULL },
  1613. { LD_A_SLL_off_IY_d , OP_BYTE , "LD A,SLL (IY+0%02Xh)", NULL },
  1614. { LD_B_SRL_off_IY_d , OP_BYTE , "LD B,SRL (IY+0%02Xh)", NULL },
  1615. { LD_C_SRL_off_IY_d , OP_BYTE , "LD C,SRL (IY+0%02Xh)", NULL },
  1616. { LD_D_SRL_off_IY_d , OP_BYTE , "LD D,SRL (IY+0%02Xh)", NULL },
  1617. { LD_E_SRL_off_IY_d , OP_BYTE , "LD E,SRL (IY+0%02Xh)", NULL },
  1618. { LD_H_SRL_off_IY_d , OP_BYTE , "LD H,SRL (IY+0%02Xh)", NULL },
  1619. { LD_L_SRL_off_IY_d , OP_BYTE , "LD L,SRL (IY+0%02Xh)", NULL },
  1620. { SRL_off_IY_d , OP_BYTE , "SRL (IY+0%02Xh)" , NULL },
  1621. { LD_A_SRL_off_IY_d , OP_BYTE , "LD A,SRL (IY+0%02Xh)", NULL },
  1622. { BIT_0_off_IY_d , OP_BYTE , "BIT 0,(IY+0%02Xh)" , NULL },
  1623. { BIT_0_off_IY_d , OP_BYTE , "BIT 0,(IY+0%02Xh)" , NULL },
  1624. { BIT_0_off_IY_d , OP_BYTE , "BIT 0,(IY+0%02Xh)" , NULL },
  1625. { BIT_0_off_IY_d , OP_BYTE , "BIT 0,(IY+0%02Xh)" , NULL },
  1626. { BIT_0_off_IY_d , OP_BYTE , "BIT 0,(IY+0%02Xh)" , NULL },
  1627. { BIT_0_off_IY_d , OP_BYTE , "BIT 0,(IY+0%02Xh)" , NULL },
  1628. { BIT_0_off_IY_d , OP_BYTE , "BIT 0,(IY+0%02Xh)" , NULL },
  1629. { BIT_0_off_IY_d , OP_BYTE , "BIT 0,(IY+0%02Xh)" , NULL },
  1630. { BIT_1_off_IY_d , OP_BYTE , "BIT 1,(IY+0%02Xh)" , NULL },
  1631. { BIT_1_off_IY_d , OP_BYTE , "BIT 1,(IY+0%02Xh)" , NULL },
  1632. { BIT_1_off_IY_d , OP_BYTE , "BIT 1,(IY+0%02Xh)" , NULL },
  1633. { BIT_1_off_IY_d , OP_BYTE , "BIT 1,(IY+0%02Xh)" , NULL },
  1634. { BIT_1_off_IY_d , OP_BYTE , "BIT 1,(IY+0%02Xh)" , NULL },
  1635. { BIT_1_off_IY_d , OP_BYTE , "BIT 1,(IY+0%02Xh)" , NULL },
  1636. { BIT_1_off_IY_d , OP_BYTE , "BIT 1,(IY+0%02Xh)" , NULL },
  1637. { BIT_1_off_IY_d , OP_BYTE , "BIT 1,(IY+0%02Xh)" , NULL },
  1638. { BIT_2_off_IY_d , OP_BYTE , "BIT 2,(IY+0%02Xh)" , NULL },
  1639. { BIT_2_off_IY_d , OP_BYTE , "BIT 2,(IY+0%02Xh)" , NULL },
  1640. { BIT_2_off_IY_d , OP_BYTE , "BIT 2,(IY+0%02Xh)" , NULL },
  1641. { BIT_2_off_IY_d , OP_BYTE , "BIT 2,(IY+0%02Xh)" , NULL },
  1642. { BIT_2_off_IY_d , OP_BYTE , "BIT 2,(IY+0%02Xh)" , NULL },
  1643. { BIT_2_off_IY_d , OP_BYTE , "BIT 2,(IY+0%02Xh)" , NULL },
  1644. { BIT_2_off_IY_d , OP_BYTE , "BIT 2,(IY+0%02Xh)" , NULL },
  1645. { BIT_2_off_IY_d , OP_BYTE , "BIT 2,(IY+0%02Xh)" , NULL },
  1646. { BIT_3_off_IY_d , OP_BYTE , "BIT 3,(IY+0%02Xh)" , NULL },
  1647. { BIT_3_off_IY_d , OP_BYTE , "BIT 3,(IY+0%02Xh)" , NULL },
  1648. { BIT_3_off_IY_d , OP_BYTE , "BIT 3,(IY+0%02Xh)" , NULL },
  1649. { BIT_3_off_IY_d , OP_BYTE , "BIT 3,(IY+0%02Xh)" , NULL },
  1650. { BIT_3_off_IY_d , OP_BYTE , "BIT 3,(IY+0%02Xh)" , NULL },
  1651. { BIT_3_off_IY_d , OP_BYTE , "BIT 3,(IY+0%02Xh)" , NULL },
  1652. { BIT_3_off_IY_d , OP_BYTE , "BIT 3,(IY+0%02Xh)" , NULL },
  1653. { BIT_3_off_IY_d , OP_BYTE , "BIT 3,(IY+0%02Xh)" , NULL },
  1654. { BIT_4_off_IY_d , OP_BYTE , "BIT 4,(IY+0%02Xh)" , NULL },
  1655. { BIT_4_off_IY_d , OP_BYTE , "BIT 4,(IY+0%02Xh)" , NULL },
  1656. { BIT_4_off_IY_d , OP_BYTE , "BIT 4,(IY+0%02Xh)" , NULL },
  1657. { BIT_4_off_IY_d , OP_BYTE , "BIT 4,(IY+0%02Xh)" , NULL },
  1658. { BIT_4_off_IY_d , OP_BYTE , "BIT 4,(IY+0%02Xh)" , NULL },
  1659. { BIT_4_off_IY_d , OP_BYTE , "BIT 4,(IY+0%02Xh)" , NULL },
  1660. { BIT_4_off_IY_d , OP_BYTE , "BIT 4,(IY+0%02Xh)" , NULL },
  1661. { BIT_4_off_IY_d , OP_BYTE , "BIT 4,(IY+0%02Xh)" , NULL },
  1662. { BIT_5_off_IY_d , OP_BYTE , "BIT 5,(IY+0%02Xh)" , NULL },
  1663. { BIT_5_off_IY_d , OP_BYTE , "BIT 5,(IY+0%02Xh)" , NULL },
  1664. { BIT_5_off_IY_d , OP_BYTE , "BIT 5,(IY+0%02Xh)" , NULL },
  1665. { BIT_5_off_IY_d , OP_BYTE , "BIT 5,(IY+0%02Xh)" , NULL },
  1666. { BIT_5_off_IY_d , OP_BYTE , "BIT 5,(IY+0%02Xh)" , NULL },
  1667. { BIT_5_off_IY_d , OP_BYTE , "BIT 5,(IY+0%02Xh)" , NULL },
  1668. { BIT_5_off_IY_d , OP_BYTE , "BIT 5,(IY+0%02Xh)" , NULL },
  1669. { BIT_5_off_IY_d , OP_BYTE , "BIT 5,(IY+0%02Xh)" , NULL },
  1670. { BIT_6_off_IY_d , OP_BYTE , "BIT 6,(IY+0%02Xh)" , NULL },
  1671. { BIT_6_off_IY_d , OP_BYTE , "BIT 6,(IY+0%02Xh)" , NULL },
  1672. { BIT_6_off_IY_d , OP_BYTE , "BIT 6,(IY+0%02Xh)" , NULL },
  1673. { BIT_6_off_IY_d , OP_BYTE , "BIT 6,(IY+0%02Xh)" , NULL },
  1674. { BIT_6_off_IY_d , OP_BYTE , "BIT 6,(IY+0%02Xh)" , NULL },
  1675. { BIT_6_off_IY_d , OP_BYTE , "BIT 6,(IY+0%02Xh)" , NULL },
  1676. { BIT_6_off_IY_d , OP_BYTE , "BIT 6,(IY+0%02Xh)" , NULL },
  1677. { BIT_6_off_IY_d , OP_BYTE , "BIT 6,(IY+0%02Xh)" , NULL },
  1678. { BIT_7_off_IY_d , OP_BYTE , "BIT 7,(IY+0%02Xh)" , NULL },
  1679. { BIT_7_off_IY_d , OP_BYTE , "BIT 7,(IY+0%02Xh)" , NULL },
  1680. { BIT_7_off_IY_d , OP_BYTE , "BIT 7,(IY+0%02Xh)" , NULL },
  1681. { BIT_7_off_IY_d , OP_BYTE , "BIT 7,(IY+0%02Xh)" , NULL },
  1682. { BIT_7_off_IY_d , OP_BYTE , "BIT 7,(IY+0%02Xh)" , NULL },
  1683. { BIT_7_off_IY_d , OP_BYTE , "BIT 7,(IY+0%02Xh)" , NULL },
  1684. { BIT_7_off_IY_d , OP_BYTE , "BIT 7,(IY+0%02Xh)" , NULL },
  1685. { BIT_7_off_IY_d , OP_BYTE , "BIT 7,(IY+0%02Xh)" , NULL },
  1686. { LD_B_RES_0_off_IY_d , OP_BYTE , "LD B,RES 0,(IY+0%02Xh)", NULL },
  1687. { LD_C_RES_0_off_IY_d , OP_BYTE , "LD C,RES 0,(IY+0%02Xh)", NULL },
  1688. { LD_D_RES_0_off_IY_d , OP_BYTE , "LD D,RES 0,(IY+0%02Xh)", NULL },
  1689. { LD_E_RES_0_off_IY_d , OP_BYTE , "LD E,RES 0,(IY+0%02Xh)", NULL },
  1690. { LD_H_RES_0_off_IY_d , OP_BYTE , "LD H,RES 0,(IY+0%02Xh)", NULL },
  1691. { LD_L_RES_0_off_IY_d , OP_BYTE , "LD L,RES 0,(IY+0%02Xh)", NULL },
  1692. { RES_0_off_IY_d , OP_BYTE , "RES 0,(IY+0%02Xh)" , NULL },
  1693. { LD_A_RES_0_off_IY_d , OP_BYTE , "LD A,RES 0,(IY+0%02Xh)", NULL },
  1694. { LD_B_RES_1_off_IY_d , OP_BYTE , "LD B,RES 1,(IY+0%02Xh)", NULL },
  1695. { LD_C_RES_1_off_IY_d , OP_BYTE , "LD C,RES 1,(IY+0%02Xh)", NULL },
  1696. { LD_D_RES_1_off_IY_d , OP_BYTE , "LD D,RES 1,(IY+0%02Xh)", NULL },
  1697. { LD_E_RES_1_off_IY_d , OP_BYTE , "LD E,RES 1,(IY+0%02Xh)", NULL },
  1698. { LD_H_RES_1_off_IY_d , OP_BYTE , "LD H,RES 1,(IY+0%02Xh)", NULL },
  1699. { LD_L_RES_1_off_IY_d , OP_BYTE , "LD L,RES 1,(IY+0%02Xh)", NULL },
  1700. { RES_1_off_IY_d , OP_BYTE , "RES 1,(IY+0%02Xh)" , NULL },
  1701. { LD_A_RES_1_off_IY_d , OP_BYTE , "LD A,RES 1,(IY+0%02Xh)", NULL },
  1702. { LD_B_RES_2_off_IY_d , OP_BYTE , "LD B,RES 2,(IY+0%02Xh)", NULL },
  1703. { LD_C_RES_2_off_IY_d , OP_BYTE , "LD C,RES 2,(IY+0%02Xh)", NULL },
  1704. { LD_D_RES_2_off_IY_d , OP_BYTE , "LD D,RES 2,(IY+0%02Xh)", NULL },
  1705. { LD_E_RES_2_off_IY_d , OP_BYTE , "LD E,RES 2,(IY+0%02Xh)", NULL },
  1706. { LD_H_RES_2_off_IY_d , OP_BYTE , "LD H,RES 2,(IY+0%02Xh)", NULL },
  1707. { LD_L_RES_2_off_IY_d , OP_BYTE , "LD L,RES 2,(IY+0%02Xh)", NULL },
  1708. { RES_2_off_IY_d , OP_BYTE , "RES 2,(IY+0%02Xh)" , NULL },
  1709. { LD_A_RES_2_off_IY_d , OP_BYTE , "LD A,RES 2,(IY+0%02Xh)", NULL },
  1710. { LD_B_RES_3_off_IY_d , OP_BYTE , "LD B,RES 3,(IY+0%02Xh)", NULL },
  1711. { LD_C_RES_3_off_IY_d , OP_BYTE , "LD C,RES 3,(IY+0%02Xh)", NULL },
  1712. { LD_D_RES_3_off_IY_d , OP_BYTE , "LD D,RES 3,(IY+0%02Xh)", NULL },
  1713. { LD_E_RES_3_off_IY_d , OP_BYTE , "LD E,RES 3,(IY+0%02Xh)", NULL },
  1714. { LD_H_RES_3_off_IY_d , OP_BYTE , "LD H,RES 3,(IY+0%02Xh)", NULL },
  1715. { LD_L_RES_3_off_IY_d , OP_BYTE , "LD L,RES 3,(IY+0%02Xh)", NULL },
  1716. { RES_3_off_IY_d , OP_BYTE , "RES 3,(IY+0%02Xh)" , NULL },
  1717. { LD_A_RES_3_off_IY_d , OP_BYTE , "LD A,RES 3,(IY+0%02Xh)", NULL },
  1718. { LD_B_RES_4_off_IY_d , OP_BYTE , "LD B,RES 4,(IY+0%02Xh)", NULL },
  1719. { LD_C_RES_4_off_IY_d , OP_BYTE , "LD C,RES 4,(IY+0%02Xh)", NULL },
  1720. { LD_D_RES_4_off_IY_d , OP_BYTE , "LD D,RES 4,(IY+0%02Xh)", NULL },
  1721. { LD_E_RES_4_off_IY_d , OP_BYTE , "LD E,RES 4,(IY+0%02Xh)", NULL },
  1722. { LD_H_RES_4_off_IY_d , OP_BYTE , "LD H,RES 4,(IY+0%02Xh)", NULL },
  1723. { LD_L_RES_4_off_IY_d , OP_BYTE , "LD L,RES 4,(IY+0%02Xh)", NULL },
  1724. { RES_4_off_IY_d , OP_BYTE , "RES 4,(IY+0%02Xh)" , NULL },
  1725. { LD_A_RES_4_off_IY_d , OP_BYTE , "LD A,RES 4,(IY+0%02Xh)", NULL },
  1726. { LD_B_RES_5_off_IY_d , OP_BYTE , "LD B,RES 5,(IY+0%02Xh)", NULL },
  1727. { LD_C_RES_5_off_IY_d , OP_BYTE , "LD C,RES 5,(IY+0%02Xh)", NULL },
  1728. { LD_D_RES_5_off_IY_d , OP_BYTE , "LD D,RES 5,(IY+0%02Xh)", NULL },
  1729. { LD_E_RES_5_off_IY_d , OP_BYTE , "LD E,RES 5,(IY+0%02Xh)", NULL },
  1730. { LD_H_RES_5_off_IY_d , OP_BYTE , "LD H,RES 5,(IY+0%02Xh)", NULL },
  1731. { LD_L_RES_5_off_IY_d , OP_BYTE , "LD L,RES 5,(IY+0%02Xh)", NULL },
  1732. { RES_5_off_IY_d , OP_BYTE , "RES 5,(IY+0%02Xh)" , NULL },
  1733. { LD_A_RES_5_off_IY_d , OP_BYTE , "LD A,RES 5,(IY+0%02Xh)", NULL },
  1734. { LD_B_RES_6_off_IY_d , OP_BYTE , "LD B,RES 6,(IY+0%02Xh)", NULL },
  1735. { LD_C_RES_6_off_IY_d , OP_BYTE , "LD C,RES 6,(IY+0%02Xh)", NULL },
  1736. { LD_D_RES_6_off_IY_d , OP_BYTE , "LD D,RES 6,(IY+0%02Xh)", NULL },
  1737. { LD_E_RES_6_off_IY_d , OP_BYTE , "LD E,RES 6,(IY+0%02Xh)", NULL },
  1738. { LD_H_RES_6_off_IY_d , OP_BYTE , "LD H,RES 6,(IY+0%02Xh)", NULL },
  1739. { LD_L_RES_6_off_IY_d , OP_BYTE , "LD L,RES 6,(IY+0%02Xh)", NULL },
  1740. { RES_6_off_IY_d , OP_BYTE , "RES 6,(IY+0%02Xh)" , NULL },
  1741. { LD_A_RES_6_off_IY_d , OP_BYTE , "LD A,RES 6,(IY+0%02Xh)", NULL },
  1742. { LD_B_RES_7_off_IY_d , OP_BYTE , "LD B,RES 7,(IY+0%02Xh)", NULL },
  1743. { LD_C_RES_7_off_IY_d , OP_BYTE , "LD C,RES 7,(IY+0%02Xh)", NULL },
  1744. { LD_D_RES_7_off_IY_d , OP_BYTE , "LD D,RES 7,(IY+0%02Xh)", NULL },
  1745. { LD_E_RES_7_off_IY_d , OP_BYTE , "LD E,RES 7,(IY+0%02Xh)", NULL },
  1746. { LD_H_RES_7_off_IY_d , OP_BYTE , "LD H,RES 7,(IY+0%02Xh)", NULL },
  1747. { LD_L_RES_7_off_IY_d , OP_BYTE , "LD L,RES 7,(IY+0%02Xh)", NULL },
  1748. { RES_7_off_IY_d , OP_BYTE , "RES 7,(IY+0%02Xh)" , NULL },
  1749. { LD_A_RES_7_off_IY_d , OP_BYTE , "LD A,RES 7,(IY+0%02Xh)", NULL },
  1750. { LD_B_SET_0_off_IY_d , OP_BYTE , "LD B,SET 0,(IY+0%02Xh)", NULL },
  1751. { LD_C_SET_0_off_IY_d , OP_BYTE , "LD C,SET 0,(IY+0%02Xh)", NULL },
  1752. { LD_D_SET_0_off_IY_d , OP_BYTE , "LD D,SET 0,(IY+0%02Xh)", NULL },
  1753. { LD_E_SET_0_off_IY_d , OP_BYTE , "LD E,SET 0,(IY+0%02Xh)", NULL },
  1754. { LD_H_SET_0_off_IY_d , OP_BYTE , "LD H,SET 0,(IY+0%02Xh)", NULL },
  1755. { LD_L_SET_0_off_IY_d , OP_BYTE , "LD L,SET 0,(IY+0%02Xh)", NULL },
  1756. { SET_0_off_IY_d , OP_BYTE , "SET 0,(IY+0%02Xh)" , NULL },
  1757. { LD_A_SET_0_off_IY_d , OP_BYTE , "LD A,SET 0,(IY+0%02Xh)", NULL },
  1758. { LD_B_SET_1_off_IY_d , OP_BYTE , "LD B,SET 1,(IY+0%02Xh)", NULL },
  1759. { LD_C_SET_1_off_IY_d , OP_BYTE , "LD C,SET 1,(IY+0%02Xh)", NULL },
  1760. { LD_D_SET_1_off_IY_d , OP_BYTE , "LD D,SET 1,(IY+0%02Xh)", NULL },
  1761. { LD_E_SET_1_off_IY_d , OP_BYTE , "LD E,SET 1,(IY+0%02Xh)", NULL },
  1762. { LD_H_SET_1_off_IY_d , OP_BYTE , "LD H,SET 1,(IY+0%02Xh)", NULL },
  1763. { LD_L_SET_1_off_IY_d , OP_BYTE , "LD L,SET 1,(IY+0%02Xh)", NULL },
  1764. { SET_1_off_IY_d , OP_BYTE , "SET 1,(IY+0%02Xh)" , NULL },
  1765. { LD_A_SET_1_off_IY_d , OP_BYTE , "LD A,SET 1,(IY+0%02Xh)", NULL },
  1766. { LD_B_SET_2_off_IY_d , OP_BYTE , "LD B,SET 2,(IY+0%02Xh)", NULL },
  1767. { LD_C_SET_2_off_IY_d , OP_BYTE , "LD C,SET 2,(IY+0%02Xh)", NULL },
  1768. { LD_D_SET_2_off_IY_d , OP_BYTE , "LD D,SET 2,(IY+0%02Xh)", NULL },
  1769. { LD_E_SET_2_off_IY_d , OP_BYTE , "LD E,SET 2,(IY+0%02Xh)", NULL },
  1770. { LD_H_SET_2_off_IY_d , OP_BYTE , "LD H,SET 2,(IY+0%02Xh)", NULL },
  1771. { LD_L_SET_2_off_IY_d , OP_BYTE , "LD L,SET 2,(IY+0%02Xh)", NULL },
  1772. { SET_2_off_IY_d , OP_BYTE , "SET 2,(IY+0%02Xh)" , NULL },
  1773. { LD_A_SET_2_off_IY_d , OP_BYTE , "LD A,SET 2,(IY+0%02Xh)", NULL },
  1774. { LD_B_SET_3_off_IY_d , OP_BYTE , "LD B,SET 3,(IY+0%02Xh)", NULL },
  1775. { LD_C_SET_3_off_IY_d , OP_BYTE , "LD C,SET 3,(IY+0%02Xh)", NULL },
  1776. { LD_D_SET_3_off_IY_d , OP_BYTE , "LD D,SET 3,(IY+0%02Xh)", NULL },
  1777. { LD_E_SET_3_off_IY_d , OP_BYTE , "LD E,SET 3,(IY+0%02Xh)", NULL },
  1778. { LD_H_SET_3_off_IY_d , OP_BYTE , "LD H,SET 3,(IY+0%02Xh)", NULL },
  1779. { LD_L_SET_3_off_IY_d , OP_BYTE , "LD L,SET 3,(IY+0%02Xh)", NULL },
  1780. { SET_3_off_IY_d , OP_BYTE , "SET 3,(IY+0%02Xh)" , NULL },
  1781. { LD_A_SET_3_off_IY_d , OP_BYTE , "LD A,SET 3,(IY+0%02Xh)", NULL },
  1782. { LD_B_SET_4_off_IY_d , OP_BYTE , "LD B,SET 4,(IY+0%02Xh)", NULL },
  1783. { LD_C_SET_4_off_IY_d , OP_BYTE , "LD C,SET 4,(IY+0%02Xh)", NULL },
  1784. { LD_D_SET_4_off_IY_d , OP_BYTE , "LD D,SET 4,(IY+0%02Xh)", NULL },
  1785. { LD_E_SET_4_off_IY_d , OP_BYTE , "LD E,SET 4,(IY+0%02Xh)", NULL },
  1786. { LD_H_SET_4_off_IY_d , OP_BYTE , "LD H,SET 4,(IY+0%02Xh)", NULL },
  1787. { LD_L_SET_4_off_IY_d , OP_BYTE , "LD L,SET 4,(IY+0%02Xh)", NULL },
  1788. { SET_4_off_IY_d , OP_BYTE , "SET 4,(IY+0%02Xh)" , NULL },
  1789. { LD_A_SET_4_off_IY_d , OP_BYTE , "LD A,SET 4,(IY+0%02Xh)", NULL },
  1790. { LD_B_SET_5_off_IY_d , OP_BYTE , "LD B,SET 5,(IY+0%02Xh)", NULL },
  1791. { LD_C_SET_5_off_IY_d , OP_BYTE , "LD C,SET 5,(IY+0%02Xh)", NULL },
  1792. { LD_D_SET_5_off_IY_d , OP_BYTE , "LD D,SET 5,(IY+0%02Xh)", NULL },
  1793. { LD_E_SET_5_off_IY_d , OP_BYTE , "LD E,SET 5,(IY+0%02Xh)", NULL },
  1794. { LD_H_SET_5_off_IY_d , OP_BYTE , "LD H,SET 5,(IY+0%02Xh)", NULL },
  1795. { LD_L_SET_5_off_IY_d , OP_BYTE , "LD L,SET 5,(IY+0%02Xh)", NULL },
  1796. { SET_5_off_IY_d , OP_BYTE , "SET 5,(IY+0%02Xh)" , NULL },
  1797. { LD_A_SET_5_off_IY_d , OP_BYTE , "LD A,SET 5,(IY+0%02Xh)", NULL },
  1798. { LD_B_SET_6_off_IY_d , OP_BYTE , "LD B,SET 6,(IY+0%02Xh)", NULL },
  1799. { LD_C_SET_6_off_IY_d , OP_BYTE , "LD C,SET 6,(IY+0%02Xh)", NULL },
  1800. { LD_D_SET_6_off_IY_d , OP_BYTE , "LD D,SET 6,(IY+0%02Xh)", NULL },
  1801. { LD_E_SET_6_off_IY_d , OP_BYTE , "LD E,SET 6,(IY+0%02Xh)", NULL },
  1802. { LD_H_SET_6_off_IY_d , OP_BYTE , "LD H,SET 6,(IY+0%02Xh)", NULL },
  1803. { LD_L_SET_6_off_IY_d , OP_BYTE , "LD L,SET 6,(IY+0%02Xh)", NULL },
  1804. { SET_6_off_IY_d , OP_BYTE , "SET 6,(IY+0%02Xh)" , NULL },
  1805. { LD_A_SET_6_off_IY_d , OP_BYTE , "LD A,SET 6,(IY+0%02Xh)", NULL },
  1806. { LD_B_SET_7_off_IY_d , OP_BYTE , "LD B,SET 7,(IY+0%02Xh)", NULL },
  1807. { LD_C_SET_7_off_IY_d , OP_BYTE , "LD C,SET 7,(IY+0%02Xh)", NULL },
  1808. { LD_D_SET_7_off_IY_d , OP_BYTE , "LD D,SET 7,(IY+0%02Xh)", NULL },
  1809. { LD_E_SET_7_off_IY_d , OP_BYTE , "LD E,SET 7,(IY+0%02Xh)", NULL },
  1810. { LD_H_SET_7_off_IY_d , OP_BYTE , "LD H,SET 7,(IY+0%02Xh)", NULL },
  1811. { LD_L_SET_7_off_IY_d , OP_BYTE , "LD L,SET 7,(IY+0%02Xh)", NULL },
  1812. { SET_7_off_IY_d , OP_BYTE , "SET 7,(IY+0%02Xh)" , NULL },
  1813. { LD_A_SET_7_off_IY_d , OP_BYTE , "LD A,SET 7,(IY+0%02Xh)", NULL }
  1814. } };