+ -
当前位置:首页 → 问答吧 → vc内嵌的汇编

vc内嵌的汇编

时间:2011-07-04

来源:互联网

今天看了个vc的例子,可是里面有这个,我汇编不行啊,谁给解释下
__asm
{
mov ecx,bin
mov edx,ecx
add edx,28

again_loop:
mov eax,[ecx]
xchg eax,[edx]
xchg eax,[ecx]
add ecx,4
sub edx,4
cmp edx,ecx
ja again_loop

push ebx
mov ecx,0x8
mov ebx,bin
chg_again:
mov eax,[ebx]
mov dx,ax
shr eax,16
shl edx,16
or eax,edx
mov [ebx],eax
add ebx,4
dec ecx
jnz chg_again
pop ebx

}

作者: cgl8532   发布时间: 2011-07-04

帮你顶下 学习当中

作者: nightkids_008   发布时间: 2011-07-04

bin可以理解为数组名,或二进制文件起址,bin数组中存放unsigned int数据(4字节为单位)
again_loop完成将bin数组中的前8个unsigned int数据逆置,
比如前八个数据为a,b,c,d,e,f,g,h 颠倒后=>h,g,f,e,d,c,b,a。

接下来chg_again再对这前8个unsigned int数据进行处理:
对每个数据的高2字节与低2字节进行互换:
比如:
有一个数据为0x12345678 互换后=>0x56781234

总之,只针对从bin开始的前32个字节数据。

作者: G_Spider   发布时间: 2011-07-04