summaryrefslogtreecommitdiff
path: root/sys/src/ape/lib/ap/alpha/tas.s
blob: 8b3164c3ae14181e73c2ff156033a02ffb36d399 (plain)
1
2
3
4
5
6
7
8
9
10
TEXT	tas(SB), $-8
	MOVQ	R0, R1			/* l */
tas1:
	MOVLL	(R1), R0		/* l->key */
	BNE	R0, tas2
	MOVQ	$1, R2
	MOVLC	R2, (R1)		/* l->key = 1 */
	BEQ	R2, tas1		/* write failed, try again? */
tas2:
	RET