Задания на вычисление чисел и запись результатов в регистр

Страницы работы

Содержание работы

Задание 1

Сложить два числа : 99 (63) и 98 (62). Результат вычисления переслать в регистр D.

адрес

мнемо код

машинный код

комментарии

длина команды

8200

MVI A

3E

Запись числа 99 в регистр А

2 байта

8201

63

Число 99 в шестнадцатирич. коде

8202

MVI B

06

Запись числа 98 в регистр В

2 байта

8203

62

Число 98 в шестнадцатирич. коде

8204

ADD B

80

Сложение А с В

1 байт

8205

MOV D,A

57

Пересылка из А в D

1 байт

8206

RST 32

E7

Завершение программы

1 байт

Протокол: после сложения содержимое регистра D = С5 = 197

Задание 2

Записать число 99 (63) в ячейку памяти 8040; число 98 (62) в аккумулятор; произвести сложение этих чисел; результат сложения поместить по адресу 8041.

адрес

мнемо код

машинный код

комментарии

длина команды

8200

LXI H, 8040

21

Загружаем адрес 8040 в регистровую пару HL

3 байта

8201

40

8202

80

8203

MVI M,N

36

Записываем число N в ячейку памяти по адресу, указанному в HL (8040)

2 байта

8204

63

8205

MVI A, N-1

3E

Запись числа N-1 в аккумулятор

2 байта

8206

62

8207

ADD M

86

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

1 байт

8208

INX H

23

Инкремент HL (+1)

1 байт

8209

MOV M, A

77

Пересылка сод. аккум. в ячейку памяти, указ. в  HL

1 байт

8210

RST 32

E7

Завершение программы

1 байт

Протокол: в ячейке памяти 8041 содержится число C5 = 197

Задание 3

Записать число 495 (1EF) в регистровую пару HL; число 693 (2B5) в регистровую пару DE; произвести обмен числами; информацию, находящуюся в регистре D поместить в ячейку памяти по адресу 8140.

адрес

мнемо код

машинный код

комментарии

длина команды

8200

LXI H

21

Загрузка числа в регистр. пару HL

3 байта

8201

EF

8202

01

8203

LXI D

11

Загрузка числа в регистр. пару DE

3 байта

8204

B5

8205

02

8206

XCHG

EB

Обмен данными между HL и DE

1 байт

8207

LXI H

21

Загрузка адреса 8140 в регистр. пару HL

3 байта

8208

40

8209

81

8210

MOV M,D

72

Переслать содержимое D в M

1 байт

8211

RST 32

E7

Завершение программы

1 байт

Протокол: содержимое ячейки памяти с адресом 8140 равно 1EF = 495, что совпадает с начальным содержимым регистровой пары HL

Задание 4

Записать в аккумулятор число 99 (63) и произвести изменение на противоположное указав разряды: 1, 2 и 3, 4 разряды. Обнулить в числе 99 (63) младший и старший полубайт. Результат поместить в ячейку 8250.

адрес

мнемо код

машинный код

комментарии

длина команды

8200

MVI B, 99

06

Запись числа 99 в регистр B

2 байта

8201

63

8202

MVI A, m

3E

Запись маски в аккумулятор

2 байта

8203

F

8204

XRA B

A8

Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над содержимым регистра B и аккумулятора

1 байт

8205

LXI H

21

Загрузка адреса 8250 в регистр. пару HL

3 байта

8206

50

8207

82

8208

MOV M, A

77

Помещаем содержимое аккумулятора в ячейку памяти 8250

1 байт

8209

PST 32

E7

Завершение программы

1 байт

Протокол: содержимое ячейки памяти с адресом 8250 равно: 1C=28

Обнулить в числе 99 (63) младший и старший полубайт. Результат поместить в ячейку 8250.

адрес

мнемо код

машинный код

комментарии

длина команды

8200

MVI B, 99

06

Запись числа 99 в регистр B

2 байта

8201

63

8202

MVI A, m

3E

Запись маски в аккумулятор

2 байта

8203

a)63   b)0

8204

XRA B

A8

Поразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над содержимым регистра B и аккумулятора

1 байт

8205

LXI H

21

Загрузка адреса 8250 в регистр. пару HL

3 байта

8206

50

8207

82

8208

MOV M, A

77

Помещаем содержимое аккумулятора в ячейку памяти 8250

1 байт

8209

PST 32

E7

Завершение программы

1 байт

Протокол: содержимое ячейки памяти с адресом 8250 равно: а)0; б)63=99

 Задание 5

Дан массив из 109 (6D) чисел. Переписать в массив 2 числа, лежащие в диапазоне от 9 до 15. адрес первого массива 8300, второго 8400.

адрес

мнемо код

машинный код

комментарии

длина команды

8200

LXI H

21

Загрузка адреса 8300 в регистр. пару HL

3 байта

8201

00

8202

83

8203

LXI D

11

Загрузка адреса 8400 в регистр. пару HD

3 байта

8204

00

8205

84

8206

MVI B, 109

06

Запись числа

2 байта

8207

6D

8208

MOV AM

7E

Запись первого числа из массива в аккумулятор

1 байт

8209

CALL

CD

Команда перехода на подпрограмму по адресу 8500

3 байта

8210

00

8211

85

8212

DCR B

05

Уменьшение цикла на 1

1 байт

8213

JNZ N1

C2

Проверка числа на 0

3 байта

8214

08

8215

82

8216

RST 32

E7

Конец основной программы

1 байт

8500

CPI 9

FE

Запись числа 9  в аккумулятор

2 байта

8501

09

8502

IC N2, 8512

DA

Проверяем наше число

3 байта

8503

OC

8504

85

8505

CPI 15

FE

Сравниваем содержимое аккумулятора с числом 15

2 байта

8506

OF

8507

INC N2, 8512

D2

3 байта

8508

OC

8509

85

8510

STAX D

12

Пересылка числа из массива 1 в массив 2

1 байт

8511

INX D

13

Увеличение массива на 1

1 байт

8512

INX H

23

Увеличение адреса массива на 1

1 байт

8513

RET

C9

Возврат в основную программу

1 байт

Похожие материалы

Информация о работе