![]() |
|
![]() ![]() ![]() |
|
kuzyara |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 215 Регистрация: 13.11.2006 Репутация: нет Всего: 1 |
собственно отладка в td:
раз ![]() два ![]() почему не изменилась ячейка памяти по адресу [di+bp]? (ячейка 10h) mac.lib Это сообщение отредактировал(а) kuzyara - 25.6.2011, 07:00 Присоединённый файл ( Кол-во скачиваний: 7 ) ![]() --------------------
подпись |
|||
|
||||
kuzyara |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 215 Регистрация: 13.11.2006 Репутация: нет Всего: 1 |
...
Это сообщение отредактировал(а) kuzyara - 25.6.2011, 08:15 --------------------
подпись |
|||
|
||||
iff |
|
||||||||
![]() Администратор ![]() ![]() Профиль Группа: Участник Сообщений: 949 Регистрация: 23.3.2007 Репутация: 5 Всего: 16 |
Регистр BP по умолчанию "привязан" к сегментному регистру SS, а DI - к DS. Т.е. если выполняется код
то значение регистра AL помещается по адресу SS:BP. А если выполняется код
то значение регистра AL помещается по адресу DS:DI. При выполнении кода
Вы ожидаете, что значение регистра AL будет находится по адресу DS:[DI+BP], но это не так: AL будет помещён в память по адресу SS:[DI+BP]. Вывод: нужно принудительно указать, что смещение [DI+BP] должно вычислятся относительно сегментного адреса, находящегося в DS. Вам нужен код:
Правда код будет немного больше весить, а возможно и немного медленнее работать. Либо есть другой вариант: использовать вместо BP регистр BX или SI. -------------------- DOS... Синей пеленой экран заполнил чистый DOS Мышь... Стала вдруг квадратной, потеряла форму мышь... Я разбил окно, девяностопятое мастдайное окно, И поставил DOS, и тогда увидел: Это счастье, — вот оно. |
||||||||
|
|||||||||
kuzyara |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 215 Регистрация: 13.11.2006 Репутация: нет Всего: 1 |
![]() --------------------
подпись |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm: Общие вопросы" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |