ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Структура и образ памяти .com программы.В MS DOS существует два типа исполняемых файлов: программы с расширением.com и.exe. Для исполняемых программ загружаемых в память DOS создает специальный блок размером в 256 байт (100h), называемый префиксом программного сегмента (PSP - Program Segment Prefix). Структура PSP показана в таблице 2.4. Таблица 2.4. Структура префикса программного сегмента [].
Образ памяти программы типа.com показан на рис. 2.4. Программа типа.com содержит один сегмент, включающий все компоненты программы: PSP, программный код, данные и стек. Поэтому размер.com программы не может быть больше 64 кбайт минус размер PSP и два резервных байта в конце стека. После загрузки программы все сегментные инициализируются базовым адресом PSP. Пространство кодов начинается со смещением 100h, данные непосредственно следуют за кодами. Указатель стека автоматически инициализируется числом FFFEh. В Листингах 2.1. и 2.2. рассматриваются шаблоны, содержащие только самое необходимое для написание.com программы. Листинг 1.2. Шаблон стандартного формата.com программы. TITLE “Шаблон упрощенного формата.com программ” ;Директивы INCLUDE “filename” ;Макроопределения EQU и = DATASG SEGMENT Para ‘Data’ ;Если программа будет прервана по ошибке, то соответствующий код ошибки записывается в exCode и выполняется команда перехода на метку Exit. exCode DB 0 ; описания других переменных DATASG ENDS STACKSG SEGMENT Para STACK ‘Stack’ db 100h dup(?) STACKSG ENDS CODESG SEGMENT Para ‘Code’ ASSUME CS:CODESG, DS:DATASG, SS:STACKSG Start: ;тело программы, вызовы подпрограмм и т.п. MOV AH, 004Ch; Функция DOS выхода из программы MOV AL, [exCode]; Возврат значения кода выхода INT 21h; Вызов DOS. Останов программы. END Start; Конец программы Листинг 1.3. Шаблон упрощенного формата.com программы. %TITLE “Шаблон упрощенного формата.com программ” IDEAL MODEL tiny ;Директивы INCLUDE “filename” ;Макроопределения EQU и = DATASEG ;Если программа будет прервана по ошибке, то соответствующий код ошибки записывается в exCode и выполняется команда перехода на метку Exit. exCode DB 0 ;Описания других переменных CODESEG ORG 100h; Cстандартный адрес начала.com программы Start: ;Тело программы Exit: MOV AH, 004Ch; Функция DOS выхода из программы MOV AL, [exCode]; Возврат значения кода выхода INT 21h; Вызов DOS. Останов программы. END Start; Конец программы Не нашли, что искали? Воспользуйтесь поиском:
|