【发布时间】:2017-06-09 02:20:51
【问题描述】:
我从一个只添加两个数字的程序生成了下面的转储 我无法理解添加两个数字的逻辑 在给定的代码第 6 行和第 7 行中,根据我的理解是没有意义的,请帮助解决两行
add ecx,00001010 6th line
and ecx,00002020 7th line
movzx ecx,%GWA+000000E0 : VAR1
movzx eax,%GWA+000000E8 : VAR2
sal ecx,08
or ecx,eax
mov eax,ecx
add ecx,00001010
and ecx,00002020
jne GLB.4
movzx ecx,%GWA+000000E0 : VAR1
movzx eax,%GWA+000000E8 : VAR2
and ecx,0F0F0F0F
and eax,0F0F0F0F
add ecx,eax
add ecx,F6F6F6F6
mov eax,ecx
and eax,60606060
shr eax,04
and ecx,0F0F0F0F
sub ecx,eax
or ecx,30303030
add ecx,10
bswap ecx
shr ecx,10
mov %GWA+0000000A,cx : TRLP+0
jmp GLB.5
【问题讨论】:
-
@user143252 提供格式正确的问题是您的工作。如果你不这样做,你就会被否决。
-
它首先将 0x1010 添加到
ecx,然后将ecx与 0x2020 进行按位与运算。那是你不明白的部分吗?你到底在这里问什么? -
@CodyGray 是的,为什么需要这个?