From fe3f39d6d54dc3fc8a53b9bc68048fb71b2d015f Mon Sep 17 00:00:00 2001 From: "David E. O'Brien" Date: Mon, 15 Nov 1999 23:27:40 +0000 Subject: [PATCH] Removed the asm version of conv(). This is should be faster in its new C form. See src/sys/i386/isa/sound/audio.c rev.1.23 Submitted by: bde --- sys/i386/isa/pcaudio.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/sys/i386/isa/pcaudio.c b/sys/i386/isa/pcaudio.c index 9f51d1b9f35..6e65a376331 100644 --- a/sys/i386/isa/pcaudio.c +++ b/sys/i386/isa/pcaudio.c @@ -182,18 +182,13 @@ static void pca_continue __P((void)); static void pca_init __P((void)); static void pca_pause __P((void)); -static __inline void -conv(const void *table, void *buff, unsigned int n) +static void +conv(const unsigned char *table, unsigned char *buff, unsigned n) { - __asm__("1:\tmovb (%2), %3\n" - "\txlatb\n" - "\tmovb %3, (%2)\n" - "\tinc %2\n" - "\tdec %1\n" - "\tjnz 1b\n" - : "=b" (table), "=c" (n), "=D" (buff), "=a" ((char)n) /*all dummies*/ - : "0" (table), "1" (n), "2" (buff), "3" ((char)n) - /* clobber list covered by matching out/in registers */ ); + unsigned i; + + for (i = 0; i < n; i++) + buff[i] = table[buff[i]]; }