Составители:
7
Команды ассемблера, необходимые для решения первой задачи:
Каждому элементу блок - схемы соответствует одна команда.
Команды отделены от описания (комментария) - ";". Сначала дается
символическое описание команды. Порядок команд в списке не
соответствует порядку операторов в блок-схеме.
LDAX B; (A) <-- ((BC)) - это означает, что байт из ячейки памяти с
адресом, который хранится в паре регистров
BC, пересылается (на самом
деле копируется) в аккумулятор. Здесь и далее в символическом описании
команды одинарные круглые скобки означают содержимое регистра.
Двойные круглые скобки - содержимое ячейки памяти с адресом, который
хранится в соответствующей паре регистров, в нашем случае в паре BC.
LXI D, прм; (DE) <-- прм . Записать в пару регистров DE двухбайтовое
число с символическим
именем "прм". При выполнении этой команды МП
трактует "прм" просто, как двухбайтовое число, а не как адрес.
DCR H; (H) <-- (H) - 1. Уменьшить содержимое регистра H на 1. Такая
команда называется - декремент.
LXI B, ист; (BC) <-- ист . Записать в пару регистров BC двухбайтовое
число с символическим именем "ист".
STAX D; ((DE)) <-- (A). Переслать байт из аккумулятора в ячейку памяти с
адресом, который хранится
в паре регистров DE.
INX B; (BC) <--(BC) + 1. Увеличить содержимое пары BC на 1.
JNZ метка; Переход к физическому адресу с символическим именем
"метка", если в результате, предшествующей команды, влияющей на "флаг
нуля" получен не нулевой результат.
МVI H, N; (H) <-- N. Загрузить в регистр H однобайтовое число N.
INX D; (DE) <--(DE) + 1. Увеличить содержимое пары DE на 1.
Так может выглядеть решение 1-ой задачи, записанное
на ассемблере
МASМ или TASМ для семейства процессоров 80x86 (возможно это
поможет вам при составлении своего варианта программы). Ваша запись,
естественно, будет отличаться от этой.
lea si, ист
lea di, прм
mov cl, 5
m1: mov al, [si]
mov [di], al
inc si
inc di
dec cl
jnz m1
Страницы
- « первая
- ‹ предыдущая
- …
- 5
- 6
- 7
- 8
- 9
- …
- следующая ›
- последняя »