Лабораторные задания (565165), страница 3
Текст из файла (страница 3)
Часто в больших программах используются подпрограммы для реализации типовых участков. В ЯА подпрограммы оформляются в виде процедур.
Описание процедур
{имя проц.} PROC {параметр}
{тело проц.}
[RET]
{имя проц.} ENDP
где {имя проц.} – должно повторяться дважды и используется для обращения к процедуре;
{параметр} может принимать одно из двух значений -
К близкой (внутренней) процедуре можно обращаться только из того сегмента команд, где она описана. К дальней (внешней) процедуре можно обращаться из любых сегментов команд программы, в том числе и из того, где она описана.
Имена и метки, описанные в процедуре, не локализуются внутри нее, поэтому должны быть уникальными в программе.
Хотя в АЯ можно описать одну процедуру внутри другой, никакой выгоды это не дает и обычно не используется.
Вызов процедур
Если из процедуры возможен возврат в DOS, то ее можно вызвать командой перехода на имя процедуры
JMP {имя проц.}
Если нужен возврат в вызывающую программу, то проще всего использовать команду обращения
CALL {имя проц.}
Тогда в теле процедуры должна быть команда возврата
RET
Задание
-
Ознакомиться с образцами программ, приведенными в файлах task1_1.asm, task1_2.asm, task1_3.asm, task1_4.asm.
-
Ознакомиться с образцами программ, приведенными в файлах task2_1.asm, task5_m.asm, task6_1.asm.
-
Разработать ассемблер-программу реализации линейного процесса.
Лабораторная работа № 4
Задание
1. Разработать программу в Турбо-ассемблере для реализации циклического процесса в соответствии с вариантом задания, выполненным на занятии 3.