La instrucción test-and-set (TAS) implementa una comprobación del contenido de una variable en la memoria al mismo tiempo que varía su contenido en caso que la comprobación daba exito.
Así se puede realizar la exclusión mutua con
Loop:
TAS lockbyte ; test-and-set operation
BNZ LOOP ; loop until we get access
... critical section
CLR lockbyte ; clear lock
En caso de un sistema multi-procesador hay que tener cuidado que la operación test-and-set esté realizada cerca de la memoria compartida.