Hi Eric.

I went to github, but the readme didn't show the "/e"
parameter. I looked around in the "docs" and "cmd"
but nothing stood out. I don't want to report a bug
unless I can see the documentation myself that says
32768. Currently I only see it when I go command /?
on my version which is presumably old.

Anyway, your theory is correct. ECX increases by 1
if I add another character to the command line. I have
already raised a problem with HX, so we'll see what
happens.

BTW, I'm a bit surprised this hasn't been found a long
time ago. HX + doslfn + Freedos gives you a free
Windows-compatible environment. Surely there is
some demand for this? The only thing I know of that
is missing is msvcrt.dll. I provide one of those with
PDPCLIB, but it only has C90 functionality. Not sure
if someone else provides the msvcrt.dll that Wine
must be using, for Freedos.

Note that I provide another Win32 environment
with PDOS/386.

BFN. Paul.




-----Original Message----- From: Eric Auer Sent: Sunday, May 30, 2021 9:06 PM To: Discussions and general questions about FreeDOS Subject: Re: [Freedos-user] CMDLINE

Hi Paul,

Thanks Eric - 32766 solved the problem!

Good, could you file a ticket on that github to
update the documentation to stop saying "32768"
instead of the correct 32766? Thanks! :-)

C:\DEVEL\binutils-2.14a>gcc386 -S temp.c jjjjjjjjjjjjjjjjjjjjj
ddddddddddddddddd
dddddddddd eeeeeeeeeeeeeeeeeeeeeeee jjjjjjjjjjjjjjjjjjjjjj iiii
doing CreateFile with Xtemp.cX
cc1: temp.c: An error has occurred

This isn't!

C:\DEVEL\binutils-2.14a>gcc386 -S temp.c
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbb
bbbbbbbbbbbbbbbbbbb jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
kkkkkkkkkkkkkkkkkllll

Commandline longer than 125 characters.
Exception 0D
EAX=00000282 EBX=0000549D ECX=00000003 EDX=00000274 ESI=00000100
EDI=00000100 EBP=00005898 ESP=00005702 EFL=00013246 EIP=000009FE
CS=0097 (00111000,000058CF,00FB) SS=008F (00111000,000058CF,40F3)
DS=009F (00029AF0,0000010F,00F3) ES=00D7 (000298C0,000000FF,00F3)
FS=0000 (********,********,****) GS=0000 (********,********,****)
LDTR=0038 (FF80F000,00000FFF,0082) TR=0030 (0002F770,00000067,008B)
ERRC=0000 (********,********,****) PTE 1. Page LDT=1FFEF467
GDTR=07FF:FF80E000 IDTR=07FF:FF80E800 PTE CR2=00000067
CR0=E0000031 CR2=00000000 CR3=1FFFF000 CR4=00000200 TSS:ESP0=00002898
DR0-3=00000000 00000000 00000000 00000000 DR6=FFFF0FF0 DR7=00000400
LPMS Sel=0087(01) RMS=31F6:0200 open RMCBs=0000/0000 ISR=0000
  [EIP]=F3 67 A4 F7 C7 00 FF 75 03 B0 0D AA

That would be "rep a16 movsb" if the task is 32-bit?
If the GPF is caused by ESI=EDI=100, maybe the "FF"
in the description of ES refers to segment length?
Which could mean a pointer overflow?

Does the ECX in the error message get larger when you
make the command line longer? If yes, it could mean
that something tries to copy the over-long command
line into the PSP?

I think it is an HX problem, so I'll report it to Japheth.

No idea, but you could use another DPMI provider, such
as CWSDPMI, which would be the default for DJGPP?

Regards, Eric



_______________________________________________
Freedos-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-user


_______________________________________________
Freedos-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to