【发布时间】:2013-10-12 16:09:19
【问题描述】:
我试图将 array1 与 array2 进行比较。这是我的代码的一部分,但它不起作用。
mov si, 00
mov di, 00
Compare:
cmp array1[si], array2[di]
je checking
jmp compare
我正在做一个要求用户输入字符串的汇编程序。第一个字符串被标记为输入。第二个字符串是旧的字符序列。 第三个字符串是新替换的字符序列。
示例:
输入:hatatat
旧字符串:at
替换为:嗯
输出:呵呵
【问题讨论】:
-
cmp不能有两个内存操作数。首先将其中一个字符加载到寄存器中,或使用cmps指令。此外,您需要在比较的每对字符之后增加si和di,并进行某种检查以查看您是否已超出任一数组的末尾。
标签: arrays assembly x86 compare x86-16