这是正确的组装吗?

时间:2011-04-29 15:40:19

标签: assembly x86-16

我正在尝试编写比较2个字符串的代码。 假设string1由SI引用,string2由DI引用,每个字符串长度为50。

这是对的吗?

Mov SI,2000H
Mov DI,3000H
Mov CX,50H
CLD
REPNE CMPSW

1 个答案:

答案 0 :(得分:2)

一些问题:

  • 50H是80十进制
  • 你是 - 通过使用CMPSW指令 - 有效地比较单词(16位),即160字节
  • 我认为您想使用REPE前缀,只要比较的元素相等,它就会重复该指令。或者直到当然执行CX中的比较次数。

重新放入CX中的内容:好吧,如果你确定你的字符串总长度是2 CMPSW的倍数更快。你只需要调整CX的内容