INT 21H

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 и просмотреть результат выполнения программы.

В отчете привести листинг программы и выводы о результате выполнения программы.