Составление программ на ассемблере, блок-схема и алгоритм, страница 2

Результат выполнения программы сохраняется в паре регистров H,L.

H=03

L=34


Задание 2.

Составить программу вычисления выражения, приведенного в задании 1. Числа (произвольные значения) разместить в ячейках ОЗУ.

n=17.

 



Адрес ОЗУ

Команда

Параметры команды

hex

Описание

0000

0001

MVI

A,00

3E

00

;в регистр A заносится шестнадцатеричное значение 00

0002

0003

MVI

H,01

26

01

;в регистр H заносится шестнадцатеричное значение 01

0004

0005

MVI

L,FF

2E

FF

;в регистр L заносится шестнадцатеричное значение FF

0006

0007

MVI

B,11

06

11

;в регистр B заносится шестнадцатеричное значение 11

0008

INR

L

2C

;увеличение значения регистра L на единицу

0009

ADD

M

86

;сложение значения, находящегося по адресу в ОЗУ, на который ;указывает конкатенация значений регистров H и L, со значением, ;находящимся в регистре A. Результат заносится в регистр A

000A

000B

000C

CC

adr

DC

13

00

;переход программы по адресу, если произошло переполнение ;регистра, т.е. если флаг C принял значение 1. Адрес перехода ;устанавливается путем конкатенации значений второго и ;третьего адреса команды

000D

MOV

D,A

57

;копирование данных из регистра A в регистр D

000E

DCR

B

05

;уменьшает значение регистра B на единицу

000F

0010

0011

CNZ

adr

C4

08

00

;переход программы по адресу, если регистр принял значение 0, ;т.е. если флаг Z принял значение 1. Адрес перехода ;устанавливается путем конкатенации значений второго и ;третьего адреса команды

0012

HLT

76

;завершение работы программы

0013

INR

C

0C

;увеличение значение регистра C на единицу

0014

RET

C9

;завершение работы процедуры. Счетчик команд устанавливается ;на следующую команду, после которой была вызвана процедура

0100

01

;адрес ячейки ОЗУ, в котором находится 1-е слагаемое

;адрес ячейки ОЗУ, в котором находится 2-е слагаемое

;адрес ячейки ОЗУ, в котором находится 3-е слагаемое

;адрес ячейки ОЗУ, в котором находится 4-е слагаемое

;адрес ячейки ОЗУ, в котором находится 5-е слагаемое

;адрес ячейки ОЗУ, в котором находится 6-е слагаемое

;адрес ячейки ОЗУ, в котором находится 7-е слагаемое

;адрес ячейки ОЗУ, в котором находится 8-е слагаемое

;адрес ячейки ОЗУ, в котором находится 9-е слагаемое

;адрес ячейки ОЗУ, в котором находится 10-е слагаемое

;адрес ячейки ОЗУ, в котором находится 11-е слагаемое

;адрес ячейки ОЗУ, в котором находится 12-е слагаемое

;адрес ячейки ОЗУ, в котором находится 13-е слагаемое

;адрес ячейки ОЗУ, в котором находится 14-е слагаемое

;адрес ячейки ОЗУ, в котором находится 15-е слагаемое

;адрес ячейки ОЗУ, в котором находится 16-е слагаемое

;адрес ячейки ОЗУ, в котором находится 17-е слагаемое

0101

02

0102

FF

0103

03

0104

04

0105

05

0106

FF

0107

06

0108

07

0109

08

010A

FF

010B

09

010C

0A

010D

0B

010E

0C

010F

0D

0110

0E