Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VMSiS_LR_2.docx
Скачиваний:
6
Добавлен:
01.04.2025
Размер:
704 Кб
Скачать
☆

5. Ознакомление с системой команд

  1. Выбор группы команд определённого типа

    1. Открыть меню команды

    2. Выбрать тип команд. Выбранный тип команд будет выделен в таблице.

    3. Кнопкой ОК завершить работу с системой команд.

  2. Определение машинного кода команды по таблице

    1. Выбрать нужную команду на таблице.

    2. Цифра соответствующая строке команды является первым полубайтом машинного кода.

    3. Цифра соответствующая столбцу команды является вторым полубайтом машинного кода.

  3. Получение кратких сведений о команде

    1. Выбрать нужную команду на таблице.

    2. Дважды кликнуть указателем мыши по интересующей команде.

    3. В появившемся окне получить информацию.

    4. Кнопкой Понял! закрыть окно.

Рис. 3 Система команд

Рис. 4 Пример информации о команде: Команда NOP

6. Команды

1. Команда LDA addr

LDA addr (load direct) - загрузить аккумулятор с прямой адресацией.

2. Команда MOV r1, r2

MOV r1, r2 (move register) -передать с регистра на регистр.

3. Команда ADD r

ADD r (add register)- сложить с регистром.

4. Команда STA r

STA addr (store A direct) - запомнить содержимое ак­кумулятора.

5. Команда RST n

RST n (restart) – повторный пуск

6. Команда SUB r

SUB r (subtract register) – вычесть содержимое регистра

7. Команда ADI data 8

ADI data (add immediate) – сложить с непосредственным операндом

8. Команда SUI data 8

SUI data (subtract immediate) – вычесть непосредственный операнд

9. Команда HLT

HLT (halt) - стоп

7. Задание и исходные данные

Вычислить (M-N)+K.

Переменная

Данные

Адрес

M

N

K

7910

3210

2510

00A1

00A0

00A2

8. Расчеты контрольных сумм

Переводим заданные числа и адреса из десятичной системы счисления в шестнадцатеричную систему счислению.

Данные:

7910 = 4F16

10 –> 16

79:16=4(F)

3210 = 2016

10 –> 16

32:16=2(0)

2510 = 1916

10 –> 16

25:16=1(9)

(7910 -3210) + 2510 = 7210 = 4816

10 –> 16

72:16=4(8)

9. Расчеты контрольных сумм c помощью ЭВМ

I. Прямая адресация

При этом способе адресации, каждая команда содержит полный адрес той ячейки памяти, где находятся используемые данные. Для представления команды с прямой адресацией требуется три байта. Первый байт содержит код операции, второй - младший байт адреса, третий — старший байт адреса.

Мнемокод

Комментарии

LDA 00A0

MOV B,A

LDA 00A1

SUB B

MOV B,A

LDA 00A2

ADD B

STA 00A3

HLT

Получить число из ячейки с адресом 00A0

Перенести из регистра А в регистр В

Получить число из ячейки с адресом 00A1

Вычесть число в регистре В из числа в регистре А

Перенести из регистра А в регистр В

Получить число из ячейки с адресом 00A2

Сложить регистр А с регистром В

Запомнить содержимое аккумулятора в ячейке 003A

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

Адрес

Число

Комментарии

0000

3A

Код команды

0001

A0

Младший байт адреса

0002

00

Старший байт адреса

0003

47

Код команды

0004

3A

Код команды

0005

A1

Младший байт адреса

0006

00

Старший байт адреса

0007

90

Код команды

0008

47

Код команды

0009

3A

Код команды

000A

A2

Младший байт адреса

000B

00

Старший байт адреса

000C

80

Код команды

000D

32

Код команды

000E

A3

Младший байт адреса

000F

00

Старший байт адреса

0010

76

Код команды

Рис. 5 Программа с введенным кодом

Рис. 6 Программа с введенными данными

Рис. 7 Программа после выполнения кода

II. Непосредственная адресация

При данном способе адресации, реальные данные помещаются непосредственно в саму команду. Элемент данных может иметь длину, равную 8 или 16 бит. В первом случае команда имеет двухбайтовый формат, во втором - трёхбайтовый.

Мнемокод

Комментарии

ADI 4F

SUI 20

ADI 19

HLT

Содержимое регистра А суммируется с 4F

От содержимого регистра А отнимается 20 и помещается в регистр А

Содержимое регистра А складывается с 19 и помещается в регистр А

Прерывает выполнение команды

Адрес

Число

Комментарии

0000

C6

Код команды

0001

4F

Второй байт команды

0002

D6

Код команды

0003

20

Второй байт команды

0004

C6

Код команды

0005

19

Второй байт команды

0006

76

Код команды

Рис. 8 Программа с введенным кодом

Рис. 9 Программа после выполнения кода

III. Косвенная адресация

В этом случае адрес ячейки памяти, где находятся используемые данные, задается содержимым регистровой пары. В командах, использующих данный способ адресации, нет необходимости в двух дополнительных байтах. Таким образом, экономится память ЭВМ, увеличивается и скорость выполнения команды, так как не затрачивается время на считывание из памяти дополнительных байтов. Адреса регистров приведены в таблице 2.

Таблица 2

Регистр

В

C

D

Е

H

L

M

А

Адрес регистра, используемого в командах

000

001

010

011

100

101

110

111

Под М понимается ячейка оперативной памяти, адресом которой служит содержимое пары регистров - HL .

Мнемокод

Комментарии

LDAX B

MOV D,A

MOV A,C

ADD L

MOV C,A

LDAX B

SUB D

MOV D,A

MOV A,C

ADD L

MOV C,A

LDAX B

ADD D

HLT

Загрузка А с косвенной адресацией из ячейки 00A0(пара регистров В и С)

Перенести из регистра А в регистр D

Перенести из регистра С в регистр А

Сложить регистр А с регистром L

Перенести из регистра A в регистр C

Загрузка А с косвенной адресацией 00A1 (пара регистров В и С)

Вычесть из регистра А регистр D

Перенести из регистра A в регистр D

Перенести из регистра С в регистр A

Сложить регистр А с регистром L

Перенести из регистра A в регистр C

Загрузка А с косвенной адресацией 00A2 (пара регистров В и С)

Сложить регистр А с регистром D

Стоп

Адрес

Число

Комментарии

0000

0A

Код команды

0001

57

Код команды

0002

79

Код команды

0003

85

Код команды

0004

4F

Код команды

0005

0A

Код команды

0006

92

Код команды

0007

57

Код команды

0008

79

Код команды

0009

85

Код команды

000A

4F

Код команды

000B

0A

Код команды

000C

83

Код команды

000D

76

Код команды

Рис.10 Программа с введенным кодом

Рис.10 Программа с введенными данными

Рис.11 Программа после выполнения кода

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]