Oh, well then..... I'm not sure what can be done about that as of yet. I
thought that it was code that you were compiling using Turbo C was the
problem, not Turbo C itself. Maybe I'll install the Borland Turbo C/C++ 3.1
(old!!) that I have lying around just to mess with that problem
some.......(inside of the drive image of course....).
Christophe Bothamy wrote:
> Thanks Kenton, Drew and Wouter
>
> I think it was a kind of misunderstanding, my code is not involved,
> i just need Turbo C to get some basics apps to test my bios code.
> This is just Turbo C that doesn't work. Kenton has the same problem
> with TurboC 3.0.
>
> btw i use bcc, just as Kevin's bios.
>
> Drew Nothup wrote
> >
> > If you look closely (and know anything about the nitty-gritty of the
> > IA-Px processor architecture) you will notice that the current extended
> > instruction pointer (eip) is set to 0x10001h (which is outside of the
> > code segment 0xc000h). Real mode code (ie, a VGA BIOS) needs to all
> > either:
> > 1) be in the same segment,
> > 2) have the proper code included to change segments & instruction
> > pointers when needed .
> > Why your code would be jumping outside of a 64KB segment isn't something
> > that I should take time to theorize about yet, since I don't know much
> > about the guts of your code--but I can tell you that it'd have to be one
> > big BIOS to be needing to jump that far!!!
> >
> > The most useful fix would be to fix your code so that it stays in the
> > code segment, at least until there is some other way (and your assembler
> > doesn't need to be as optimised). In any case, it isn't the addb that is
> > the problem (itself anyway).
> >
> > I would try using something not written to create DOS executables, gcc
> > for example. You may have better luck with one of those packages.
>
> --
> Christophe.
--
Drew Northup, N1XIM