ref: 6b84c3a6548f1c577948763b0a09a7b6e2460e04
dir: purgatorio/lib9/lock-Irix-mips.s
#include <sys/regdef.h> #include <sys/asm.h> /* * lock from r4000 book */ LEAF(canlock) .set noreorder 1: ll t0,0(a0) /* a0 is argument */ or t1, t0, 1 sc t1,0(a0) beq t1,zero,1b nop j $31 /* lock held */ xor v0, t0, 1 .set reorder END(canlock)