Страница 1 из 1
Как определить длину строки?
Добавлено: 18 апр 2005, 17:36
PavelA
Помогите составить функцию определения длины строки!
Спасибо.
Добавлено: 18 апр 2005, 20:41
Romeo
Код: Выделить всё
mov ax, ds
mov es, ax
mov di, ofset my_string
mov cx, 0FFh
xor ax, ax
repnz cmpsb
not cx
inc cx
И того в
cx - длина строки. Возможно последняя команда лишняя - проверь. У меня нет под рукой асма.
Добавлено: 18 апр 2005, 22:07
Andy
Romeo, не будет работать

Ты же cmpsb делаешь, а si не задан. Со scasb перепутал?

Будет типа этого:
Код: Выделить всё
mov di, offset my_string
mov cx, 0FFFFh
xor ax, ax
repnz scasb
not cx
dec cx
Это если строка с завершающим нулем. Иначе в AL другое значение.
Добавлено: 18 апр 2005, 22:24
Romeo
Точно
scasb, опечатался. Да и вообще практики нет, забывается всё
