ВУЗ:
Составители:
28
2.3.3 Использование процедур и команд организации цикла и ветвления,
команды с косвенной адресацией
Перед началом выполнения этого задания необходимо по электронному
справочнику (программа ASS) ознакомиться с форматом и функциями команд
LOOP, JMP, Jnnn, CALL, RET, PUCH и POP.
2.3.3.1 Проанализировать и выполнить программу расширенной пере-
сылки данных EXMOVE:
page 66,80
title exmove
stacksg segment para stack 'stack'
dw 32 dup(?)
stacksg ends
datasg segment para 'data'
name1 db 'abcdefghi','$'
name2 db 'jklmnopqr','$'
name3 db 'stuvwxyz*','$'
datasg ends
codesg segment para 'code'
assume cs:codesg,ds:datasg,ss:stacksg,es:datasg
begin proc far ;главная процедура
push ds
sub ax,ax
push ax
mov ax,datasg
mov ds,ax
mov es,ax
call b10move ;вызов процедуры
call c10move ;вызов процедуры
ret
begin endp
b10move proc ;начало процедуры
lea si,name1
lea di,name2
mov cx,09 ;счётчик цикла
b20: mov al,[si] ; начало цикла
mov [di],al
inc si
inc di
dec cx
jnz b20 ;переход на метку в20
ret ;выход из процедуры
b10move endp
c10move proc
2.3.3 Использование процедур и команд организации цикла и ветвления,
команды с косвенной адресацией
Перед началом выполнения этого задания необходимо по электронному
справочнику (программа ASS) ознакомиться с форматом и функциями команд
LOOP, JMP, Jnnn, CALL, RET, PUCH и POP.
2.3.3.1 Проанализировать и выполнить программу расширенной пере-
сылки данных EXMOVE:
page 66,80
title exmove
stacksg segment para stack 'stack'
dw 32 dup(?)
stacksg ends
datasg segment para 'data'
name1 db 'abcdefghi','$'
name2 db 'jklmnopqr','$'
name3 db 'stuvwxyz*','$'
datasg ends
codesg segment para 'code'
assume cs:codesg,ds:datasg,ss:stacksg,es:datasg
begin proc far ;главная процедура
push ds
sub ax,ax
push ax
mov ax,datasg
mov ds,ax
mov es,ax
call b10move ;вызов процедуры
call c10move ;вызов процедуры
ret
begin endp
b10move proc ;начало процедуры
lea si,name1
lea di,name2
mov cx,09 ;счётчик цикла
b20: mov al,[si] ; начало цикла
mov [di],al
inc si
inc di
dec cx
jnz b20 ;переход на метку в20
ret ;выход из процедуры
b10move endp
c10move proc
28
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »
