At 04:04 PM 11/30/2012, Daniel Verkamp wrote: >I am not familiar with Borland Pascal's inline assembler syntax, but >presumably "SEGES" is the ES segment override prefix (26h), which is >meaningless with LEA. Only the destination register - DI in this case >- will be modified by LEA; the segment override will be ignored >completely. (
Correct, LEA (Load Effective Address) should rather be have been called LOA (Load Offset Address), it does not make any assumption nor does it effect any segment register. It just puts the offset part of an address in the target register specified in the instruction (DI in this case). >Ralf's explanation is correct; LES loads both ES and the destination >register (DI) with the full far pointer/16:16 address. ;-) I will post some disassembly of both codes a bit later... Ralf ------------------------------------------------------------------------------ Keep yourself connected to Go Parallel: INSIGHTS What's next for parallel hardware, programming and related areas? Interviews and blogs by thought leaders keep you ahead of the curve. http://goparallel.sourceforge.net _______________________________________________ Freedos-devel mailing list Freedos-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-devel