Advertisement
Abaduaber

Fade

Apr 9th, 2014
372
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. {Приводят палитру ADstPalP к ASrcPalP с шагом AStep, в первом
  2. случае уменьшая, во втором - увеличивая. True - если приведено полностью}
  3. Function FadePalInc(ADstPalP, ASrcPalP: TPalP; aStep, aFrom: Byte; aLen: Word): Boolean; Assembler;
  4. Asm
  5.     push ds
  6.     les di,ADstPalP
  7.     lds si,ASrcPalP
  8.     xor ax,ax
  9.     xor bx,bx
  10.     mov al,aFrom
  11.     mov bl,al
  12.     add ax,ax
  13.     add ax,bx
  14.     add di,ax
  15.     add si,ax
  16.     cld
  17.     mov bl,aStep
  18.     mov cx,aLen
  19.     add cx,cx
  20.     add cx,aLen
  21.     mov dh,1
  22.    @FadeLoop:
  23.     mov ah,es:[di]
  24.     add ah,bl
  25.     lodsb
  26.     cmp ah,al
  27.     jnb @Next
  28.     mov al,ah
  29.     xor dh,dh
  30.    @Next:
  31.     stosb
  32.     loop @FadeLoop
  33.     pop ds
  34.     mov al,dh
  35. End;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement