--- src/vc.c.orig	Mon Apr 15 09:46:27 1996
+++ src/vc.c	Sat Jun 10 19:40:19 2000
@@ -92,28 +92,26 @@
 inline	void	blatch(void *head, int n)
 {
 
-    __asm__("\t clc\n"
+    __asm__ volatile("\t clc\n"
 	    "1:\n"
 	    "\t andb %%bl, (%%eax)\n"
 	    "\t incl %%eax\n"
 	    "\t loop 1b\n"
-	    :
-	    : "eax" ((long)head), "bl" (0x7F), "c" (n)
-	    : "bl", "cx" );
+	    : "=bl" (head), "=c" (n)
+	    : "eax" ((long)head), "0" (0x7F), "1" (n));
 }
 
 static
 inline	void	llatch(void *head, int n)
 {
 
-    __asm__("\t clc\n"
+    __asm__ volatile ("\t clc\n"
 	    "1:\n"
 	    "\t andl %%ebx, (%%eax)\n"
 	    "\t addl $4, %%eax\n"
 	    "\t loop 1b\n"
-	    :
-	    : "eax" ((long)head), "ebx" (0x7F7F7F7F), "c" (n>>2)
-	    : "ebx", "cx" );
+	    : "=ebx" (head), "=c" (n)
+	    : "eax" ((long)head), "0" (0x7F7F7F7F), "1" (n>>2));
 }
 
 static inline u_int	TextAddress(u_int x, u_int y)
