]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_ca.c
typedef void __based( void ) * memptr;
[16.git] / src / lib / 16_ca.c
index 35644b35dbb233e9358f36e856722f8f0673c874..e2b6cef9a1ec70871a1e41eb800fb12d5170b745 100755 (executable)
@@ -532,9 +532,8 @@ void CAL_HuffExpand (byte huge *source, byte huge *dest,
 // expand less than 64k of data\r
 //--------------------------\r
 \r
-       __asm\r
-       {\r
-;;;;;          mov     bx,[headptr]\r
+       __asm {\r
+////           mov     bx,[headptr]\r
 \r
                mov     si,[sourceoff]\r
                mov     di,[destoff]\r
@@ -545,35 +544,60 @@ void CAL_HuffExpand (byte huge *source, byte huge *dest,
                mov     ch,[si]                         // load first byte\r
                inc     si\r
                mov     cl,1\r
-\r
+#ifdef __BORLANDC__\r
+       }\r
+#endif\r
 expandshort:\r
+#ifdef __BORLANDC__\r
+       __asm {\r
+#endif\r
                test    ch,cl                   // bit set?\r
                jnz     bit1short\r
                mov     dx,[ss:bx]                      // take bit0 path from node\r
                shl     cl,1                            // advance to next bit position\r
                jc      newbyteshort\r
                jnc     sourceupshort\r
-\r
+#ifdef __BORLANDC__\r
+       }\r
+#endif\r
 bit1short:\r
+#ifdef __BORLANDC__\r
+       __asm {\r
+#endif\r
                mov     dx,[ss:bx+2]            // take bit1 path\r
                shl     cl,1                            // advance to next bit position\r
                jnc     sourceupshort\r
-\r
+#ifdef __BORLANDC__\r
+       }\r
+#endif\r
 newbyteshort:\r
+#ifdef __BORLANDC__\r
+       __asm {\r
+#endif\r
                mov     ch,[si]                         // load next byte\r
                inc     si\r
                mov     cl,1                            // back to first bit\r
-\r
+#ifdef __BORLANDC__\r
+       }\r
+#endif\r
 sourceupshort:\r
+#ifdef __BORLANDC__\r
+       __asm {\r
+#endif\r
                or      dh,dh                           // if dx<256 its a byte, else move node\r
                jz      storebyteshort\r
                mov     bx,dx                           // next node = (huffnode *)code\r
                jmp     expandshort\r
-\r
+#ifdef __BORLANDC__\r
+       }\r
+#endif\r
 storebyteshort:\r
+#ifdef __BORLANDC__\r
+       __asm {\r
+#endif\r
                mov     [es:di],dl\r
                inc     di                                      // write a decopmpressed byte out\r
-;;;;           mov     bx,[headptr]            // back to the head node for next bit\r
+////           mov     bx,[headptr]            // back to the head node for next bit\r
 \r
                cmp     di,ax                           // done?\r
                jne     expandshort\r
@@ -588,9 +612,8 @@ storebyteshort:
 \r
   length--;\r
 \r
-       __asm\r
-       {\r
-;;;;           mov     bx,[headptr]\r
+       __asm {\r
+////           mov     bx,[headptr]\r
                mov     cl,1\r
 \r
                mov     si,[sourceoff]\r
@@ -599,16 +622,32 @@ storebyteshort:
                mov     ds,[sourceseg]\r
 \r
                lodsb                   // load first byte\r
-\r
+#ifdef __BORLANDC__\r
+       }\r
+#endif\r
 expand:\r
+#ifdef __BORLANDC__\r
+       __asm {\r
+#endif\r
                test    al,cl           // bit set?\r
                jnz     bit1\r
                mov     dx,[ss:bx]      // take bit0 path from node\r
                jmp     gotcode\r
+#ifdef __BORLANDC__\r
+       }\r
+#endif\r
 bit1:\r
+#ifdef __BORLANDC__\r
+       __asm {\r
+#endif\r
                mov     dx,[ss:bx+2]    // take bit1 path\r
-\r
+#ifdef __BORLANDC__\r
+       }\r
+#endif\r
 gotcode:\r
+#ifdef __BORLANDC__\r
+       __asm {\r
+#endif\r
                shl     cl,1            // advance to next bit position\r
                jnc     sourceup\r
                lodsb\r
@@ -618,19 +657,35 @@ gotcode:
                inc     cx\r
                mov     ds,cx\r
                xor     si,si\r
+#ifdef __BORLANDC__\r
+       }\r
+#endif\r
 sinorm:\r
+#ifdef __BORLANDC__\r
+       __asm {\r
+#endif\r
                mov     cl,1            // back to first bit\r
-\r
+#ifdef __BORLANDC__\r
+       }\r
+#endif\r
 sourceup:\r
+#ifdef __BORLANDC__\r
+       __asm {\r
+#endif\r
                or      dh,dh           // if dx<256 its a byte, else move node\r
                jz      storebyte\r
                mov     bx,dx           // next node = (huffnode *)code\r
                jmp     expand\r
-\r
+#ifdef __BORLANDC__\r
+       }\r
+#endif\r
 storebyte:\r
+#ifdef __BORLANDC__\r
+       __asm {\r
+#endif\r
                mov     [es:di],dl\r
                inc     di              // write a decopmpressed byte out\r
-;;;;           mov     bx,[headptr]    // back to the head node for next bit\r
+////           mov     bx,[headptr]    // back to the head node for next bit\r
 \r
                cmp     di,0x10         // normalize es:di\r
                jb      dinorm\r
@@ -638,8 +693,13 @@ storebyte:
                inc     dx\r
                mov     es,dx\r
                xor     di,di\r
+#ifdef __BORLANDC__\r
+       }\r
+#endif\r
 dinorm:\r
-\r
+#ifdef __BORLANDC__\r
+       __asm {\r
+#endif\r
                sub     [WORD PTR ss:length],1\r
                jnc     expand\r
                dec     [WORD PTR ss:length+2]\r
@@ -647,8 +707,7 @@ dinorm:
        }\r
        }\r
 \r
-       __asm\r
-       {\r
+       __asm {\r
                mov     ax,ss\r
                mov     ds,ax\r
        }\r