Article View: comp.sys.intel
Article #1488i386 + 32 Bit Registers
From: Heinz-Bernd Eggenstein (LS2)
Date: Thu, 28 Jan 1993 15:53
Date: Thu, 28 Jan 1993 15:53
39 lines
2004 bytes
2004 bytes
Hi! (Hope this is not a FAQ or a stupid one): What will happen to the upper 16 bit content of the registers EAX,EBX,...EBP,ESP etc. when using 16 bit instructions? Example: MOV EAX HFFFFFFFF Add ax,1 EAX=???????????? My 486DX seams to leave the upper 16 bits unchanged but the real question is: is this a documented (where) feature? What about all these dozens of 386 and 486 clones, and the 486 part of the Pentium?? If the upper bits are unchanged, this would give you a second bank of 16 bit registers (switching between the "banks" with ROL E**,16). However, if for example XOR ax,ax is simply treated as XOR EAX,EAX by the processor and the 16 upper bits are changed, this could lead to *serious* problems when using DOS programs compiled with the -3 option of BORLAND C++ 3.1: BC++3.11 code uses 32 bit registers to handle "long int"s. MS-DOS interrupts use (and save) only the 16-bit registers (the lower 16 bits of E**) I tried to look this up in various handbooks for assembly programming, but none had the answer. I couldn`t find anything Intel-official on this, either. Could someone please give me a hint or pointer to the right Intel-docu?? Please reply via e-mail. Thanx in advance. ------------------------------------------------------------------------------ "I don't like signatures" ------------------------------------------------------------------------------
Technical Details
Message-ID:
<1k8vgvINNhs3@fbi-news.Informatik.Uni-Dortmund.DE>Path:
arc1-ca.pugleaf.net!sparky!uunet!news.univie.ac.at!scsing.switch.ch!ira.uka.de!Germany.EU.net!Informatik.Uni-Dortmund.DE!cantor!eggensteShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!news.univie.ac.at!scsing.switch.ch!ira.uka.de!Germany.EU.net!Informatik.Uni-Dortmund.DE!cantor!eggenste From: eggenste@cantor.informatik.uni-dortmund.de (Heinz-Bernd Eggenstein (LS2)) Newsgroups: comp.sys.intel Subject: i386 + 32 Bit Registers Date: 28 Jan 1993 15:53:03 GMT Organization: CS Department, Dortmund University, Germany Lines: 40 Sender: eggenste@cantor (Heinz-Bernd Eggenstein (LS2)) Distribution: world Message-ID: <1k8vgvINNhs3@fbi-news.Informatik.Uni-Dortmund.DE> NNTP-Posting-Host: cantor.informatik.uni-dortmund.de