Учебно-методический комплекс. Методические указания к выполнению лабораторных работ. Направление подготовки бакалавра, страница 25

АПК

Команда

Код

Комментарии

001

002

MOV R0,  #35

B8

35

; Адрес ячейки памяти 35 записан в регистр косвенного адреса R0

003

004

MOV @R0,  #05

В0

05

; Первое слагаемое 05 записано в ячейку памяти по адресу 35

005

INС R0

18

; Адрес следующей ячейки памяти 36

006

007

MOV @R0,  #07

B0

07

; Второе слагаемое 07 записано в ячейку памяти по адресу 36

008

INС R0

18

; Адрес ячейки памяти третьего операнда - 37

009

00А

MOV @R0,  #03

B0

03

; Третий операнд (вычитаемое) 03 записан  в ячейку памяти 37

00В

DEC R0

C8

; Возврат на адрес ячейки памяти 36

00С

DEC R0

C8

; Возврат на адрес ячейки памяти 35

00D

MOV A,  @R0

F0

; Первое слагаемое пересылается в аккумулятор

00Е

INС R0

18

; Регистр косвенного адреса ука Регистр косвенного адреса указывает на яч. 36

00F

ADD A,  @R0

60

; Сложение содерж. аккумулятора и ячейки 36

010

MOV R3, A

AB

; Сохранение результата в регистре R3

011

INC R0

18

; Регистр косвенного адреса указывает на яч. 37

012

MOV А, @R0

F0

; Операнд 03 (вычитаемое) пересылается в аккум.

013

CPL A

37

; Инверсия аккумулятора (обратный код)

014

INС A

17

; (А)←(А ) +1: дополнительный код

                                                                                   Окончание табл. 2

015

ADD A, R3

6B

; (А)←(А) + (R3)

016

INС R0

18

; Регистр косвенного адреса указывает на яч. 38

017

MOV @R0,   A

A0

; ((R0))←(А). Результат в ячейке 38

После набора программы необходимо осуществить ее пуск и проверить результат, как это делалось в предыдущем пункте.

3. Выполнить программу умножения однобайтных чисел без знака, как рекомендовано в табл. 3. В этой программе в регистре R1 размещен множитель, а в регистре R2 - множимое. В общем случае результат умножения будет двухбайтным. Старший байт будет размещен в аккумуляторе, а младший байт – в регистре Ri (на месте множителя). Регистр R3 - счетчик программных циклов. В него загружается число 8 (число битов множителя). Умножение выполняется младшими разрядами вперед со сдвигом вправо частичного произведения.

При этом методе умножения содержимое аккумулятора и регистра-расширителя R1 сдвигается вправо на один бит так, что младший бит множителя, выдвигаемый из регистра R1, помещается в триггер признака переноса С. Если бит переноса С = 1, то множимое добавляется к содержимому аккумулятора, если С = 0, то никаких операций не производится.

Затем производится декремент счетчика циклов R3, и если его содержимое равно нулю, то все действия повторяются. Окончательный результат формируется при сдвиге частичного результата на один разряд вправо.

Для определенности программа выполняется при R1 = 32Н, a R2= 0AF. Пуск программы производится, как рекомендовано при выполнении программы табл. 2. Результат можно прочитать, нажав на клавиши «Ci» и «Рг» Содержимое аккумулятора должно быть равно А=01,  а R1=4F.

                                                                                                Таблица 3