Page 2 of 2

Re: DOS application don't work

Posted: Fri Apr 13, 2012 4:26 pm
by Kazinsal
0x1f1 wrote:Angry bold text!!
Stop that. Yelling is not nice. Google "netiquette".

You've gotten your answer. Run it in DOS, and don't come yelling at us if you nuke your MBR. The NTVDM probably has protections against doing potentially malicious/stupid things like this.

Why are you even writing a DOS application that's designed to run in Windows? It's not going to work in x64, and who knows how long x86 Windows will last (probably not very much past Windows 8). DOS is a dead platform. Microsoft has known it since the release of OS/2.

Re: DOS application don't work

Posted: Fri Apr 13, 2012 4:59 pm
by linguofreak
0x1f1 wrote: The only thing that I can't understand is that when my DOS Application that use INT 13h enter at INT 13h it find the instruction LES AX,SP that stop the application. What is the instrunction LES AX,SP and why this instruction stop the DOS application that I write?
LES can't have a register for its second operand, see: http://www.fermi.mn.it/linux/quarta/x86/lgs.htm

I understand that NTVDM uses the fault generated by this instruction to transfer from V86 mode to Windows code running in normal protected mode.

In any case, it's not actually this instruction that's causing the problem (though if you're tracing it in a debugger, the debugger will probably stop at this instruction because of the V86 -> Normal protected mode transition).

LES AX, SP is just part of the processing of INT 13h. In the course of that processing, NTVDM is determining that you're trying to do something that it doesn't support, and is giving you an error message.

Re: DOS application don't work

Posted: Fri Apr 13, 2012 5:08 pm
by brain
Obvious troll is obvious...

Re: DOS application don't work

Posted: Mon Apr 16, 2012 5:59 am
by AJ
Banned in 4 posts. Apart from spambots, I think that may be a record.