Требования к программе типа. EXE

– Программа состоит из программных сегментов;

– В начале сегмента кода должна быть директива ASSUME;

– Вход в программу определяется меткой. Заканчивается программа этой же меткой в директиве END;

– Если есть сегмент данных, то необходимо выполнить загрузку адреса сегмента данных в сегментный регистр;

MOV AX, имя_сегмента_данных

MOV DS,AX

– Для выхода из программы используется функция 4CH (EXIT) прерывания 21H

MOV AH,4CH; ВЫХОД

INT 21H; В DOS

Шаблон для написания программ типа.EXE

имя_сегмента_стека SEGMENT stack 'stack'; стек

; резервирование памяти

имя_сегмента_стека ENDS

имя_сегмента_данных SEGMENT; данные

; объявить переменные

имя_сегмента_данных ENDS

имя_сегмента_кода SEGMENT; исполнимые операторы

ASSUME.....;

имя_процедуры PROC

;Текст подпрограммы

имя_процедуры ENDP

Метка:;Точка_входа_в_программу:

mov ax, имя_сегмента_данных; загрузка адреса регистра данных в ds

mov ds,ax

mov ah,4ch; выход

int 21h; в DOS

имя_процедуры ENDP

имя_сегмента_кода ENDS

END Метка

3. Структура.СОМ программ

Требования к программе типа.COM

– Содержит только один сегмент;

– Не надо производить загрузку адреса сегмента данных в сегментный регистр;

– В начале сегмента должна быть директива ASSUME, после которой необходимо записать org 100h. Оператор org 100h резервирует 256 байт для PSP. Заполнять PSP будет по - прежнему система, но место под него в начале сегмента должен отвести программист.

– Для выхода из программы используется функция 4CH (EXIT) прерывания 21H

MOV AH,4CH; ВЫХОД

INT 21H; В DOS

– При компоновке использовать ключ /t

TKINK имя_программы /t


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: