汇编器Intelx86:比较是否在字符串末尾无法正常工作

时间:2019-12-01 02:29:16

标签: string assembly x86 intel

我正在用面向Intelx86的汇编程序(32位,在Windows中编写)编写程序,在该程序中,我必须对通过_gets收到的字符串进行加密。我按两个字符的块进行加密,如果这两个字符相同,则需要将它们添加到结果字符串中,而不必进行更改。要遍历字符串,我使用EBX,如下所示:

cmp byte[userstring + ebx], 0
je EmptyBlock

由于某种原因,它只有两个字符时可以工作,但是当字符串有4个字符(所有字符完全相同,例如“ AAAA”)时,它将停止工作。随着EBX不断增加2个,它进入了一个无限循环。我在跳过什么吗?我做错了比较吗?抱歉,我是汇编语言新手。

0 个答案:

没有答案