Date: Mon, 9 Jun 1997 09:16:37 -0400 (EDT) From: "Art S. Kagel" To: Liam Cc: Mlsoftware , djgpp AT delorie DOT com Subject: Re: 32 bit Memory Operations In-Reply-To: <199706062045.UAA14496@mx2.rmplc.co.uk> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On Fri, 6 Jun 1997, Liam wrote: > Mlsoftware wrote: > > words rather than bytes, as they copy 4 bytes at a time. > > 1 WORD = 4 BYTES, so when you tell it how many words to copy, make sure > Thats wrong, ONE WORD is equilivant to TWO BYTES NOT FOUR. > This comes up periodically and I just let it slide but no-one has ever attempted to CORRECT another's notation before so I feel compelled to step in an clarify the issue. Let's come to some agreement about notation for DJGPP. Toward this end I submit: Originally a 'word' was the natural word size of the CPU. This was a great idea when computers were all 16bits (ignoring of course DEC10/20's 36bit word and Honeywell's 48bit word) in the case of the 8086->80286 that was 16bits (2bytes) in the case of a 386->Pentium Pro a word would be 32bits or 4bytes, while on the DEC Alpha CPU a word in the original sense is 64bits or 8bytes. Due to the confusion this causes when a 32bitWorder speaks to a 16bitWorder, etc., a new standard developed over the years. We should all be saying that a word is 32bits, a half word is 16bits, and a double word is 64bits. Since a byte is already standard there is no need to call one a 'quarter-word' while a half-byte is a nibble. This is the standard in the mini/mainframe world and I see no reason for the DJGPP community to base its notation on an obsolete group of CPUs (i8086 -> 80286) that our compiler does not even support. I, therefore, side with the original posting and further propose that we all adopt this notation. Art S. Kagel, kagel AT bloomberg DOT com