ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Упрощенные директивы описания сегментов.Для простых программ, содержащих по одному сегменту для кода, данных и стека можно упростить описание программы. Для этого в трансляторах MASM и TASM имеется возможность использования упрощенных директив сегментации. Эти директивы приведены в таблице 2.1. Таблица. 2.1 Упрощенные директивы определения сегментов.
В случае упрощенного оформления программы совместно с упрощенными директивами сегментации используется директива указания модели памяти MODEL, которая определяет набор сегментов программы, размеры сегментов данных и кода, способ связывания сегментов и сегментных регистров. Параметры директивы: TINY - код, данные и стек содержаться в одном сегменте. Используется для com программ. Тип ссылок на код и данные – near. SMALL - код занимает один сегмент, данные и стек объединены и занимают один сегмент. Используется для большинства программ на ассемблере. Тип ссылок на код и данные – near. MEDIUM - неограниченный размер кода, под данные отводится один сегмент. Используется для написания больших программ с небольшим объемом данных. Тип ссылок на код – far, а данных – near. COMPACT - размер кода ограничен одним сегментом, размер данных неограничен. Используется при написании малых и средних по размеру программ с большим количеством переменных. Тип ссылок на код – near, а данных – far. LARGE - размер кода и данных неограничен. Используется в больших программах. Тип ссылок на код и данные – far. При использовании директивы MODEL транслятор делает доступным несколько идентификаторов, к которым можно обращаться во время работы программы: @code - физический адрес сегмента кода. @data - физический адрес сегмента данных типа near. @fardata - физический адрес сегмента данных типа far. @fardata? - физический адрес сегмента неинициализированных данных типа far. @curseg - физический адрес сегмента неинициализированных данных типа far. @stack - физический адрес сегмента стека. Не нашли, что искали? Воспользуйтесь поиском:
|