Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу выбрать регистр для хранения индекса элем. 
V
    Опции темы
Innuendo108
Дата 7.11.2010, 04:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 3.4.2008

Репутация: нет
Всего: 2



Программа "пробегает" строку и делает определенные действия с каждым её элементом.


загружается строка в регистр так:

lea bx, string1
mov al, [bx] ; теперь al - текущий элемент строки

текущий элемент необходимо сравнивать поочередно с элементами другой строки.
там я использую для указания на элемент string2[si], где изменяю регистр si.

Но возникла проблема. Я никак не могу сравнить с байтом значение si

cmp byte ptr si, length2

не работает, хотя length2 объявлена как байт.

Если я храню смещение строки не в si, а допустим в dl, то сравнение уже работает, но ругается на указание string[dl]


Как быть?
PM MAIL   Вверх
586
Дата 7.11.2010, 06:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: нет
Всего: 146



Цитата(Innuendo108 @  7.11.2010,  04:25 Найти цитируемый пост)
не работает, хотя length2 объявлена как байт.

Объяви её как двухбайтовую.
Или так напиши:
Код
xor dx, dx
mov dl, length2
cmp si, dx


Цитата(Innuendo108 @  7.11.2010,  04:25 Найти цитируемый пост)
Если я храню смещение строки не в si, а допустим в dl, то сравнение уже работает, но ругается на указание string[dl]

Адресацию можно делать только через регистры BX, SI, DI и BP.
PM   Вверх
Innuendo108
Дата 7.11.2010, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 3.4.2008

Репутация: нет
Всего: 2



ясно, спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0735 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.