内联汇编优化版
#ifdef _calpha_using_inlineasm_
i = Height - 1;
if (i < 0)
return;
__asm
{
mov ecx, Width
mov eax, ptrDest
mov edx, ptrSrc
mov esi, idPixelAdd
@2:
mov edi, ecx
@1:
mov bl, byte ptr [eax]
cmp bl, bmaskr
je short @3
mov bl, byte ptr [edx]
cmp bl, bmaskb
je short @4
inc edx
mov byte ptr [eax], bl
inc eax
mov bx, word ptr [edx]
mov word ptr [eax], bx
add eax, esi
add edx, isPixelAdd
jmp short @5
@4:
add eax, ld
add edx, ls
jmp short @5
@3:
mov bl, byte ptr [edx]
inc edx
mov byte ptr [eax], bl
inc eax
mov bx, word ptr [edx]
mov word ptr [eax], bx
add eax, esi
add edx, isPixelAdd
@5:
dec edi
test edi, edi
jge short @1
add eax, idLineAdd

本文介绍了如何使用内联汇编进行性能优化,以TAlpha::Mask为例,展示了从C++代码到汇编代码的转换过程,探讨了汇编在优化中的应用。
最低0.47元/天 解锁文章
622

被折叠的 条评论
为什么被折叠?



