Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!columbia!rutgers!ames!ucbcad!ucbvax!decvax!tektronix!uw-beaver!uw-june!entropy!dataio!pilchuck!amc!ipmoea From: jer@ipmoea.UUCP (Eric Roskos) Newsgroups: comp.arch Subject: Re: byte order: be reasonable - do it my way... Message-ID: <1@ipmoea.UUCP> Date: Fri, 16-Jan-87 19:00:00 EST Article-I.D.: ipmoea.1 Posted: Fri Jan 16 19:00:00 1987 Date-Received: Tue, 20-Jan-87 22:45:22 EST References: <760@orcisi.UUCP> Reply-To: jer@ipmoea.UUCP (Eric Roskos) Organization: None Lines: 26 uri@orcisi.UUCP writes: >My point is that the Least-Significant-Byte-first camp (LSBians, >pronounced: elesbians) has a more correct way than the Most-Significant-byte- >first (MSBians, pronounced: emesbians), and I am going to try to convince >the MSBians to go my way. It seems to me that the basic premise of the argument that follows the above statement is that the name (memory address) bound to a long word in memory is different from the name bound to its least significant byte, whereas the same name (register number) references a longword (for a long register operand) or its least significant byte (for a byte operand). The poster argues that this is inconsistent. In fact, the problem (and the cause of the whole debate, I often think) is that separate bytes in a longword in memory have different names bound to them at all. What is the 2nd byte of a 4-byte integer good for, on its own? Why should it be separately addressable at all? In the 68000, registers, however transiently, have a type associated with them that determines their length; but the individual bytes of a register, when it's a longword register, do not have separate names. Register 5 is register 5, though its size varies depending on its type (which persists only for the duration of 1 instruction). Most problems arise when you take a datum of one type and suddenly start treating it as a different type; that is the real inconsistency.