forked from NEO-SPECTRUMAN/SpecEmu
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Opcodes.asm
3602 lines (3593 loc) · 73.5 KB
/
Opcodes.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
.data
align 16
OpPtrs dd Op_0
dd Op_1
dd Op_2
dd Op_3
dd Op_4
dd Op_5
dd Op_6
dd Op_7
dd Op_8
dd Op_9
dd Op_A
dd Op_B
dd Op_C
dd Op_D
dd Op_E
dd Op_F
dd Op_10
dd Op_11
dd Op_12
dd Op_13
dd Op_14
dd Op_15
dd Op_16
dd Op_17
dd Op_18
dd Op_19
dd Op_1A
dd Op_1B
dd Op_1C
dd Op_1D
dd Op_1E
dd Op_1F
dd Op_20
dd Op_21
dd Op_22
dd Op_23
dd Op_24
dd Op_25
dd Op_26
dd Op_27
dd Op_28
dd Op_29
dd Op_2A
dd Op_2B
dd Op_2C
dd Op_2D
dd Op_2E
dd Op_2F
dd Op_30
dd Op_31
dd Op_32
dd Op_33
dd Op_34
dd Op_35
dd Op_36
dd Op_37
dd Op_38
dd Op_39
dd Op_3A
dd Op_3B
dd Op_3C
dd Op_3D
dd Op_3E
dd Op_3F
dd Op_40
dd Op_41
dd Op_42
dd Op_43
dd Op_44
dd Op_45
dd Op_46
dd Op_47
dd Op_48
dd Op_49
dd Op_4A
dd Op_4B
dd Op_4C
dd Op_4D
dd Op_4E
dd Op_4F
dd Op_50
dd Op_51
dd Op_52
dd Op_53
dd Op_54
dd Op_55
dd Op_56
dd Op_57
dd Op_58
dd Op_59
dd Op_5A
dd Op_5B
dd Op_5C
dd Op_5D
dd Op_5E
dd Op_5F
dd Op_60
dd Op_61
dd Op_62
dd Op_63
dd Op_64
dd Op_65
dd Op_66
dd Op_67
dd Op_68
dd Op_69
dd Op_6A
dd Op_6B
dd Op_6C
dd Op_6D
dd Op_6E
dd Op_6F
dd Op_70
dd Op_71
dd Op_72
dd Op_73
dd Op_74
dd Op_75
dd Op_76
dd Op_77
dd Op_78
dd Op_79
dd Op_7A
dd Op_7B
dd Op_7C
dd Op_7D
dd Op_7E
dd Op_7F
dd Op_80
dd Op_81
dd Op_82
dd Op_83
dd Op_84
dd Op_85
dd Op_86
dd Op_87
dd Op_88
dd Op_89
dd Op_8A
dd Op_8B
dd Op_8C
dd Op_8D
dd Op_8E
dd Op_8F
dd Op_90
dd Op_91
dd Op_92
dd Op_93
dd Op_94
dd Op_95
dd Op_96
dd Op_97
dd Op_98
dd Op_99
dd Op_9A
dd Op_9B
dd Op_9C
dd Op_9D
dd Op_9E
dd Op_9F
dd Op_A0
dd Op_A1
dd Op_A2
dd Op_A3
dd Op_A4
dd Op_A5
dd Op_A6
dd Op_A7
dd Op_A8
dd Op_A9
dd Op_AA
dd Op_AB
dd Op_AC
dd Op_AD
dd Op_AE
dd Op_AF
dd Op_B0
dd Op_B1
dd Op_B2
dd Op_B3
dd Op_B4
dd Op_B5
dd Op_B6
dd Op_B7
dd Op_B8
dd Op_B9
dd Op_BA
dd Op_BB
dd Op_BC
dd Op_BD
dd Op_BE
dd Op_BF
dd Op_C0
dd Op_C1
dd Op_C2
dd Op_C3
dd Op_C4
dd Op_C5
dd Op_C6
dd Op_C7
dd Op_C8
dd Op_C9
dd Op_CA
dd Op_CB
dd Op_CC
dd Op_CD
dd Op_CE
dd Op_CF
dd Op_D0
dd Op_D1
dd Op_D2
dd Op_D3
dd Op_D4
dd Op_D5
dd Op_D6
dd Op_D7
dd Op_D8
dd Op_D9
dd Op_DA
dd Op_DB
dd Op_DC
dd Op_DD
dd Op_DE
dd Op_DF
dd Op_E0
dd Op_E1
dd Op_E2
dd Op_E3
dd Op_E4
dd Op_E5
dd Op_E6
dd Op_E7
dd Op_E8
dd Op_E9
dd Op_EA
dd Op_EB
dd Op_EC
dd Op_ED
dd Op_EE
dd Op_EF
dd Op_F0
dd Op_F1
dd Op_F2
dd Op_F3
dd Op_F4
dd Op_F5
dd Op_F6
dd Op_F7
dd Op_F8
dd Op_F9
dd Op_FA
dd Op_FB
dd Op_FC
dd Op_FD
dd Op_FE
dd Op_FF
Op_0 db "NOP",0
Op_1 db "LD BC,w",0
Op_2 db "LD (BC),A",0
Op_3 db "INC BC",0
Op_4 db "INC B",0
Op_5 db "DEC B",0
Op_6 db "LD B,q",0
Op_7 db "RLCA",0
Op_8 db "EX AF,AF'",0
Op_9 db "ADD HL,BC",0
Op_A db "LD A,(BC)",0
Op_B db "DEC BC",0
Op_C db "INC C",0
Op_D db "DEC C",0
Op_E db "LD C,q",0
Op_F db "RRCA",0
Op_10 db "|DJNZ e",0
Op_11 db "LD DE,w",0
Op_12 db "LD (DE),A",0
Op_13 db "INC DE",0
Op_14 db "INC D",0
Op_15 db "DEC D",0
Op_16 db "LD D,q",0
Op_17 db "RLA",0
Op_18 db "|JR e",0
Op_19 db "ADD HL,DE",0
Op_1A db "LD A,(DE)",0
Op_1B db "DEC DE",0
Op_1C db "INC E",0
Op_1D db "DEC E",0
Op_1E db "LD E,q",0
Op_1F db "RRA",0
Op_20 db "|JR NZ,e",0
Op_21 db "LD HL,w",0
Op_22 db "LD (w),HL",0
Op_23 db "INC HL",0
Op_24 db "INC H",0
Op_25 db "DEC H",0
Op_26 db "LD H,q",0
Op_27 db "DAA",0
Op_28 db "|JR Z,e",0
Op_29 db "ADD HL,HL",0
Op_2A db "LD HL,(w)",0
Op_2B db "DEC HL",0
Op_2C db "INC L",0
Op_2D db "DEC L",0
Op_2E db "LD L,q",0
Op_2F db "CPL",0
Op_30 db "|JR NC,e",0
Op_31 db "LD SP,w",0
Op_32 db "LD (w),A",0
Op_33 db "INC SP",0
Op_34 db "INC (HL)",0
Op_35 db "DEC (HL)",0
Op_36 db "LD (HL),q",0
Op_37 db "SCF",0
Op_38 db "|JR C,e",0
Op_39 db "ADD HL,SP",0
Op_3A db "LD A,(w)",0
Op_3B db "DEC SP",0
Op_3C db "INC A",0
Op_3D db "DEC A",0
Op_3E db "LD A,q",0
Op_3F db "CCF",0
Op_40 db "LD B,B",0
Op_41 db "LD B,C",0
Op_42 db "LD B,D",0
Op_43 db "LD B,E",0
Op_44 db "LD B,H",0
Op_45 db "LD B,L",0
Op_46 db "LD B,(HL)",0
Op_47 db "LD B,A",0
Op_48 db "LD C,B",0
Op_49 db "LD C,C",0
Op_4A db "LD C,D",0
Op_4B db "LD C,E",0
Op_4C db "LD C,H",0
Op_4D db "LD C,L",0
Op_4E db "LD C,(HL)",0
Op_4F db "LD C,A",0
Op_50 db "LD D,B",0
Op_51 db "LD D,C",0
Op_52 db "LD D,D",0
Op_53 db "LD D,E",0
Op_54 db "LD D,H",0
Op_55 db "LD D,L",0
Op_56 db "LD D,(HL)",0
Op_57 db "LD D,A",0
Op_58 db "LD E,B",0
Op_59 db "LD E,C",0
Op_5A db "LD E,D",0
Op_5B db "LD E,E",0
Op_5C db "LD E,H",0
Op_5D db "LD E,L",0
Op_5E db "LD E,(HL)",0
Op_5F db "LD E,A",0
Op_60 db "LD H,B",0
Op_61 db "LD H,C",0
Op_62 db "LD H,D",0
Op_63 db "LD H,E",0
Op_64 db "LD H,H",0
Op_65 db "LD H,L",0
Op_66 db "LD H,(HL)",0
Op_67 db "LD H,A",0
Op_68 db "LD L,B",0
Op_69 db "LD L,C",0
Op_6A db "LD L,D",0
Op_6B db "LD L,E",0
Op_6C db "LD L,H",0
Op_6D db "LD L,L",0
Op_6E db "LD L,(HL)",0
Op_6F db "LD L,A",0
Op_70 db "LD (HL),B",0
Op_71 db "LD (HL),C",0
Op_72 db "LD (HL),D",0
Op_73 db "LD (HL),E",0
Op_74 db "LD (HL),H",0
Op_75 db "LD (HL),L",0
Op_76 db "HALT",0
Op_77 db "LD (HL),A",0
Op_78 db "LD A,B",0
Op_79 db "LD A,C",0
Op_7A db "LD A,D",0
Op_7B db "LD A,E",0
Op_7C db "LD A,H",0
Op_7D db "LD A,L",0
Op_7E db "LD A,(HL)",0
Op_7F db "LD A,A",0
Op_80 db "ADD A,B",0
Op_81 db "ADD A,C",0
Op_82 db "ADD A,D",0
Op_83 db "ADD A,E",0
Op_84 db "ADD A,H",0
Op_85 db "ADD A,L",0
Op_86 db "ADD A,(HL)",0
Op_87 db "ADD A,A",0
Op_88 db "ADC A,B",0
Op_89 db "ADC A,C",0
Op_8A db "ADC A,D",0
Op_8B db "ADC A,E",0
Op_8C db "ADC A,H",0
Op_8D db "ADC A,L",0
Op_8E db "ADC A,(HL)",0
Op_8F db "ADC A,A",0
Op_90 db "SUB B",0
Op_91 db "SUB C",0
Op_92 db "SUB D",0
Op_93 db "SUB E",0
Op_94 db "SUB H",0
Op_95 db "SUB L",0
Op_96 db "SUB (HL)",0
Op_97 db "SUB A",0
Op_98 db "SBC A,B",0
Op_99 db "SBC A,C",0
Op_9A db "SBC A,D",0
Op_9B db "SBC A,E",0
Op_9C db "SBC A,H",0
Op_9D db "SBC A,L",0
Op_9E db "SBC A,(HL)",0
Op_9F db "SBC A,A",0
Op_A0 db "AND B",0
Op_A1 db "AND C",0
Op_A2 db "AND D",0
Op_A3 db "AND E",0
Op_A4 db "AND H",0
Op_A5 db "AND L",0
Op_A6 db "AND (HL)",0
Op_A7 db "AND A",0
Op_A8 db "XOR B",0
Op_A9 db "XOR C",0
Op_AA db "XOR D",0
Op_AB db "XOR E",0
Op_AC db "XOR H",0
Op_AD db "XOR L",0
Op_AE db "XOR (HL)",0
Op_AF db "XOR A",0
Op_B0 db "OR B",0
Op_B1 db "OR C",0
Op_B2 db "OR D",0
Op_B3 db "OR E",0
Op_B4 db "OR H",0
Op_B5 db "OR L",0
Op_B6 db "OR (HL)",0
Op_B7 db "OR A",0
Op_B8 db "CP B",0
Op_B9 db "CP C",0
Op_BA db "CP D",0
Op_BB db "CP E",0
Op_BC db "CP H",0
Op_BD db "CP L",0
Op_BE db "CP (HL)",0
Op_BF db "CP A",0
Op_C0 db "|RET NZ",0
Op_C1 db "POP BC",0
Op_C2 db "|JP NZ,j",0
Op_C3 db "|JP j",0
Op_C4 db "CALL NZ,j",0
Op_C5 db "PUSH BC",0
Op_C6 db "ADD A,q",0
Op_C7 db "RST r",0
Op_C8 db "|RET Z",0
Op_C9 db "|RET",0
Op_CA db "|JP Z,j",0
Op_CB db "DEFB $CB",0
Op_CC db "CALL Z,j",0
Op_CD db "CALL j",0
Op_CE db "ADC A,q",0
Op_CF db "RST r",0
Op_D0 db "|RET NC",0
Op_D1 db "POP DE",0
Op_D2 db "|JP NC,j",0
Op_D3 db "OUT (q),A",0
Op_D4 db "CALL NC,j",0
Op_D5 db "PUSH DE",0
Op_D6 db "SUB q",0
Op_D7 db "RST r",0
Op_D8 db "|RET C",0
Op_D9 db "EXX",0
Op_DA db "|JP C,j",0
Op_DB db "IN A,(q)",0
Op_DC db "CALL C,j",0
Op_DD db "DEFB $DD",0
Op_DE db "SBC A,q",0
Op_DF db "RST r",0
Op_E0 db "|RET PO",0
Op_E1 db "POP HL",0
Op_E2 db "|JP PO,j",0
Op_E3 db "EX (SP),HL",0
Op_E4 db "CALL PO,j",0
Op_E5 db "PUSH HL",0
Op_E6 db "AND q",0
Op_E7 db "RST r",0
Op_E8 db "|RET PE",0
Op_E9 db "|JP (HL)",0
Op_EA db "|JP PE,j",0
Op_EB db "EX DE,HL",0
Op_EC db "CALL PE,j",0
Op_ED db "DEFB $ED",0
Op_EE db "XOR q",0
Op_EF db "RST r",0
Op_F0 db "|RET P",0
Op_F1 db "POP AF",0
Op_F2 db "|JP P,j",0
Op_F3 db "DI",0
Op_F4 db "CALL P,j",0
Op_F5 db "PUSH AF",0
Op_F6 db "OR q",0
Op_F7 db "RST r",0
Op_F8 db "|RET M",0
Op_F9 db "LD SP,HL",0
Op_FA db "|JP M,j",0
Op_FB db "EI",0
Op_FC db "CALL M,j",0
Op_FD db "DEFB $FD",0
Op_FE db "CP q",0
Op_FF db "RST r",0
align 16
DDOpPtrs dd DDOp_0
dd DDOp_1
dd DDOp_2
dd DDOp_3
dd DDOp_4
dd DDOp_5
dd DDOp_6
dd DDOp_7
dd DDOp_8
dd DDOp_9
dd DDOp_A
dd DDOp_B
dd DDOp_C
dd DDOp_D
dd DDOp_E
dd DDOp_F
dd DDOp_10
dd DDOp_11
dd DDOp_12
dd DDOp_13
dd DDOp_14
dd DDOp_15
dd DDOp_16
dd DDOp_17
dd DDOp_18
dd DDOp_19
dd DDOp_1A
dd DDOp_1B
dd DDOp_1C
dd DDOp_1D
dd DDOp_1E
dd DDOp_1F
dd DDOp_20
dd DDOp_21
dd DDOp_22
dd DDOp_23
dd DDOp_24
dd DDOp_25
dd DDOp_26
dd DDOp_27
dd DDOp_28
dd DDOp_29
dd DDOp_2A
dd DDOp_2B
dd DDOp_2C
dd DDOp_2D
dd DDOp_2E
dd DDOp_2F
dd DDOp_30
dd DDOp_31
dd DDOp_32
dd DDOp_33
dd DDOp_34
dd DDOp_35
dd DDOp_36
dd DDOp_37
dd DDOp_38
dd DDOp_39
dd DDOp_3A
dd DDOp_3B
dd DDOp_3C
dd DDOp_3D
dd DDOp_3E
dd DDOp_3F
dd DDOp_40
dd DDOp_41
dd DDOp_42
dd DDOp_43
dd DDOp_44
dd DDOp_45
dd DDOp_46
dd DDOp_47
dd DDOp_48
dd DDOp_49
dd DDOp_4A
dd DDOp_4B
dd DDOp_4C
dd DDOp_4D
dd DDOp_4E
dd DDOp_4F
dd DDOp_50
dd DDOp_51
dd DDOp_52
dd DDOp_53
dd DDOp_54
dd DDOp_55
dd DDOp_56
dd DDOp_57
dd DDOp_58
dd DDOp_59
dd DDOp_5A
dd DDOp_5B
dd DDOp_5C
dd DDOp_5D
dd DDOp_5E
dd DDOp_5F
dd DDOp_60
dd DDOp_61
dd DDOp_62
dd DDOp_63
dd DDOp_64
dd DDOp_65
dd DDOp_66
dd DDOp_67
dd DDOp_68
dd DDOp_69
dd DDOp_6A
dd DDOp_6B
dd DDOp_6C
dd DDOp_6D
dd DDOp_6E
dd DDOp_6F
dd DDOp_70
dd DDOp_71
dd DDOp_72
dd DDOp_73
dd DDOp_74
dd DDOp_75
dd DDOp_76
dd DDOp_77
dd DDOp_78
dd DDOp_79
dd DDOp_7A
dd DDOp_7B
dd DDOp_7C
dd DDOp_7D
dd DDOp_7E
dd DDOp_7F
dd DDOp_80
dd DDOp_81
dd DDOp_82
dd DDOp_83
dd DDOp_84
dd DDOp_85
dd DDOp_86
dd DDOp_87
dd DDOp_88
dd DDOp_89
dd DDOp_8A
dd DDOp_8B
dd DDOp_8C
dd DDOp_8D
dd DDOp_8E
dd DDOp_8F
dd DDOp_90
dd DDOp_91
dd DDOp_92
dd DDOp_93
dd DDOp_94
dd DDOp_95
dd DDOp_96
dd DDOp_97
dd DDOp_98
dd DDOp_99
dd DDOp_9A
dd DDOp_9B
dd DDOp_9C
dd DDOp_9D
dd DDOp_9E
dd DDOp_9F
dd DDOp_A0
dd DDOp_A1
dd DDOp_A2
dd DDOp_A3
dd DDOp_A4
dd DDOp_A5
dd DDOp_A6
dd DDOp_A7
dd DDOp_A8
dd DDOp_A9
dd DDOp_AA
dd DDOp_AB
dd DDOp_AC
dd DDOp_AD
dd DDOp_AE
dd DDOp_AF
dd DDOp_B0
dd DDOp_B1
dd DDOp_B2
dd DDOp_B3
dd DDOp_B4
dd DDOp_B5
dd DDOp_B6
dd DDOp_B7
dd DDOp_B8
dd DDOp_B9
dd DDOp_BA
dd DDOp_BB
dd DDOp_BC
dd DDOp_BD
dd DDOp_BE
dd DDOp_BF
dd DDOp_C0
dd DDOp_C1
dd DDOp_C2
dd DDOp_C3
dd DDOp_C4
dd DDOp_C5
dd DDOp_C6
dd DDOp_C7
dd DDOp_C8
dd DDOp_C9
dd DDOp_CA
dd DDOp_CB
dd DDOp_CC
dd DDOp_CD
dd DDOp_CE
dd DDOp_CF
dd DDOp_D0
dd DDOp_D1
dd DDOp_D2
dd DDOp_D3
dd DDOp_D4
dd DDOp_D5
dd DDOp_D6
dd DDOp_D7
dd DDOp_D8
dd DDOp_D9
dd DDOp_DA
dd DDOp_DB
dd DDOp_DC
dd DDOp_DD
dd DDOp_DE
dd DDOp_DF
dd DDOp_E0
dd DDOp_E1
dd DDOp_E2
dd DDOp_E3
dd DDOp_E4
dd DDOp_E5
dd DDOp_E6
dd DDOp_E7
dd DDOp_E8
dd DDOp_E9
dd DDOp_EA
dd DDOp_EB
dd DDOp_EC
dd DDOp_ED
dd DDOp_EE
dd DDOp_EF
dd DDOp_F0
dd DDOp_F1
dd DDOp_F2
dd DDOp_F3
dd DDOp_F4
dd DDOp_F5
dd DDOp_F6
dd DDOp_F7
dd DDOp_F8
dd DDOp_F9
dd DDOp_FA
dd DDOp_FB
dd DDOp_FC
dd DDOp_FD
dd DDOp_FE
dd DDOp_FF
DDOp_0 db "NOP",0
DDOp_1 db "LD BC,w",0
DDOp_2 db "LD (BC),A",0
DDOp_3 db "INC BC",0
DDOp_4 db "INC B",0
DDOp_5 db "DEC B",0
DDOp_6 db "LD B,q",0
DDOp_7 db "RLCA",0
DDOp_8 db "EX AF,AF'",0
DDOp_9 db "ADD IX,BC",0
DDOp_A db "LD A,(BC)",0
DDOp_B db "DEC BC",0
DDOp_C db "INC C",0
DDOp_D db "DEC C",0
DDOp_E db "LD C,q",0
DDOp_F db "RRCA",0
DDOp_10 db "|DJNZ e",0
DDOp_11 db "LD DE,w",0
DDOp_12 db "LD (DE),A",0
DDOp_13 db "INC DE",0
DDOp_14 db "INC D",0
DDOp_15 db "DEC D",0
DDOp_16 db "LD D,q",0
DDOp_17 db "RLA",0
DDOp_18 db "|JR e",0
DDOp_19 db "ADD IX,DE",0
DDOp_1A db "LD A,(DE)",0
DDOp_1B db "DEC DE",0
DDOp_1C db "INC E",0
DDOp_1D db "DEC E",0
DDOp_1E db "LD E,q",0
DDOp_1F db "RRA",0
DDOp_20 db "|JR NZ,e",0
DDOp_21 db "LD IX,w",0
DDOp_22 db "LD (w),IX",0
DDOp_23 db "INC IX",0
DDOp_24 db "INC IXH",0
DDOp_25 db "DEC IXH",0
DDOp_26 db "LD IXH,q",0
DDOp_27 db "DAA",0
DDOp_28 db "|JR Z,e",0
DDOp_29 db "ADD IX,IX",0
DDOp_2A db "LD IX,(w)",0
DDOp_2B db "DEC IX",0
DDOp_2C db "INC IXL",0
DDOp_2D db "DEC IXL",0
DDOp_2E db "LD IXL,q",0
DDOp_2F db "CPL",0
DDOp_30 db "|JR NC,e",0
DDOp_31 db "LD SP,w",0
DDOp_32 db "LD (w),A",0
DDOp_33 db "INC SP",0
DDOp_34 db "INC (IX+)",0
DDOp_35 db "DEC (IX+)",0
DDOp_36 db "LD (IX+),q",0
DDOp_37 db "SCF",0
DDOp_38 db "|JR C,e",0
DDOp_39 db "ADD IX,SP",0
DDOp_3A db "LD A,(w)",0
DDOp_3B db "DEC SP",0
DDOp_3C db "INC A",0
DDOp_3D db "DEC A",0
DDOp_3E db "LD A,q",0
DDOp_3F db "CCF",0
DDOp_40 db "LD B,B",0
DDOp_41 db "LD B,C",0
DDOp_42 db "LD B,D",0
DDOp_43 db "LD B,E",0
DDOp_44 db "LD B,IXH",0
DDOp_45 db "LD B,IXL",0
DDOp_46 db "LD B,(IX+)",0
DDOp_47 db "LD B,A",0
DDOp_48 db "LD C,B",0
DDOp_49 db "LD C,C",0
DDOp_4A db "LD C,D",0
DDOp_4B db "LD C,E",0
DDOp_4C db "LD C,IXH",0
DDOp_4D db "LD C,IXL",0
DDOp_4E db "LD C,(IX+)",0
DDOp_4F db "LD C,A",0
DDOp_50 db "LD D,B",0
DDOp_51 db "LD D,C",0
DDOp_52 db "LD D,D",0
DDOp_53 db "LD D,E",0
DDOp_54 db "LD D,IXH",0
DDOp_55 db "LD D,IXL",0
DDOp_56 db "LD D,(IX+)",0
DDOp_57 db "LD D,A",0
DDOp_58 db "LD E,B",0
DDOp_59 db "LD E,C",0
DDOp_5A db "LD E,D",0
DDOp_5B db "LD E,E",0
DDOp_5C db "LD E,IXH",0
DDOp_5D db "LD E,IXL",0
DDOp_5E db "LD E,(IX+)",0
DDOp_5F db "LD E,A",0
DDOp_60 db "LD IXH,B",0
DDOp_61 db "LD IXH,C",0
DDOp_62 db "LD IXH,D",0
DDOp_63 db "LD IXH,E",0
DDOp_64 db "LD IXH,IXH",0
DDOp_65 db "LD IXH,IXL",0
DDOp_66 db "LD H,(IX+)",0
DDOp_67 db "LD IXH,A",0
DDOp_68 db "LD IXL,B",0
DDOp_69 db "LD IXL,C",0
DDOp_6A db "LD IXL,D",0
DDOp_6B db "LD IXL,E",0
DDOp_6C db "LD IXL,IXH",0
DDOp_6D db "LD IXL,IXL",0
DDOp_6E db "LD L,(IX+)",0
DDOp_6F db "LD IXL,A",0
DDOp_70 db "LD (IX+),B",0
DDOp_71 db "LD (IX+),C",0
DDOp_72 db "LD (IX+),D",0
DDOp_73 db "LD (IX+),E",0
DDOp_74 db "LD (IX+),H",0
DDOp_75 db "LD (IX+),L",0
DDOp_76 db "HALT",0
DDOp_77 db "LD (IX+),A",0
DDOp_78 db "LD A,B",0
DDOp_79 db "LD A,C",0
DDOp_7A db "LD A,D",0
DDOp_7B db "LD A,E",0
DDOp_7C db "LD A,IXH",0
DDOp_7D db "LD A,IXL",0
DDOp_7E db "LD A,(IX+)",0
DDOp_7F db "LD A,A",0
DDOp_80 db "ADD A,B",0
DDOp_81 db "ADD A,C",0
DDOp_82 db "ADD A,D",0
DDOp_83 db "ADD A,E",0
DDOp_84 db "ADD A,IXH",0
DDOp_85 db "ADD A,IXL",0
DDOp_86 db "ADD A,(IX+)",0
DDOp_87 db "ADD A,A",0
DDOp_88 db "ADC A,B",0
DDOp_89 db "ADC A,C",0
DDOp_8A db "ADC A,D",0
DDOp_8B db "ADC A,E",0
DDOp_8C db "ADC A,IXH",0
DDOp_8D db "ADC A,IXL",0
DDOp_8E db "ADC A,(IX+)",0
DDOp_8F db "ADC A,A",0
DDOp_90 db "SUB B",0
DDOp_91 db "SUB C",0
DDOp_92 db "SUB D",0
DDOp_93 db "SUB E",0
DDOp_94 db "SUB IXH",0
DDOp_95 db "SUB IXL",0
DDOp_96 db "SUB (IX+)",0
DDOp_97 db "SUB A",0
DDOp_98 db "SBC A,B",0
DDOp_99 db "SBC A,C",0
DDOp_9A db "SBC A,D",0
DDOp_9B db "SBC A,E",0
DDOp_9C db "SBC A,IXH",0
DDOp_9D db "SBC A,IXL",0
DDOp_9E db "SBC A,(IX+)",0
DDOp_9F db "SBC A,A",0
DDOp_A0 db "AND B",0
DDOp_A1 db "AND C",0
DDOp_A2 db "AND D",0
DDOp_A3 db "AND E",0
DDOp_A4 db "AND IXH",0
DDOp_A5 db "AND IXL",0
DDOp_A6 db "AND (IX+)",0
DDOp_A7 db "AND A",0
DDOp_A8 db "XOR B",0
DDOp_A9 db "XOR C",0
DDOp_AA db "XOR D",0
DDOp_AB db "XOR E",0
DDOp_AC db "XOR IXH",0
DDOp_AD db "XOR IXL",0
DDOp_AE db "XOR (IX+)",0
DDOp_AF db "XOR A",0
DDOp_B0 db "OR B",0
DDOp_B1 db "OR C",0
DDOp_B2 db "OR D",0
DDOp_B3 db "OR E",0
DDOp_B4 db "OR IXH",0
DDOp_B5 db "OR IXL",0
DDOp_B6 db "OR (IX+)",0
DDOp_B7 db "OR A",0
DDOp_B8 db "CP B",0
DDOp_B9 db "CP C",0
DDOp_BA db "CP D",0
DDOp_BB db "CP E",0
DDOp_BC db "CP IXH",0
DDOp_BD db "CP IXL",0
DDOp_BE db "CP (IX+)",0
DDOp_BF db "CP A",0
DDOp_C0 db "|RET NZ",0
DDOp_C1 db "POP BC",0
DDOp_C2 db "|JP NZ,j",0
DDOp_C3 db "|JP j",0
DDOp_C4 db "CALL NZ,j",0
DDOp_C5 db "PUSH BC",0
DDOp_C6 db "ADD A,q",0
DDOp_C7 db "RST r",0
DDOp_C8 db "|RET Z",0
DDOp_C9 db "|RET",0
DDOp_CA db "|JP Z,j",0
DDOp_CB db "DEFB $DD,$CB",0
DDOp_CC db "CALL Z,j",0
DDOp_CD db "CALL j",0
DDOp_CE db "ADC A,q",0
DDOp_CF db "RST r",0
DDOp_D0 db "|RET NC",0
DDOp_D1 db "POP DE",0
DDOp_D2 db "|JP NC,j",0
DDOp_D3 db "OUT (q),A",0
DDOp_D4 db "CALL NC,j",0
DDOp_D5 db "PUSH DE",0
DDOp_D6 db "SUB q",0
DDOp_D7 db "RST r",0
DDOp_D8 db "|RET C",0
DDOp_D9 db "EXX",0
DDOp_DA db "|JP C,j",0
DDOp_DB db "IN A,(q)",0
DDOp_DC db "CALL C,j",0
DDOp_DD db "DEFB $DD",0
DDOp_DE db "SBC A,q",0
DDOp_DF db "RST r",0
DDOp_E0 db "|RET PO",0
DDOp_E1 db "POP IX",0