[comp.sys.ibm.pc] DOS function 4Bh and 2.11

mmm@nbires.UUCP (01/29/87)

it seems i have a little problem.  dos function 4bh, subfunction 3 
(load overlay) will corrupt the loaded program.  it probably has something
to do with segment fixups.  DDJ ran an artical last year (so i have heard)
explaining exactly what the problem was, but i can't seem to locate the
artical.

the symptoms are as follows: AX=4b03h, ES:XX point to the overlay data
block (the one for dos).  a breakpoint is placed imediately after the 
load overlay (which, by the way is an EXE file).  the word at 123fh in
the code segment contains the DATA segment.  this looks like a misplaced
fixup. 

points to the soultion would be apprecieated.

lloyd w. tabb
nbi engineering
boulder, co 80302
(303)-444-5710 x3116
{allegra|ucbvax|hao}!nbires!mmm

johnl@ima.UUCP (02/01/87)

In article <975@nbires.UUCP> mmm@nbires.UUCP (Michelle Melvin) writes:
>it seems i have a little problem.  dos function 4bh, subfunction 3 
>(load overlay) will corrupt the loaded program.  ...
I had the same problem with PC-DOS 2.0, the load overlay function smashes
the calling program.  Kind of makes you wonder what all of those QA people
at Microsoft and IBM spend their time doing.

It seems to work OK in PC-DOS 2.1 and all of the 3.x versions, but since I
was writing a program that we sell to users with all sorts of random
configurations, I reimplemented the function myself.  It turns out that
reading in the code and applying the fixups is not very hard.
-- 
John R. Levine, Javelin Software Corp., Cambridge MA +1 617 494 1400
{ ihnp4 | decvax | cbosgd | harvard | yale }!ima!johnl, Levine@YALE.something
Where is Richard Nixon now that we need him?