Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!rutgers!iuvax!franco From: franco@iuvax.cs.indiana.edu Newsgroups: comp.sys.atari.st Subject: Re: question of the day Message-ID: <36500013@iuvax> Date: Fri, 9-Oct-87 09:20:00 EDT Article-I.D.: iuvax.36500013 Posted: Fri Oct 9 09:20:00 1987 Date-Received: Sun, 11-Oct-87 13:57:56 EDT Organization: Indiana University CSCI, Bloomington Lines: 28 Nf-ID: #N:iuvax:36500013:000:1033 Nf-From: iuvax.cs.indiana.edu!franco Oct 9 08:20:00 1987 A few days ago I requested info on the following code which I thought should replicate the bottom line until the end of readable memory: movea.l #go,a0 go: move.w (a0)+,(a0) First, some people were concerned that I was about to release some devious software. No, I am teaching an assembly language course using the atari and am merely interested in giving my students a straight story. Second, the most reasonable suggestion was that a0 in (a0)+ gets updated after the instruction "move.w (a0)+,(a0)" is executed. However, I tried the following code segment: movea.l #go1,a0 movea.l #go2,a1 go1: move.w (a0)+,(a1)+ go2: and the result was the same (normal termination with no damage when executed outside of RAID and expected stomping over everything when executed in RAID). We are so interested in understanding the behavior of this program that I have been authorised to award a bust of Abraham Lincoln made from steel to the first person that clears up the mystery. Please email to franco@iuvax.cs.indiana.edu