At 01:10 PM 11/30/2012, Ladislav Lacina wrote:
>I haven't expect that somebody on this forum doesn't understand 
>"seges lea di,A" instruction. So explanation:LEA DI,a - load address 
>of A into DS:DISEGES LEA DI,a load address of A into ES:DI

Careful!

As I mentioned, I have never see or used the SEGES instruction and I 
am using Borland Pascal 7 ever since it was released, in fact almost 
daily (ok, weekly) use it for a lot of "quick and dirty" stuff...
And I am using x86 assembler for pretty much 30 years by now!

I don't have the time to verify in a debugger or via disassembly what 
it exactly is supposed to do, but as I mentioned, the proper 
instructions to do so without any doubts would be "LES DI, a" as I 
mentioned in my previous post. That will properly load both segment 
and offset as expected for the function call, if that in fact is the 
(sole) source of the problem.
Tom's push ss/pop es assumes that "a" is a local variable on the 
stack and will work only in exact that case, my version will work 
regardless where "a" is located...

Ralf 


------------------------------------------------------------------------------
Keep yourself connected to Go Parallel: 
TUNE You got it built. Now make it sing. Tune shows you how.
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