hi Steve
those look like values for, possibly, a .COM program
Hi Dave,
Correct. For a size competition *.COM programs are smaller
than *.EXE. I just showed the other info to show what they had
found.
The MS-DOS reference only mentions the setting of AH, AL, the
segment registers, IP, and SP. The rest are not mentioned. ES,
and DS point to the PSP for both *.COM and *.EXE programs, as
you showed below. And as AH and AL are treated the same in
both program types, maybe the other registers would be also.
however, i think you're right about ES:BX not pointing to the environment table
the segment for the environment block is in the PSP, someplace
the ES:BX thing may have applied for the Exec loader (i don't remember the INT number)
for a .COM program, CS = DS = ES = SS = PSP segment
for a .EXE program, CS = code, DS = ES = PSP, and SS = stack segment
as far as i recall, AX is the only general register that carried any info
the others were set to 0
when the CPU is reset, the DX register has something in it - i forget what
The 386, and later, powers up with stepping information in DX
or EDX. This is from memory, with all the usual disclaimers.
Regards,
Steve N.