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)) => {
|
||||
// TODO: Should these also be passed into the macro like the modrm specs?
|
||||
match $modrm_val >> 3 & 0x7 {
|
||||
0 => step!(@arg $cookie, RegHi { reg: &$cpu.a } ),
|
||||
1 => step!(@arg $cookie, RegHi { reg: &$cpu.c } ),
|
||||
2 => step!(@arg $cookie, RegHi { reg: &$cpu.d } ),
|
||||
3 => step!(@arg $cookie, RegHi { reg: &$cpu.b } ),
|
||||
4 => step!(@arg $cookie, RegLo { reg: &$cpu.a } ),
|
||||
5 => step!(@arg $cookie, RegLo { reg: &$cpu.c } ),
|
||||
6 => step!(@arg $cookie, RegLo { reg: &$cpu.d } ),
|
||||
7 => step!(@arg $cookie, RegLo { reg: &$cpu.b } ),
|
||||
0 => step!(@arg $cookie, RegLo { reg: &$cpu.a } ),
|
||||
1 => step!(@arg $cookie, RegLo { reg: &$cpu.c } ),
|
||||
2 => step!(@arg $cookie, RegLo { reg: &$cpu.d } ),
|
||||
3 => step!(@arg $cookie, RegLo { reg: &$cpu.b } ),
|
||||
4 => step!(@arg $cookie, RegHi { reg: &$cpu.a } ),
|
||||
5 => step!(@arg $cookie, RegHi { reg: &$cpu.c } ),
|
||||
6 => step!(@arg $cookie, RegHi { reg: &$cpu.d } ),
|
||||
7 => step!(@arg $cookie, RegHi { reg: &$cpu.b } ),
|
||||
_ => unreachable!()
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user