emu: modrm8 r8 decode had HI/LO registers backwards
This commit is contained in:
@@ -271,14 +271,14 @@ macro_rules! step {
|
|||||||
(@r8 $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, ($modrm_val:ident, $modrm:tt, $modrm16:tt, $modrm8:tt)) => {
|
(@r8 $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, ($modrm_val:ident, $modrm:tt, $modrm16:tt, $modrm8:tt)) => {
|
||||||
// TODO: Should these also be passed into the macro like the modrm specs?
|
// TODO: Should these also be passed into the macro like the modrm specs?
|
||||||
match $modrm_val >> 3 & 0x7 {
|
match $modrm_val >> 3 & 0x7 {
|
||||||
0 => step!(@arg $cookie, RegHi { reg: &$cpu.a } ),
|
0 => step!(@arg $cookie, RegLo { reg: &$cpu.a } ),
|
||||||
1 => step!(@arg $cookie, RegHi { reg: &$cpu.c } ),
|
1 => step!(@arg $cookie, RegLo { reg: &$cpu.c } ),
|
||||||
2 => step!(@arg $cookie, RegHi { reg: &$cpu.d } ),
|
2 => step!(@arg $cookie, RegLo { reg: &$cpu.d } ),
|
||||||
3 => step!(@arg $cookie, RegHi { reg: &$cpu.b } ),
|
3 => step!(@arg $cookie, RegLo { reg: &$cpu.b } ),
|
||||||
4 => step!(@arg $cookie, RegLo { reg: &$cpu.a } ),
|
4 => step!(@arg $cookie, RegHi { reg: &$cpu.a } ),
|
||||||
5 => step!(@arg $cookie, RegLo { reg: &$cpu.c } ),
|
5 => step!(@arg $cookie, RegHi { reg: &$cpu.c } ),
|
||||||
6 => step!(@arg $cookie, RegLo { reg: &$cpu.d } ),
|
6 => step!(@arg $cookie, RegHi { reg: &$cpu.d } ),
|
||||||
7 => step!(@arg $cookie, RegLo { reg: &$cpu.b } ),
|
7 => step!(@arg $cookie, RegHi { reg: &$cpu.b } ),
|
||||||
_ => unreachable!()
|
_ => unreachable!()
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user