diff --git a/src/emu/i8088.rs b/src/emu/i8088.rs index d533972..f5308b9 100644 --- a/src/emu/i8088.rs +++ b/src/emu/i8088.rs @@ -114,7 +114,7 @@ macro_rules! step { }; (@modrm16 $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, - ($modrm_val:ident, { $($val:literal => $($args:ident = $argrhs:tt),*),*$(,)? }, $modrm8:tt)) => { { + ($modrm_val:ident, { $($val:literal => $($args:ident = $argrhs:tt),* / $mode:ident $cycles:literal),*$(,)? }, $modrm8:tt)) => { { let modrm_val = $modrm_val & !0x38; match modrm_val { $( $val => step!(@push $cookie, ($($args = $argrhs)* ) ) ),*, @@ -123,7 +123,7 @@ macro_rules! step { } }; (@modrm8 $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, - ($modrm_val:ident, $modrm16:tt, { $($val:literal => $($args:ident = $argrhs:tt),*),*$(,)? } )) => { { + ($modrm_val:ident, $modrm16:tt, { $($val:literal => $($args:ident = $argrhs:tt),* / $mode:ident $cycles:literal),*$(,)? } )) => { { let modrm_val = $modrm_val & !0x38; match modrm_val { $( $val => step!(@push $cookie, ($($args = $argrhs)* ) ) ),*, @@ -295,24 +295,24 @@ impl i8088 { 0xE8 => call[reg=ip, regval=ss, reg=sp, mem, rel16] / 23, }, modrm16: { - 0xC0 => reg=a, - 0xC1 => reg=c, - 0xC2 => reg=d, - 0xC3 => reg=b, - 0xC4 => reg=sp, - 0xC5 => reg=bp, - 0xC6 => reg=si, - 0xC7 => reg=di, + 0xC0 => reg=a / R 0, + 0xC1 => reg=c / R 0, + 0xC2 => reg=d / R 0, + 0xC3 => reg=b / R 0, + 0xC4 => reg=sp / R 0, + 0xC5 => reg=bp / R 0, + 0xC6 => reg=si / R 0, + 0xC7 => reg=di / R 0, }, modrm8: { - 0xC0 => reglo=a, - 0xC1 => reglo=c, - 0xC2 => reglo=d, - 0xC3 => reglo=b, - 0xC4 => reghi=a, - 0xC5 => reghi=c, - 0xC6 => reghi=d, - 0xC7 => reghi=b, + 0xC0 => reglo=a / R 0, + 0xC1 => reglo=c / R 0, + 0xC2 => reglo=d / R 0, + 0xC3 => reglo=b / R 0, + 0xC4 => reghi=a / R 0, + 0xC5 => reghi=c / R 0, + 0xC6 => reghi=d / R 0, + 0xC7 => reghi=b / R 0, }) } }