Under phys_copy
line 563: mov eax, FLAT_DS_SELECTOR
line 564: mov es, ax
I don't know What function about FLAT_DS_SELECTOR represents.
Why FLAT_DS_SELECTOR can move to es and also ds?
I think flat memory map make no difference about es and ds,
because es=ds. Is that right?
Thanks for you help.
--
guokun Northwestern Polytechnical University ,China.
The descriptor for that selector addresses all memory from address zero
up.
>Why FLAT_DS_SELECTOR can move to es and also ds?
>I think flat memory map make no difference about es and ds,
>because es=ds. Is that right?
The string instructions read from DS:ESI and/or write to ES:EDI. You
can use a segment override to change DS into another segment register,
which is done for phys_copy, ESEG MOVS moves words from ES:ESI to
ES:EDI.
(Just to be complete: The 8086 has a bug that makes it forget about the
segment override if the REP xSEG MOVS is interrupted.)
--
Kees J. Bot, Systems Programmer, Sciences dept., Vrije Universiteit Amsterdam
---
guokun
--
guokun,Northwestern Polytechnical University ,China