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

Reply via email to