ENDM
INC CTR;Увеличить счетчик
LOOP D20;Уменьшить СХ, если не ноль - цикл
RET;Вернуться
D10DISP ENDP
Директива REPT обеспечивает пять раз выполнение блока команд, расположенных между REPT и ENDM.
8.3. Выполнить ассемблирование и компоновку измененной программы, запустить новый загрузочный модуль из панели NORTON и просмотреть результат выполнения программы.
В отчете привести листинг программы и выводы о результате выполнения программы.
8.4. Изменить процедуру D10DISP в файле allasc.asm следующим образом:
D10DISP PROC
MOV CX,256;256 итераций
D20:
LEA DX,CTR+2;Адрес счетчика D20
REPT 5
MOV AH,09;Ф-ция вывода символа
INT 21H
INC DX;Увеличить счетчик
INC DX;Увеличить счетчик
ENDM
LOOP D20;Уменьшить СХ, если не ноль - цикл
RET;Вернуться
D10DISP ENDP
Директива REPT обеспечивает выполнение блока из 4 команд 5 раз.
8.5. Изменить блок данных перед основной процедурой следующим образом:
CTR DB 00,'$'
N= 0
REPT 5
N= N+1
DB N,'$'
ENDM
Здесь операция REPT приводит к повторению блока операторов до директивы ENDM 5 раз. После начальной инициализации значения N= 0 повторяется генерация DB N пять раз. В результате будет сгенерировано пять операторов DB - от DB 1 до DB 5.
8.6. Выполнить ассемблирование и компоновку измененной программы, запустить новый загрузочный модуль из панели NORTON и просмотреть результат выполнения программы.
В отчете привести листинг программы и выводы о результате выполнения программы.
8.7. Изменить блок данных перед основной процедурой следующим образом:
CTR DB 00,'$'
IRP N,<3,16, 17, 25, 28>
DB N,'$'
ENDM
Здесь операция IRP приводит к повторению блока команд до директивы ENDM. Аргументы, содержащиеся в угловых скобках, представляют собой любое число правильных символов, строк, числовых или арифметических констант. В этом примере ассемблер генерирует DB 3, DB 9, DB 17, DB 25, и DB 28.
8.8. Выполнить ассемблирование и компоновку измененной программы, запустить новый загрузочный модуль из панели NORTON и просмотреть результат выполнения программы.
В отчете привести листинг программы и выводы о результате выполнения программы.
8.9. Изменить блок данных перед основной процедурой следующим образом:
CTR DB 00,'$'
IRPC N,34567
DB N,'$'
ENDM
Здесь операция IRPC приводит к повторению блока команд до директивы ENDM. Ассемблер генерирует блок кода для каждого символа в строке 34567. Таким образом генерируются коды DB 3, DB 4,... DB 8.
8.10. Выполнить ассемблирование и компоновку измененной программы, запустить новый загрузочный модуль из панели NORTON и просмотреть результат выполнения программы.
В отчете привести листинг программы и выводы о результате выполнения программы.