Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум ч3 А4 09.10.2012.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.07 Mб
Скачать
    1. Команды сдвига

  1. Теоретическое обоснование

В системе команд микропроцессора КР580ВМ80 предусмотрены следующие команды сдвига:

  1. циклический сдвиг влево;

  2. циклический сдвиг вправо;

  3. сдвиг влево через перенос;

  4. сдвиг вправо через перенос.

Команды сдвига выполняются в регистре-аккумуляторе над 8-разрядными операндами. Результат пересылается в регистр-аккумулятор.

Команда циклического сдвига влево перемещает каждый бит байта на один разряд влево. При этом содержимое старшего разряда записывается в младший разряд и в бит переноса.

Команда сдвига влево через перенос перемещает содержимое каждого бита байта влево на один разряд. При этом содержимое бита переноса записывается в младший разряд, а содержимое старшего разряда пересылается в бит переноса. Используя эту команду можно, реализовать операцию умножения на число, кратное 2.

Команда сдвига вправо через перенос перемещает содержимое каждого разряда байта вправо на один разряд. При этом в старший разряд байта записывается значение бита переноса, а в него заносится содержимое младшего разряда байта. Используя эту команду, можно реализовать операцию деления на число, кратное 2.

  1. Команды циклического сдвига

RLC – циклический сдвиг влево;

RRC – циклический сдвиг вправо.

  1. Записать в память, начиная с адреса 0850Н, коды программы (таблица 57), реализующей операцию объединения старших тетрад двух байтов, содержащихся в рег. В и С, в один, используя команду RRC.

  1. Выполнить программу, предварительно задавая исходные значения в соответствии с таблицей 58.

СТ0850 085СВП.

Сравнить полученные результаты с данными таблицы 58.

Таблица 57 – Контрольная программа, содержащая команды сдвига и логические команды

Адрес

Команда

Операнд

Машинный код

Комментарий

0850

MOV

A, С

79

; Перемещ. ст. тетр. 1

;байта

0851

RRC

0F

; На место мл. тетрады

0852

RRC

0F

;

0853

RRC

0F

;

0854

RRC

0F

;

0855

ANI

0FH

E6 0F

; Выдел. ст. тетр. 1

; байта

0857

MOV

C, A

4F

;

0858

MOV

A, B

78

;

0859

ANI

F0H

E6 F0

; Выдел. ст. тетр. 2

; байта

085В

ORA

C

B1

; Объедин. двух байтов в 1

085С

HLT

76

;останов

Таблица 58 – Исходные данные и результаты для контрольной программы, содержащей команды сдвига и логические команды

Вариант

1

2

3

4

(С)

72

F0

51

19

(В)

9F

0F

A3

86

(А) – рез.

97

0F

A5

81