- •Модульное программирование
- •Технологии программирования
- •Структурное программирование
- •Концепция модульного программирования
- •Процедуры в языке асемблера
- •Организация интерфейса с процедурой
- •Передача аргументов через регистры
- •Передача аргументов через общую область памяти
- •Передача аргументов через стек
- •Использование директив extrn и public
- •Возврат результата из процедуры
- •Связь ассемблера с языками высокого уровня
- •Связь Pascal — асемблер
- •Связь с—асемблер
- •Подведем некоторые итоги:
Подведем некоторые итоги:
Язык ассемблера содержит достаточно мощные средства поддержки структурного программирования. В языке ассемблера эта технология поддерживается в основном с помощью механизма процедур и частично с использованием макрокоманд.
0 Гибкость интерфейса между процедурами достигается за счет разнообразия вариантов передачи аргументов в процедуру и возвращения результатов. Для этого могут использоваться регистры, общие области памяти, стек, директивы extrn и public.
Средства TASM поддерживают связи между языками. Ключевой момент при этом — организация обмена данными. Обмен данными между процедурами на языках высокого уровня и ассемблера производится через стек. Для дос¬тупа к аргументам используется регистр bр или (что более удобно) директива arg.
Можно доверить компилятору самому формировать коды пролога и эпилога, указав язык в директиве MODEL. Кроме того, указание языка позволяет задействовать символические имена аргументов, переданных процедуре в стеке, вместо прямого использования регистра bр для доступа к ним. Тем самым повышаются мобильность разрабатываемых вами программ и устойчивость их к ошибкам.
Для возврата результата в программу на языке высокого уровня необходимо использовать конкретные регистры. Через них можно передать как сами данные, так и указатели.
