::To: All From: Tom Torfs Subj: XT compatability ::
----------------------
TT> * Original message posted in: 80xxx.
TT> * Crossposted in: comp.lang.asm.x86.
TT> Hello All!
TT> I'm having a problem here with a program that works fine on 286 and
TT> above, but never fails to crash on an XT with a 8088 CPU (it seems to
TT> get in some sort of infinite loop, and if I try to press ctrl-alt-del
TT> it hangs completely).
TT> Now I'm sure my program doesn't use any 186+ instructions, so that's
TT> not the problem. There is also the fact that 8088 divide by zero
TT> handler return address points at the next instruction instead of the
TT> divide instruction, but I take that into account also.
TT> Do any of you have some suggestions as to what the cause of this
TT> incompatability may be ? Most likely it's got something to do with how
TT> the CPU handles certain instructions and traps, such as int 1 etc.
Ok...there's a number of things that can cause problems.
Some versions of the 8088 chip have a bug in the way the stack is managed...
If you modify the stack registers (SS or SP), first clear the interrupt
flag...as sometimes a hardware interrupt will get generated.
Avoid use of the string instructions
(err...STOSB/STOSW/CMPSB/CMPSW/LODSB/LODSW/etc), as in many cases they
weren't accepted on some systems (My old TEC (Toshiba) had that problem...
they would work, but the next instruction would be corrupted).
Are you playing with the interrupt vector table, out of curiosity?
Well..hope this helps, but I would really like more information (or source).
Send internet email that you don't want a response to:
generic666@hotmail.com
... "We are upping our standards... so up yours." Pat Paulsen.
* BlueWave/QWK 666 Beta *
--- Synchronet+SBBSecho v1.25
---------------
* Origin: Bass Computer (5o4)646-o3o7 Slidell, LA, US (1:3828/9)
|