emu: Rename "Addr" to "FarPtr"
It was a little confusing with the "Address" trait. And FarPtr carries with it a segment.
This commit is contained in:
@@ -3,7 +3,7 @@ use std::fmt::{Debug, Formatter};
|
||||
|
||||
use super::byteorder::{ByteOrder, LittleEndian};
|
||||
|
||||
use emu::operands::{Addr, Reg, RegHi, RegLo};
|
||||
use emu::operands::{FarPtr, Reg, RegHi, RegLo};
|
||||
use emu::operations as ops;
|
||||
use emu::pc::Bus;
|
||||
use emu::util::segoff_to_addr;
|
||||
@@ -96,7 +96,7 @@ macro_rules! step {
|
||||
($segment:ident, $repeat:ident, $prefix_loop:lifetime),
|
||||
$modrm:tt) => { {
|
||||
let a16 = i8088::next_ip16($cpu.cs.get(), &mut $cpu.ip, $bus);
|
||||
step!(@arg $cookie, &mut Addr { bus: $bus, segment: $segment.unwrap(), offset: a16 } )
|
||||
step!(@arg $cookie, &mut FarPtr { bus: $bus, segment: $segment.unwrap(), offset: a16 } )
|
||||
} };
|
||||
|
||||
(@bus $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, $modrm:tt) => {
|
||||
@@ -125,27 +125,27 @@ macro_rules! step {
|
||||
(@displace0=($reg1:ident $(+ $reg2:ident)? ) $cookie:tt, $cpu:expr, $bus:expr,
|
||||
($segment:ident, $repeat:ident, $prefix_loop:lifetime),
|
||||
$modrm:tt) => {
|
||||
step!(@arg $cookie, &mut Addr { bus: $bus,
|
||||
segment: $segment.unwrap(),
|
||||
offset: $cpu.$reg1.get() $(+ $cpu.$reg2.get())? })
|
||||
step!(@arg $cookie, &mut FarPtr { bus: $bus,
|
||||
segment: $segment.unwrap(),
|
||||
offset: $cpu.$reg1.get() $(+ $cpu.$reg2.get())? })
|
||||
};
|
||||
|
||||
(@displace8=($reg1:ident $(+ $reg2:ident)? ) $cookie:tt, $cpu:expr, $bus:expr,
|
||||
($segment:ident, $repeat:ident, $prefix_loop:lifetime),
|
||||
$modrm:tt) => { {
|
||||
let d8 = i8088::next_ip($cpu.cs.get(), &mut $cpu.ip, $bus);
|
||||
step!(@arg $cookie, &mut Addr { bus: $bus,
|
||||
segment: $segment.unwrap(),
|
||||
offset: $cpu.$reg1.get() $(+ $cpu.$reg2.get())? + d8 as u16 })
|
||||
step!(@arg $cookie, &mut FarPtr { bus: $bus,
|
||||
segment: $segment.unwrap(),
|
||||
offset: $cpu.$reg1.get() $(+ $cpu.$reg2.get())? + d8 as u16 })
|
||||
} };
|
||||
|
||||
(@displace16=($reg1:ident $(+ $reg2:ident)? ) $cookie:tt, $cpu:expr, $bus:expr,
|
||||
($segment:ident, $repeat:ident, $prefix_loop:lifetime),
|
||||
$modrm:tt) => { {
|
||||
let d16 = i8088::next_ip16($cpu.cs.get(), &mut $cpu.ip, $bus);
|
||||
step!(@arg $cookie, &mut Addr { bus: $bus,
|
||||
segment: $segment.unwrap(),
|
||||
offset: $cpu.$reg1.get() $(+ $cpu.$reg2.get())? + d16 })
|
||||
step!(@arg $cookie, &mut FarPtr { bus: $bus,
|
||||
segment: $segment.unwrap(),
|
||||
offset: $cpu.$reg1.get() $(+ $cpu.$reg2.get())? + d16 })
|
||||
} };
|
||||
|
||||
(@flags $cookie:tt, $cpu:expr, $bus:expr, $prefix:tt, $modrm:tt) => {
|
||||
|
||||
Reference in New Issue
Block a user