Article 33476 of comp.sys.amiga.programmer:
Path: news.csos.orst.edu!flop.ENGR.ORST.EDU!rutgers!utcsri!utnut!torn!nott!bnrgate!bnr.co.uk!uknet!edcastle!dcs.ed.ac.uk!jxp
From: jxp@dcs.ed.ac.uk (Joe Potter)
Newsgroups: comp.sys.amiga.programmer
Subject: Re: Specifics on why TAS is a no-no?
Message-ID: <C8oG5G.A6n@dcs.ed.ac.uk>
Date: 15 Jun 93 19:15:15 GMT
References: <C8F31o.4E@news.cso.uiuc.edu> <2776.ANN@peti.GUN.de>
Sender: cnews@dcs.ed.ac.uk (UseNet News Admin)
Reply-To: jxp@dcs.ed.ac.uk (Joe Potter)
Organization: Laboratory for the Foundations of Computer Science, Edinburgh U
Lines: 22

In article <2776.ANN@peti.GUN.de> simons@peti.GUN.de (Peter Simons) writes:
>In article <C8F31o.4E@news.cso.uiuc.edu>,
>        jdl47513@uxa.cso.uiuc.edu (Jason Lowe) writes:
>
> > Does anyone know the specifics on why the Test-And-Set (TAS)
> > 68000 instruction is a no-no on Amigas?  Does this rule apply even if
> > the system has been entirely taken over? [...]
>
>Of course you can use this instruction in your code, but it  does  not
>make any sense on the Amiga. TAS is  required  for  syncronisation  of
>multiple CPUs sharing the same memory-area.

	TAS provides for semaphores in multiprocessor systems: the TAS
instruction activates an indivisible 'READ-MODIFY-WRITE' cycle which (if
the instruction is to be supported) the hardware must assure is
indivisible.  The Amiga chipset cannot guarantee this, so if you try it,
I imagine the Amiga will interrupt the cycle (probably by fetching
display data on a negative half-cycle).
	Informative?

							Joe.
"Look at all the JUNK FOOD!"


