了解汇编代码的部分部分

时间:2017-03-17 20:33:31

标签: assembly

我有一个特定的汇编代码部分,我必须检查,但是我已经用尽了当前时间点的所有目的。基本上我有一个文件,里面有字符,文件的上一部分将字符移动到临时文件中。之后它将进入函数的下一部分,该部分逐行运行文件。

我的问题是粗体部分正在改变xor&的字符。和部分但是eax + edx * 2部分有什么作用?我不要求你准确地告诉我,但是你能让我理解这条线是如何工作的吗?

movzx   eax, byte_40E300[edx]
**xor     ecx, eax
and     ecx, 7Fh**
mov     edx, [ebp+X]
mov     eax, [ebp+B]
**mov     [eax+edx*2],cx**

1 个答案:

答案 0 :(得分:-2)

eax + edx * 2计算地址:取edx中的值,乘以2,然后在eax中添加值。这将是存储cx的内存地址 - Alexander Zhak 1小时前

mov [eax + edx * 2],cx取edx的值并将其乘以2,向其中添加eax的值,并将其用作内存地址。然后它将cx的内容发送到该地址的存储器中。 (as和ecx,0x7F之前完成,ch = 0和cl保留从40E300 [edx]内存中提取的7位信息,并由who-know-what-value进行xor-ed。 - Ped7g 1小时前< / p>