Member
Статус: Не в сети Регистрация: 08.05.2006 Откуда: СПБ
тоже не то, выводит различные значение которые зависят от количества симоволов
если ввести 1 то это будет 00, если 2 то это 42,если три то это 72, если 4 то это 61
_________________ Мы все знаем, что Linux — это круто… он выполняет бесконечные циклы за 5 секунд.
* Линус Торвальдс
Russian Проверяйте в отладчике, может у вас Си своеобразно обрабатывает ассемблерные вставки (собственно поэтому и предложил разбить одну команду на несколько). Я у себя вижу нормальное обращение к зоне 0040:001E-0040:003C и изменение указателей по адресам 0040:001A и 0040:001C.
Если не сложно, то приводите состояние регистров после выполнения каждой команды, так будет намного легче гадать .
Дык там внизу подписаны функции, соответствующие фукциональным клавишам, а по F4 вызывается встроенный help.
Russian писал(а):
нет желания проверить весь код?
А смысл? У вас глюк именно в этом кусочке.
P.S. Кстати, забыл в одной строке сегментный регистр . mov AL, [BX] --> mov AL, ES:[BX]
Когда проверял, регистр DS у меня был равен регистру ES, ну и работало без проблем . Сорри за путаницу.
Member
Статус: Не в сети Регистрация: 27.09.2007 Откуда: СПб
Народ кто может помочь написать программку! полностью на асме. Заранее спасибо)
Дан список из 20 слов по 10 символов в каждом. Напечатать его в обратном алфавитном порядке, предварительно удалив из него повторяющиеся слова. При сортировке игнорировать высоту букв (Например, A = a).
Т.е. qwerty нужно записать как ywtrqe ?
Из каких символов могут состоять слова (англ/рус)?
При выводе можно игнорировать высоту букв?
Сами собираетесь что-нибудь писать ?
Member
Статус: Не в сети Регистрация: 27.09.2007 Откуда: СПб
сам в асме к сожалению ни бум-бум( все игнорировать, буквы англ, чтоб без лишних заморочек Добавлено спустя 5 минут, 28 секунд задание я понял как дан список ffffffffff oooooooooo aaaaaaaaaa .........
надо сделать oooooooooooooo fffffffffffffff aaaaaaaaaaaa ............
Нда, тяжелый случай .
Просто уберите строки за конец программы, т.е. за последний вызов int 20h. Или сделайте отдельный сегмент данных и разместите строки там (соответственно, DS должен указывать уже на сегмент данных).
Да и для стека зарезервировали бы отдельную область .
Junior
Статус: Не в сети Регистрация: 24.06.2008 Откуда: Пятигорск
maco спасибо, убрал строчки, теперь работает. пока не представляю для чего надо для стэка резервировать область отдельную. стэк это же вроде хранилище данных, каких-либо. я ведь здесь не использую процедуры, для чего мне трогать стэк?
может подскажите, кстати, каким образом сделать, чтобы вторые сообще выводились на сл строчке?)
Последний раз редактировалось sinh 26.04.2009 18:46, всего редактировалось 1 раз.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения