Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поместить значение в память, mov? 
:(
    Опции темы
codeok
Дата 14.4.2011, 02:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте.
Как поместить значение al в память по адресу A000h:0000h ?
Использую emu8086, пытался что то вроде mov byte ptr[A000h:0000h],al но что то не получается.
PM MAIL WWW ICQ   Вверх
Игорь1024
Дата 14.4.2011, 06:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 11.5.2009
Где: Дальний Восток

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



Код

push 0A000h
pop es
mov [es:0h],al

--------------------
The God is real,unless he is declared as integer.
PM MAIL   Вверх
iff
Дата 14.4.2011, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


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

Репутация: 4
Всего: 16



Цитата(codeok @  14.4.2011,  02:34 Найти цитируемый пост)
Использую emu8086

процессор 8086 не может исполнять команду push 0A000h, т.е. помещать в стек константу. Но компилятор TASM (не знаю как другие) не выдаст ошибку он откомпилирует эту инструкцию как:
Код

push ax
push bp
mov bp,sp
mov word ptr [bp+02h],0A000h
pop bp

Т.е. при компиляции для процессора 8086 код
Код

push 0A000h
pop es

будет откомпилирован как:
Код

push ax
push bp
mov bp,sp
mov word ptr [bp+02h],0A000h
pop bp
pop es

По этому я бы по рекомендовал заменить
Код

push 0A000h
pop es
mov [es:0h],al

на
Код

mov dx,0A000h
mov es,dx
mov [es:0h],al

Второй вариант в плане объема весит меньше и выполняется быстрее - меньше обращений к памяти (к стеку).

Это сообщение отредактировал(а) iff - 14.4.2011, 12:22


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
codeok
Дата 16.4.2011, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

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

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


 




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


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

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