]> 4ch.mooo.com Git - 16.git/blobdiff - 16/xw__/mxgm.asm
trying to translate that lib into open watcom...
[16.git] / 16 / xw__ / mxgm.asm
diff --git a/16/xw__/mxgm.asm b/16/xw__/mxgm.asm
new file mode 100755 (executable)
index 0000000..0c97985
--- /dev/null
@@ -0,0 +1,69 @@
+.387
+               PUBLIC  MXGAMMACORRECT
+MX_TEXT                SEGMENT PARA PUBLIC USE16 'CODE'
+               ASSUME CS:MX_TEXT, DS:DGROUP, SS:DGROUP
+L$1:
+       add             byte ptr [bp+si],cl
+       push            cs
+       adc             word ptr [bp+di],dx
+       adc             ax,1817H
+       sbb             bl,byte ptr [bp+di]
+       sbb             al,1dH
+       pop             ds
+       and             byte ptr [bx+di],ah
+       and             ah,byte ptr [bp+di]
+       and             al,25H
+       and             ax,2726H
+       sub             byte ptr [bx+di],ch
+       sub             word ptr [bp+si],bp
+       sub             bp,word ptr [si]
+       sub             al,2dH
+       das
+       xor             byte ptr [bx+si],dh
+       xor             word ptr [bx+di],si
+       xor             dh,byte ptr [bp+di]
+       xor             si,word ptr [si]
+       xor             al,35H
+       xor             ax,3636H
+       aaa
+       aaa
+       cmp             byte ptr [bx+si],bh
+       cmp             word ptr [bx+di],di
+       cmp             bh,byte ptr [bp+si]
+       cmp             di,word ptr [bp+di]
+       cmp             al,3cH
+       cmp             ax,3e3dH
+       aas
+       aas
+MXGAMMACORRECT:
+       push            bp
+       mov             bp,sp
+       sub             sp,0
+       push            ds
+       push            si
+       push            es
+       push            di
+       mov             cx,word ptr 6[bp]
+       jcxz            L$3
+       lds             si,dword ptr 0cH[bp]
+       les             di,dword ptr 8[bp]
+       mov             bx,offset L$1
+       cld
+       mov             ax,cx
+       add             cx,cx
+       add             cx,ax
+L$2:
+       lodsb
+       xlat            word ptr cs:[bx]
+       stosb
+       loop            L$2
+L$3:
+       pop             di
+       pop             es
+       pop             si
+       pop             ds
+       mov             sp,bp
+       pop             bp
+       retf            0aH
+MX_TEXT                ENDS
+               END