Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Директивы определения сегментов и процедур






 

Эти директивы отмечают начало и конец сегментов. Наболее распространенные директивы приведены в таблице 2.3.

Таблица 2.3- Директивы определения сегментов и процедур

SEGMENT ENDS PROC ENDP END ASSUME .DATA .CODE .STACK .MODEL       Формат: имя SEGMENT [тип]; определяет начало имя ENDS; и конец сегмента. Формат: имяPROC [атрибут дистанции; определяет начало имяENDP; и конец некоторой процедуры. Формат: END [метка точки входа]; определяет конец программы. Формат: ASSUME сегм.рег.: имя сегмента; указывает с каким сегментом, связан указанный сегментный регистр. (пример: ASSUME cs: cseg, ds: dseg, ss: stack) Формат:.DATA [имя сегмента]; Задаёт начало и описывает сегмент данных в малой модели программы. Формат:.CODE [имя сегмента]; Задаёт начало и описывает сегмент кода в малой модели пограммы. Формат:.STACK [размер]; Задаёт начало и описывает сегмент стэка в малой модели программы. Формат:.MODEL [модель]; Позволяет определить модель памяти для программы. [модель] одна из следующих директив: Ÿ TINY – код, данные и стэк в одном сегменте. · SMALL - код, данные и стэк в двух сегментах. · COMPACT – код в одном, а данные в N сегментах. · MEDIUM–код в N сегментах, данные в одном сегменте.

 

Руководствуясь директивами, система выделяет области памяти под сегменты стека, данных, кода или процедуры. Руководствуясь этими директивами, операционная система определяет начальные адреса сегментов. Эти действия выполняются системой при трансляции программы.

Директивы присваивания атрибута данным

Эти директивы (таблица 2.4) позволяют изменить у операнда атрибут типа (BYTE, WORD, DWORD) или атрибут дистанции (SHORT, NEAER или FAR). Ими можно воспользоваться для доступа к байтам в строках слов, или наоборот, к словам в строке байт. Например, имеем строку десятичных слов; TW DW 4564, 67 81, 1234

Требуется изменить третий байт в этой строке (67) на число 99. Выполним команду Mov WORD PTR TW +3, 99

После выполнения этой команды строка примет следующий вид

TW DW 4567, 99 81, 1234

Табилица 2.4-Директивы присваивания атрибута данным

PTR SHORT Формат: типPTR выражение; Изменяет атрибуты типа данных. Тип – новый атрибут, выражение- идентификатор, чей атрибут должен быть изменён. В качестве типаданных используются имена - BYTE, WORD, DWORD, QWORD, TBYTE. Формат: JMP SHORT метка; Изменяет атрибут метки NEAR команды перехода JMP и указывает что переход осуществляется на расстояние не более чем на -128 или +127 байт.





© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.