мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
asm:lesson4 [13/10/2010 20:06] arabusovasm:lesson4 [19/10/2010 20:00] (текущий) ybezrukov
Строка 1: Строка 1:
 ====== Урок 4 ====== ====== Урок 4 ======
 +
  
 ===== Процедуры и оператор CALL ===== ===== Процедуры и оператор CALL =====
  
 Типичный синтаксис процедуры: Типичный синтаксис процедуры:
 +<code>
  
                     NAME     PROC FAR                     NAME     PROC FAR
Строка 9: Строка 11:
                          .                          .
                     NAME     ENDP                     NAME     ENDP
 +</code>
 Операнд FAR информирует систему о том, что данный адрес явля Операнд FAR информирует систему о том, что данный адрес явля
 ется точкой входа для выполнения,  а директива ENDP определя ется точкой входа для выполнения,  а директива ENDP определя
Строка 18: Строка 20:
 Обратите внимание на следующие особенности: Обратите внимание на следующие особенности:
  
- директивы PROC по меткам  B10  и C10 имеют операнд NEAR+  * директивы PROC по меткам  B10  и C10 имеют операнд NEAR
 для указания того,  что эти процедуры находятся  в текущем  кодовом сегменте.  Во многих  последующих примерах для указания того,  что эти процедуры находятся  в текущем  кодовом сегменте.  Во многих  последующих примерах
 этот операнд опущен,  так  как  по  умолчанию ассемблер этот операнд опущен,  так  как  по  умолчанию ассемблер
 принимает тип NEAR. принимает тип NEAR.
- Каждая  процедура имеет уникальное  имя и  содержит собственную директиву ENDP для указания конца процедуры. +  * Каждая  процедура имеет уникальное  имя и  содержит собственную директиву ENDP для указания конца процедуры. 
- Команда RET всегда  выполняет возврат в  вызывающую программу. +  Команда RET всегда  выполняет возврат в  вызывающую программу. 
-Использование процедур дает  хорошую возможность организо +Использование процедур дает  хорошую возможность организовать  логическую  структуру программы.  Кроме того, операнды 
-вать  логическую  структуру программы.  Кроме того, операнды +для команды CALL могут иметь значения,  выходящие за границу от -128 до +127 байт. 
-для команды CALL могут иметь значения,  выходящие за границу +Технически управление  в процедуру типа  NEAR  может быть передано с помощью команд перехода или даже  обычным построчным  кодированием.  Но в  большенстве  случаев рекомендуется использовать команду CALL  для передачи  управления  в процедуру и команду RET для возврата.
-от -128 до +127 байт. +
-Технически управление  в процедуру типа  NEAR  может быть +
-передано с помощью команд перехода или даже  обычным построч +
-ным  кодированием.  Но в  большенстве  случаев рекомендуется +
-использовать команду CALL  для передачи  управления  в проце +
-дуру и команду RET для возврата.+
  
 ===== Прерывания ===== ===== Прерывания =====