Это правильная сборка? - PullRequest
       6

Это правильная сборка?

0 голосов
/ 29 апреля 2011

Я пытаюсь написать код, который сравнивает 2 строки. Предположим, что на string1 ссылается SI, а на string2 ссылается DI, а длина каждой строки равна 50.

Это правильно?

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

1 Ответ

2 голосов
/ 29 апреля 2011

Некоторые проблемы:

  • 50H - это десятичное число 80
  • вы - с помощью инструкции CMPSW - эффективно сравниваете слова (16 бит), то есть 160 байтов
  • Я думаю, что вы хотите использовать префикс REPE, который повторяет инструкцию, если сравниваемые элементы равны.Или до тех пор, пока число сравнений в CX не будет выполнено, конечно.

Что можно поместить в CX: хорошо, если вы уверены, что ваша строка всегда будет иметь длину, кратную 2 CMPSW быстрее,Вам просто нужно настроить содержимое CX

...