Как уже показано, директива ENDS
Директива END
Как уже показано, директива ENDS завершает сегмент, а директива ENDP завершает процедуру. Директива END в свою очередь полностью завершает всю программу:
Директива Операнд END [имя_процедуры]
Операнд может быть опущен, если программа не предназначе на для выполнения, например, если ассемблируются только опре деления данных, или эта программа должна быть скомпанована с другим (главным) модулем. Для обычной программы с одним модулем oперанд содержит имя, указанное в директиве PROC, которое было oбозначено как FAR.
ПАМЯТЬ И РЕГИСТРЫ ------------------------------------------------------------
Рассмотрим особенности использования в командах имен, имен в квадратных скобках и чисел. В следующих примерах положим, что WORDA определяет слово в памяти:
Ассемблер для IBM PC. Глава 3 66
MOV AX,BX ;Переслать содержимое BX в регистр AX MOV AX,WORDA ;Переслать содержимое WORDA в регистр AX MOV AX,[BX] ;Переслать содержимое памяти по адресу ; в регистре BX в регистр AX MOV AX,25 ;Переслать значение 25 в регистр AX MOV AX,[25] ;Переслать содержимое по смещению 25
Новым здесь является использование квадратных скобок, что потребуется в следующих главах.
ИНИЦИАЛИЗАЦИЯ ПРОГРАММЫ ------------------------------------------------------------
Существует два основных типа загрузочных программ: EXE и COM. Рассмотрим требования к EXE-программам, а COM-программы будут представлены в главе 6. DOS имеет четыре требования для инициализации ассемблерной EXE-программы: 1) указать ассемблеру, какие cегментные регистры должны соответствовать сегментам, 2) сохранить в стеке адрес, находящийся в регист ре DS, когда программа начнет выполнение, 3) записать в стек нелевой адрес и 4) загрузить в регистр DS адрес сегмента данных. Выход из программы и возврат в DOS сводится к использова нию команды RET. Рис.3.1 иллюстрирует требования к инициали зации и выходу из программы:
1. ASSUME - это ассемблерная директива, которая устанавли вает для ассемблера соответствие между конкретными сегментами и сегментными регистрами; в данном случае, CODESG - CS, DATASG - DS и STACKSG - SS. DATASG и STACKSG не определены в этом примере, но они будут представлены следующим образом:
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий