菜鸟,我想向传两个内存地址到一段汇编代码。不知怎么实现
这段代码是 MMX解码 YV12到RGB32的。我想一次传两行地址进去不知怎么实现。下面是代码。
__asm {
pushad
finit
xor eax, eax
mov ebx, height
mov ecx, width
mov edx, y
mov edi, v
mov esi, u
mov ebp, rgb //想在这里加一个外部指针传一个地址进来,不知怎么实现,恳请请大神帮忙。
hloop :
push ebx
mov ebx, ecx
wloop :
push ebx
xor ebx, ebx
mov al, [edi]
mov bl, [esi]
movq mm0, [CoefficientsRGBU + 8 * eax]
paddw mm0, [CoefficientsRGBV + 8 * ebx]
mov al, [edx]
mov bl, [edx + 1]
movq mm1, [CoefficientsRGBY + 8 * eax]
movq mm2, [CoefficientsRGBY + 8 * ebx]
mov al, [edx + ecx]
mov bl, [edx + ecx + 1]
movq mm3, [CoefficientsRGBY + 8 * eax]
movq mm4, [CoefficientsRGBY + 8 * ebx]
paddw mm1, mm0
paddw mm2, mm0
paddw mm3, mm0
paddw mm4, mm0
psraw mm1, 6
psraw mm2, 6
psraw mm3, 6
psraw mm4, 6
packuswb mm1, mm2
packuswb mm3, mm4
movq[ebp], mm1
movq[ebp + 4 * ecx], mm3
add ebp, 8
add edx, 2
add edi, 1
add esi, 1
pop ebx
sub ebx, 2
jnz wloop
lea ebp, [ebp + 4 * ecx]
add edx, ecx
pop ebx
sub ebx, 2
jnz hloop
emms
popad
}