+++ /dev/null
-.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