delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/12/20/01:36:52

From: "John M. Aldrich" <fighteer AT cs DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: 32 bit registers
Date: Fri, 20 Dec 1996 00:39:22 -0800
Organization: Two pounds of chaos and a pinch of salt
Lines: 28
Message-ID: <32BA50BA.26B@cs.com>
References: <59cs4f$58k AT nr1 DOT ottawa DOT istar DOT net>
Reply-To: fighteer AT cs DOT com
NNTP-Posting-Host: ppp211.cs.com
Mime-Version: 1.0
To: hotpulp AT netidea DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

hotpulp AT netidea DOT com wrote:
> 
> are the 16 bit registers the lower 16 bits of their 32 bit equivalents
> (ax and eax)? So if I load a value into ax am I really loading a value
> in to eax?

That's the meaning of "e"ax:  "Extended" AX.  The 'e' registers are all
32-bit extended versions of the standard registers; or, to be more
precise, 'e?x' is the full register, and ?x is the lower 16 bits of it. 
Remember that 386s and higher are 32-bit processors!  ;)

     31                  15                 0
eax = XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
 ax =                     XXXX XXXX XXXX XXXX
 ah =                     XXXX XXXX
 al =                               XXXX XXXX

Before putting values in the word or byte registers, it is often a good
idea to reset the whole register just to be safe.  Unless, of course,
you need the values in the high bits.

-- 
---------------------------------------------------------------------
| John M. Aldrich, aka Fighteer I  |        fighteer AT cs DOT com         |
| "Starting flamewars since 1993"  |   http://www.cs.com/fighteer   |
|  *** NOTICE ***  This .signature is generated randomly.           |
|                  If you don't like it, sue my computer.           |
---------------------------------------------------------------------

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019