use assembly

This commit is contained in:
Russ Cox
2005-11-04 16:05:20 +00:00
parent f493c9c544
commit 93a43be0ea
12 changed files with 569 additions and 43 deletions

23
win32-386/tas.c Normal file
View File

@@ -0,0 +1,23 @@
#include "u.h"
#include "libc.h"
int
tas(long *x)
{
int v;
__asm__( "movl $1, %%eax\n\t"
"xchgl %%eax,(%%ecx)"
: "=a" (v)
: "c" (x)
);
switch(v) {
case 0:
case 1:
return v;
default:
print("canlock: corrupted 0x%lux\n", v);
return 1;
}
}