xref: /inferno-os/lib9/lock-Nt-386.c (revision 7e00430948d8af545f880e82bb30cd3ee50deb04)
137da2899SCharles.Forsyth #include "lib9.h"
237da2899SCharles.Forsyth 
3*7e004309SCharles.Forsyth int
_tas(int * la)4*7e004309SCharles.Forsyth _tas(int *la)
537da2899SCharles.Forsyth {
6*7e004309SCharles.Forsyth 	int v;
737da2899SCharles.Forsyth 
837da2899SCharles.Forsyth 	_asm {
937da2899SCharles.Forsyth 		mov eax, la
1037da2899SCharles.Forsyth 		mov ebx, 1
1137da2899SCharles.Forsyth 		xchg	ebx, [eax]
1237da2899SCharles.Forsyth 		mov	v, ebx
1337da2899SCharles.Forsyth 	}
1437da2899SCharles.Forsyth 	return v;
1537da2899SCharles.Forsyth }
16