Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!bbn!gatech!hubcap!rchampe From: rchampe@hubcap.clemson.edu (Richard Champeaux) Newsgroups: comp.sys.amiga.tech Subject: Re: Official Warnings... Message-ID: <5352@hubcap.clemson.edu> Date: 1 May 89 17:11:07 GMT References: <3082@haven.umd.edu> <11394@well.UUCP> <3773@sugar.hackercorp.com> Organization: Clemson University, Clemson, SC Lines: 26 In article <3773@sugar.hackercorp.com>, karl@sugar.hackercorp.com (Karl Lehenbauer) writes: > In article <11394@well.UUCP>, ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes: > > TAS uses an indivisible memory cycle to do its work. It's supposed > > to be used in multi-processor systems, where many CPU's share the same > > memory. > > Isn't TAS useful on a single CPU system, though, for providing fast, > uninterruptable test and set for use as a semaphore, without having > to turn off interrupts? > > -- > -- uunet!sugar!karl | "Nobody hipped me to that, dude." -- Pee Wee > -- Usenet BBS (713) 438-5018 As I and other people mentioned before, BSET will perform the same function as TAS and will work on the Amiga. TAS won't let anything else take the bus durring the instruction, therefore it works great for semaphores on multiprocessor computers, but it won't work on the Amiga. BSET, how ever, also tests the bit before setting it, allows another device to grab the bus durring the instruction, and lets you set any bit as well. You don't have to turn off interrupts before using it, because the 68000 doesn't service interrupts until the current instruction is completed. Rich Champeaux Clemson University