Hi!
18-Июл-2004 20:33 [EMAIL PROTECTED] (Eric Auer) wrote to
[EMAIL PROTECTED]:
EA> Hi, I think it is now clear that Turbo C 2 cannot optimize for 386.
EA> HOWEVER, the NASM parts can still be optimized for 386. So instead
First, in *.asm files for 386 currently present only registers saving
and restoring, so no usefule gain will be achieved. Second, you can't
compile NASM with XCPU=386 and .c files without this - at least, this brokes
inthndlr.c:int2F_12_handler() (see definition for struct int2f12 above it).
EA> of generating an error message when you try to create a 386 kernel
EA> with TC2, I suggest displaying only a warning message and let at
EA> least the NASM parts be 386ish.
I think, making error message about unsupported option is enough.
Though, if there will be requests, into tc.mak may be added generating error
if XCPU > 186.
EA> This reminds me that the non-resident part of the kernel should, if
EA> possible, show an error message if you try to run it on an incompatible CPU.
Write this into bugzilla "request for feature" (RFF). :) But I doubt
this will be implemented, because requires additional code to detect CPU
type (and there is no proven code, which can't be broken by some not
completely compatible CPU).
EA> By the way, I recently saw something about 32bit and 64bit multiply / divide
EA> code... where is it used?
I not see what you saw about 64bit muldiv, but there are no such beast.
EA> Bonus WISH for "all-time enabled debugging code": Please add
EA> - a register dump for the invalid opcode handler (now often only a small
EA> part of the stack dump reveals useful information).
Stack already dumped int INT6 handler.
EA> If naming the registers
EA> takes too much effort, you can instead use "pusha" (or 8086 equivalent for
EA> 8086 kernels) right before doing the stack dump. That will mean only VERY
EA> small increase in code size.
...but may overwrite some more memory areas (and handler itself). In
any case, write this into bugzilla as RFF.
EA> - the caller IP should be displayed for "too many near fnodes" panic message.
EA> It is very hard to find the reason of the panic otherwise.
Probably, panic() also should dump stack and registers.
PS: Some smart guy offers to make right-left dump, because this eases to
extract numbers on Intel platform (low digits placed first), whereas we use
Fibonacci method to write number (high digits first). Thus:
xxxx:xx00 01 ff f1 07 00 ... chars...
xxxx:xx10 ...
will look:
... 00 07 f1 ff 01 xxxx:xx00 chars...
... xxxx:xx10 ...
And there easier to see dword number "07F1_FF01" or word "F1FF".
-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_idG21&alloc_id040&op=click
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel