Главная страница
Навигация по странице:

Практическая работа_последов. Практическая работа Тема Построение последовательности машинных операций для реализации простых вычислений



Скачать 336.5 Kb.
Название Практическая работа Тема Построение последовательности машинных операций для реализации простых вычислений
Анкор Практическая работа_последов.doc
Дата 18.12.2017
Размер 336.5 Kb.
Формат файла doc
Имя файла Практическая работа_последов.doc
Тип Практическая работа
#12969
Категория Информатика. Вычислительная техника
страница 2 из 3
1   2   3

Окно Микрокомандный уровень

Окно Микрокомандный уровень (рис. 8.8) используется только в режиме микрокоманд, который устанавливается командой Режим микрокоманд меню Работа. В это окно выводится мнемокод выполняемой команды, список микрокоманд, ее реализующих, и указатель на текущую выполняемую микрокоманду.

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

Если открыть окно Микрокомандный уровень, не установив режим микрокоманд в меню Работа, то после начала выполнения программы в режиме Шаг (или в автоматическом режиме) в строке сообщений окна будет выдано сообщение "Режим микрокоманд неактивен".



Рис. 8.8. Окно Микрокомандный уровень



Рис. 8.9. Окна в режиме микрокомандного уровня

Вспомогательные таблицы

В данном разделе представлены вспомогательные таблицы (табл. 8.4—8.8) для работы с моделью учебной ЭВМ.

Таблица 8.4. Таблица команд учебной ЭВМ

Мл/Ст.

0

1

2

3

4

0

NOP

JMP




MOV




1

IN

JZ

RD

RD

RDI

2

OUT

JNZ

WR

WR




3

IRET

JS

ADD

ADD

ADI

4

WRRB

JNS

SUB

SUB

SBI

5

WRSP

JO

MUL

MUL

MULI

6

PUSH

JNO

DIV

DIV

DIVI

7

POP

JRNZ




IN




8

RET

INT

EI

OUT




9

HLT

CALL

DI








Таблица 8.5. Типы адресации, их коды и обозначение

Обозначение

Код

Тип адресации

Пример команды




0

Прямая (регистровая)

ADD 23 (ADD R3)

#

1

Непосредственная

ADD #33

@

2

Косвенная

ADD @33

[ ]

3

Относительная

ADD [33]

@R

4

Косвенно-регистровая

ADD @R3

@R+

5

Индексная с постинкрементом

ADD @R3+

-@R

6

Индексная с преддекрементом

ADD -@R3

В табл. 8.6 приняты следующие обозначения:
DD— данные, формируемые командой в качестве (второго) операнда: прямо или косвенно адресуемая ячейка памяти или трехразрядный непосредственный операнд;

R* — содержимое регистра или косвенно адресуемая через регистр ячейка памяти;

ADR* — два младших разряда ADR поля регистра CR;

V — адрес памяти, соответствующий вектору прерывания;

М(*) — ячейка памяти, прямо или косвенно адресуемая в команде; I — пятиразрядный непосредственный операнд со знаком.
Таблица 8.6. Система команд учебной ЭВМ

КОП

Мнемокод

Название

Действие

00

NOP

Пустая операция

Нет

01

IN

Ввод

Асc <-IR

02

OUT

Вывод

OR <- Асc

03

I RET

Возврат из прерывания

FLAGS.PC <- M(SP); INC(SP)

04

WRRB

Загрузка RB

RB <- CR[ADR]

05

WRSP

Загрузка SP

SP <- CR[ADR]

06

PUSH

Поместить в стек

DEC(SP); M(SP) <- R

07

POP

Извлечь из стека

R -> M(SP); INC(SP)

08

RET

Возврат

PC -> M(SP); INC(SP)

09

HLT

Стоп

Конец командных циклов

10

JMP

Безусловный переход

PC <- CR[ADR]

11

JZ

Переход, если 0

if Acc = 0 then PC <- CR[ADR]

12

JNZ

Переход, если не 0

if Асc <>0 then PC <-CR[ADR]

13

JS

Переход, если отрицательно

if Асc < 0 then PC <- CR[ADR]

14

JNS

Переход, если положительно

if Acc > 0 then PC <- CR[ADR]

15

JO

Переход, если переполнение

if |Acc| > 99999 then PC <- CR[ADR]

16

JNO

Переход, если нет переполнения

if |Acc| < =99999 then PC <- CR[ADR]

17

JRNZ

Цикл

DEC(R); if R > 0 then PC <- CR[ADR]

18

INT

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

DEC(SP); M(SP) <- FLAGS.PC;

PC <- M(V)

19

CALL

Вызов подпрограммы

DEC(SP); M(SP) <- PC; PC <- CR(ADR)

20

Нет







21

RD

Чтение

Acc <- DD

22

WR

Запись

M(*) <- Acc

23

ADD

Сложение

Acc <- Acc + DD

24

SUB

Вычитание

Acc <- Acc – DD

25

MUL

Умножение

Acc <- Acc x DD

26

DIV

Деление

Acc <�— Acc/DD

27

Нет







28

EI

Разрешить прерывание

IF<- 1

29

DI

Запретить прерывание

IF<-0

30

MOV

Пересылка

Rl <-R2

31

RD

Чтение

Acc <- R*

32

WR

Запись

R* <- Acc

33

ADD

Сложение

Acc<-Acc + R*

34

SUB

Вычитание

Acc <- Acc - R*

35

MUL

Умножение

Acc <- Acc x R*

36

DIV

Деление

Acc <- Acc/R*

37

IN

Ввод

Acc <- ВУ(CR[ADR*])

38

OUT

Вывод

BУ(CR[ADR*]) <- Асс

39

Нет







40

Нет







41

RDI

Чтение

Асс <-I

42

Нет







43

ADI

Сложение

Асc <�— Асc + I

44

SBI

Вычитание

Асc <- Асc - I

45

MULI

Умножение

Асc <- Асc х I

46

DIVI

Деление

Асc <- Асс/I


Ввод программы может осуществляться как в машинных кодах непосредственно в память модели, так и в мнемокодах в окно Текст программы с последующим ассемблированием.

Для этого необходимо ввести в память ЭВМ и выполнить в режиме Шаг некоторую последовательность команд (определенную вариантом задания) и зафиксировать все изменения на уровне программно-доступных объектов ЭВМ, происходящие при выполнении этих команд.
1   2   3
написать администратору сайта