8. Директивы определения начала и конца процедуры, директива определения конца программы. Инициализация программы.

Директивы определения начала и конца процедуры

имя_процедуры PROC [NEAR(FAR)]; начало процедуры
NEAR – может быть вызвана только из этого модуля
FAR – может быть вызвана только из этого и любого другого модуля
имя_процедуры ENDP; конец процедуры

Выход из процедуры осуществляется по команде RET

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

END[имя_точки_входа]
;Указывает транслятору где заканчивается программа 

Инициализация программы:

;объявление сегментов данных, стека и кода
dseg segment para public ‘data’
dseg ends
sseg segment para stack ‘stack’
db 256 dup(?)
seg ends
cseg segment para public ‘code’
assume cs:cseg, ss:sseg, ds:dseg
main proc far

;формирование точки возврата
push ds
sub ax, ax
push ax
;инициализация ds
mov ax, dseg
mov ds, ax

;тело программы

ret; выход из программы
main endp
cseg ends 
17.07.2015