Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <v13b6l$2uft$1@gal.iecc.com>
Deutsch   English   Français   Italiano  
<v13b6l$2uft$1@gal.iecc.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!not-for-mail
From: John Levine <johnl@taugh.com>
Newsgroups: comp.arch
Subject: Re: Byte Addressability And Beyond
Date: Fri, 3 May 2024 18:42:29 -0000 (UTC)
Organization: Taughannock Networks
Message-ID: <v13b6l$2uft$1@gal.iecc.com>
References: <v0s17o$2okf4$2@dont-email.me> <v0uihh$3e0vg$5@dont-email.me> <9ef6b3ccf22295ffa50de9ec20623d92@www.novabbs.org> <v11u92$cghm$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 3 May 2024 18:42:29 -0000 (UTC)
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970";
	logging-data="96765"; mail-complaints-to="abuse@iecc.com"
In-Reply-To: <v0s17o$2okf4$2@dont-email.me> <v0uihh$3e0vg$5@dont-email.me> <9ef6b3ccf22295ffa50de9ec20623d92@www.novabbs.org> <v11u92$cghm$1@dont-email.me>
Cleverness: some
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
Originator: johnl@iecc.com (John Levine)
Bytes: 2563
Lines: 40

>> Lawrence D'Oliveiro wrote:
>> 
>>>     move.l a, b
>>>     move.b b, c

This is the same mistake that Brooks and Blaauw made, so invested in
your familiar byte order that you imagine that normal differences of
the other are somehow wrong.

Here's a concrete example on S/360.

   L    R,100
   STH  R,200

That does a four byte load of location 100 into a register, and then
a two byte halfword store into 200.  The load gets bytes 100 through 103
with 100 going into the high byte of the register.  The store puts its
values into bytes 200 and 201.  Since it's the low half of the register,
the new contents of 200 and 201 are the old contents of 102 and 103.

Before anyone says aha, that's surprising or wrong. no it's not. It's
the way big-endian addressing works, and it would be surprising and
wrong if it did anything else. If we wanted to put the contents of 100
and 101 into 200 and 201, we'd have done something else, maybe this on
S/370 and later to explicitly store the high two bytes of the word:

   L    R,100
   STCM R,12,200

or just move the two bytes directly

   MVC 200(2),100

I have written assembler code for S/360, PDP-11, Vax, ROMP, 8086/286
and more machines using both byte orders than I can remember, so I'm
speaking from experience here, not guessing.

-- 
Regards,
John Levine, johnl@taugh.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. https://jl.ly