knudsen (10/28/82)
There is one case where I would disagree with the statement made on this group, that for 16-bit machines, one byte ordering hi/lo is as good as the other. That case is a micro which attempts to be compatible, either physically or even mentally, and of course software-wise, with a related 8-bit micro. Arithmetic operations usually must have the lowest byte first, and so on up to most significant. Therefore people are used to having the LSB at the lower memory address, and incrementing to get more significant bytes. In an array of multi-prec numbers, this lets you step straight thru the array. It also avoids mental confusion about the "high" byte's being at a lower address! The 8086, which has its 8-bit sister 8088 and must run 8080 code, is a good example of a machine with what I consider the "natural" byte ordering. In fairness, I should note that I programmed PDP-11s for many years and can't even remember which way the bytes were ordered now, tho I feel that they were "backwards" at the time. However, I never did odd-number-of-bytes multi-prec arithmetic either -- nor has DEC ever brought out an el-cheapo 8-bit version.