Зворотний зв'язок

Assembler

mov ax,4c00h ;пересылка 4c00h в регистр ax

int 21h ;вызов прерывания с номером 21h

main endp ;конец процедуры main

end main ;конец программы с точкой входа main

Синтаксис директивы MODEL показан на рис. 16.

Рис. 16. Синтаксис директивы MODEL

Обязательным параметром директивы MODEL является модель памяти. Этот параметр определяет модель сегментации памяти для программного модуля. Предполагается, что программный модуль может иметь только определенные типы сегментов, которые определяются упомянутыми нами ранее упрощенными директивами описания сегментов. Эти директивы приведены в табл. 3.

Таблица 3. Упрощенные директивы определения сегмента

Формат директивы

(режим MASM)Формат директивы

(режим IDEAL)Назначение

.CODE [имя]CODESEG[имя]Начало или продолжение сегмента кода

.DATADATASEGНачало или продолжение сегмента инициализированных данных. Также используется для определения данных типа near

.CONSTCONSTНачало или продолжение сегмента постоянных данных (констант) модуля

.DATA?UDATASEGНачало или продолжение сегмента неинициализированных данных. Также используется для определения данных типа near.STACK [размер]STACK [размер]Начало или продолжение сегмента стека модуля. Параметр [размер] задает размер стека

.FARDATA [имя]FARDATA [имя]Начало или продолжение сегмента инициализированных данных типа far

.FARDATA? [имя]UFARDATA [имя]Начало или продолжение сегмента неинициализированных данных типа far

Наличие в некоторых директивах параметра [имя] говорит о том, что возможно определение нескольких сегментов этого типа. С другой стороны, наличие нескольких видов сегментов данных обусловлено требованием обеспечить совместимость с некоторыми компиляторами языков высокого уровня, которые создают разные сегменты данных для инициализированных и неинициализированных данных, а также констант.

При использовании директивы MODEL транслятор делает доступными несколько идентификаторов, к которым можно обращаться во время работы программы, с тем, чтобы получить информацию о тех или иных характеристиках данной модели памяти (см. табл. 5). Перечислим эти идентификаторы и их значения (табл. 4). Таблица 4. Идентификаторы, создаваемые директивой MODEL

Имя идентификатораЗначение переменной

@codeФизический адрес сегмента кода

@dataФизический адрес сегмента данных типа near


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат