Skip to content

Commit 6c83258

Browse files
committed
[MC6809] Fix HD6309 DIVD instruction operand
1 parent 6fd437d commit 6c83258

File tree

5 files changed

+21
-20
lines changed

5 files changed

+21
-20
lines changed

src/table_mc6809.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ static constexpr Entry HD6309_P11[] PROGMEM = {
494494
U1(0x87, TEXT_STE, M_IM8),
495495
E1(0x87, TEXT_STE, M_GEN8),
496496
E1(0x8B, TEXT_ADDE, M_GEN8),
497-
E1(0x8D, TEXT_DIVD, M_GEN16),
497+
E1(0x8D, TEXT_DIVD, M_GEN8),
498498
E1(0x8E, TEXT_DIVQ, M_GEN16),
499499
E1(0x8F, TEXT_MULD, M_GEN16),
500500
E1(0xC0, TEXT_SUBF, M_GEN8),

test/autogen/gen_hd6309.asm

+5-5
Original file line numberDiff line numberDiff line change
@@ -4810,7 +4810,7 @@
48104810
LDE #$87
48114811
ADDE #$8C
48124812
CMPS #$8D8E
4813-
DIVD #$8E8F
4813+
DIVD #$8E
48144814
DIVQ #$8F90
48154815
MULD #$9091
48164816
SUBE $91
@@ -4843,7 +4843,7 @@
48434843
SUBE *-79,PCR
48444844
SUBE *,PCR
48454845
SUBE *+1,PCR
4846-
SUBE *-$4431,PCR
4846+
SUBE *-$4430,PCR
48474847
SUBE >*-$007B,PCR
48484848
SUBE >*,PCR
48494849
SUBE >*+1,PCR
@@ -5386,7 +5386,7 @@
53865386
LDE *-79,PCR
53875387
LDE *,PCR
53885388
LDE *+1,PCR
5389-
LDE *-$4C26,PCR
5389+
LDE *-$4C25,PCR
53905390
LDE >*-$007B,PCR
53915391
LDE >*,PCR
53925392
LDE >*+1,PCR
@@ -7954,7 +7954,7 @@
79547954
LEAX *-112,PCR
79557955
LEAX *,PCR
79567956
LEAX *+1,PCR
7957-
LEAX *-$6F62,PCR
7957+
LEAX *-$6F61,PCR
79587958
LEAX >*-$007C,PCR
79597959
LEAX >*,PCR
79607960
LEAX >*+1,PCR
@@ -8137,7 +8137,7 @@
81378137
LEAY *-112,PCR
81388138
LEAY *,PCR
81398139
LEAY *+1,PCR
8140-
LEAY *-$7158,PCR
8140+
LEAY *-$7157,PCR
81418141
LEAY >*-$007C,PCR
81428142
LEAY >*,PCR
81438143
LEAY >*+1,PCR

test/reference/test_hd6309.s19

+11-11
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,15 @@ S11304F0323311324252113344551134B4C41135DC
6565
S113050095A5113637381137383911381211392376
6666
S1130510113A34113B40113C3D113D3E1143114A07
6767
S1130520114C114D114F1153115A115C115D115F92
68-
S1130530118081118182118687118B8C118D008E1F
69-
S1130540118E8F90118F909111909111919211961B
70-
S113055097119798119B9C119D9E119E9F119FA08E
71-
S113056011A0A111A1A211A6A711A7A8A911ABAA14
72-
S113057011ADAE11AEAFB0B111AFB111B0B1B21196
73-
S1130580B1B2B311B6B7B811B7B8B911BBBCBD118C
74-
S1130590BDBEBF11BEBFC011BFC0C111C0C111C11A
75-
S11305A0C211C6C711CBCC11D0D111D1D211D6D71B
76-
S11305B011D7D811DBDE11E0E111E1E211E6E71118
77-
S11305C0E7E8E911EBEA11F0F1F211F1F2F311F6B7
78-
S10D05D0F7F811F7F8F911FBFCFD30
68+
S1130530118081118182118687118B8C118D8E110E
69+
S11305408E8F90118F909111909111919211969795
70+
S1130550119798119B9C119D9E119E9F119FA01114
71+
S1130560A0A111A1A211A6A711A7A8A911ABAA1114
72+
S1130570ADAE11AEAFB0B111AFB111B0B1B211B1F6
73+
S1130580B2B311B6B7B811B7B8B911BBBCBD11BD80
74+
S1130590BEBF11BEBFC011BFC0C111C0C111C1C215
75+
S11305A011C6C711CBCC11D0D111D1D211D6D711CC
76+
S11305B0D7D811DBDE11E0E111E1E211E6E711E742
77+
S11305C0E8E911EBEA11F0F1F211F1F2F311F6F7A7
78+
S10C05D0F811F7F8F911FBFCFD28
7979
S9030000FC

test/test_asm_mc6809.cpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,8 @@ static void test_immediate() {
511511
ERRT("STQ #$12345678", OPERAND_NOT_ALLOWED, "#$12345678");
512512

513513
TEST("MULD #$90A0", 0x11, 0x8F, 0x90, 0xA0);
514-
TEST("DIVD #$90A0", 0x11, 0x8D, 0x90, 0xA0);
514+
TEST("DIVD #$90", 0x11, 0x8D, 0x90);
515+
TEST("DIVD #$90A0", 0x11, 0x8D, 0xA0);
515516
TEST("DIVQ #$90A0", 0x11, 0x8E, 0x90, 0xA0);
516517
} else {
517518
ERUI("LDMD #$01");
@@ -536,7 +537,7 @@ static void test_immediate() {
536537
ERUI("CMPW #$90A0");
537538
ERUI("LDQ #$12345678");
538539
ERUI("MULD #$90A0");
539-
ERUI("DIVD #$90A0");
540+
ERUI("DIVD #$90");
540541
}
541542

542543
symtab.intern(0x90, "dir90");

test/test_dis_mc6809.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ static void test_immediate() {
213213
NMEM("LDQ", "#0", "0", 0xCD);
214214

215215
TEST("MULD", "#$90A0", 0x11, 0x8F, 0x90, 0xA0);
216-
TEST("DIVD", "#$90A0", 0x11, 0x8D, 0x90, 0xA0);
216+
TEST("DIVD", "#$90", 0x11, 0x8D, 0x90);
217217
TEST("DIVQ", "#$90A0", 0x11, 0x8E, 0x90, 0xA0);
218218
}
219219

0 commit comments

Comments
 (0)