Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Переход на 32-bit регистры

17K
22 июня 2006 года
Den76
4 / / 21.06.2006
Здрасьте!
Я новичок в Ассемблере, и у меня вопрос по 32-разрядным регистрам. Как перейти к работе с нмми на tasm'е. Сначала компилировал проги с 16-битными регистрами на старом Tasm v.2.0, потом поставил себе пакет Tasm5, содержащий TASM,TASM32(V5.0) и TASMX(V4.1) Заменил в исходниках AX,BX и т.д. на EAX, EBX и т.д. и попробовал компильнуть на tasm32. Он трактанул EAX, EBX как <Undefined simbol>, как будто бы они необъявленные переменные, а не регистры. В чем дело? Ответьте, плз, новичку.
551
22 июня 2006 года
Pavia
357 / / 22.04.2004
Так попробую по порядку рассказать вкратце. Лучше найди себе книжку.
Первое ты должен указать директиву ассемблеру, что ты будешь пользоваться директивами ассемблера для соответствующего процессора.
Одна из
.386
.486
.586

Существую их разновидности к примеру .486p это позволяет использовать привилегированные инструкции данного процессора. Есть и другии инструкции.
Раз уж речь пошла про 32 разрядные регистры. То если ты пишешь программы для реального режима процессора, режима с которым работает DOS. То здесь мало изменений. Получаешь расширение регистров. Можешь пользоваться со процессором.


Но виндоус уже работает с защищенном режимом процессора. И там уже свои хитрости и тонкости. К примеру, тебе становится доступно 4ГБ памяти, виндоус ограничивает 2ГБ, часть инструкций становиться запрещенными. Но не пугайся виндоус моделирует среду для дос приложений, но не до конца.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог