emu: update si in cmps[bw] string loop [bugfix]
This commit is contained in:
@@ -112,7 +112,7 @@ pub fn cmpsb(flags: &mut Flags,
|
|||||||
si: &mut Reg,
|
si: &mut Reg,
|
||||||
es: &mut Reg,
|
es: &mut Reg,
|
||||||
di: &mut Reg) {
|
di: &mut Reg) {
|
||||||
string_op!((u8, flags, rep, cx, di=di, zf=flags.zf), {
|
string_op!((u8, flags, rep, cx, si=si, di=di, zf=flags.zf), {
|
||||||
let src = <FarPtr as RValue<u8>>::read(&FarPtr { bus: bus, segment: seg, offset: si.read() });
|
let src = <FarPtr as RValue<u8>>::read(&FarPtr { bus: bus, segment: seg, offset: si.read() });
|
||||||
let dst = <FarPtr as RValue<u8>>::read(&FarPtr { bus: bus, segment: es.read(), offset: di.read() });
|
let dst = <FarPtr as RValue<u8>>::read(&FarPtr { bus: bus, segment: es.read(), offset: di.read() });
|
||||||
|
|
||||||
@@ -128,7 +128,7 @@ pub fn cmpsw(flags: &mut Flags,
|
|||||||
si: &mut Reg,
|
si: &mut Reg,
|
||||||
es: &mut Reg,
|
es: &mut Reg,
|
||||||
di: &mut Reg) {
|
di: &mut Reg) {
|
||||||
string_op!((u16, flags, rep, cx, di=di, zf=flags.zf), {
|
string_op!((u16, flags, rep, cx, si=si, di=di, zf=flags.zf), {
|
||||||
let src = <FarPtr as RValue<u16>>::read(&FarPtr { bus: bus, segment: seg, offset: si.read() });
|
let src = <FarPtr as RValue<u16>>::read(&FarPtr { bus: bus, segment: seg, offset: si.read() });
|
||||||
let dst = <FarPtr as RValue<u16>>::read(&FarPtr { bus: bus, segment: es.read(), offset: di.read() });
|
let dst = <FarPtr as RValue<u16>>::read(&FarPtr { bus: bus, segment: es.read(), offset: di.read() });
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user