ГБОУ СПО СПб КИТ

Лабораторная работа № 9

Программирование арифметических задач на Ассемблере для микропроцессора К580

Выполнил:

Проверила:

Сложение двухбайтовых десятичных чисел

Арифметические вычисления в десятичной и шестнадцатеричной системе счисления.

119f16 (451110)+77=191316(641910)

Таблица с текстом программы и комментариями

Адрес

Код

Мнемоника

Комментарий

0000

3E

MVI A,8A

Младший байт первого слагаемого заносится в аккумулятор 9F16 ®A

0001

9f

0002

06

MVI B, db

Сдвиг регистра H

0003

74

ORA H

Младший байт второго заносится в аккумулятор

0004

80

ADD B

Содержимое ригистра B в аккумулятор

0005

32

STA adr

Сохранение содержимого А в памяти

0006

50

MOV D, B

по адресу 0050

0007

00

NOP

-

0008

3E

MVI A, В8

Содержимое второго байта команды засылается в регистр A

0009

08

-

000А

06

MVI B, В8

Содержимое второго байта команды засылается в регистр B

000В

10

-

-

000С

88

ADC B

Содержимое регистра B и бит переноса добавляются к содержимому аккумулятора

000D

32

STA adr

Запись содержимое аккумулятора

000E

51

MOV D, C

В ячейку 0051

000F

00

NOP

-

0010

76

HLT

Прервать выполнение программы

Скриншот до выполнения

Скриншот после выполнения

Вычитание одинаковых по длине чисел

Арифметические вычисления в десятичной и шестнадцатеричной системе счисления.

3219810 (7dc616)-1234=1985310(4d8d16)

Таблица с текстом программы и комментариями

НЕ нашли? Не то? Что вы ищете?

Адрес

Код

Мнемоника

Комментарий

0000

3E

MVI A, С6

Младший байт первого слагаемого заносится в аккумулятор C616 ®A

0001

C6

0002

D6

SUI B, 39

Содержимое второго байта команды вычитается из содержимого аккумулятора

0003

39

0004

32

STA adr

Указывает адрес для вывода ответа

0005

50

0006

00

NOP

0007

3E

MVI A, 7D

Старший байт первого слагаемого заносится в аккумулятор 7d16 ®A

0008

7d

0009

DE

SBI B, 30

Содержимое второго байта команды и перенос вычитаются из содержимого аккумулятора

000А

30

000В

32

STA adr

Указываем адрес для ответа

000С

51

000D

00

NOP

000E

76

HLT

Остановка процессора

Скриншот до выполнения

Скриншот после выполнения

Команды логического умножения

Арифметические вычисления в десятичной, шестнадцатеричной и двоичной системе счисления

11000& (8b16)=

Таблица с текстом программы и комментариями.

Адрес

Код

Мнемоника

Комментарий

0000

3E

MVI A, d8

Младший байт первого слагаемого заносится в аккумулятор 6216 ®A

0001

62

0002

06

Младший байт второго слагаемого заносится в аккумулятор 8b16 ®A

0003

8B

0004

A0

ANA B

Содержимое регистра В логически умножается с содержимым аккумулятора

0005

32

STA adr

Запись содержимое аккумулятора

0006

20

-

В ячейку 0020

0007

00

NOP

-

0008

76

HLT

Прервать выполнение программы

Выполнение операции логического умножения чисел

&

______________________

=

9810(6216)&13910(8b16)=13010(8216)

Скриншот до

Скриншот после

Команды восстановления битов

Адрес

Код

Мнемоника

Комментарий

0000

21

0001

40

0002

00

0003

3E

0004

33

0005

36

0006

21

0007

А6

0008

32

0009

20

000A

00

000B

76