4.6. НЕКОТОРЫЕ СПРАВОЧНЫЕ ДАННЫЕ ПО Е-97

К оглавлению1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 
102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 
119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 

 

А. Система команд процессора

МОД

 

коп

 

ОП1

 

ОП 2

 

Пояснения

 

х

 

0

 

X

 

X

 

Нет операции

 

х

 

1

 

X

 

X

 

оп l => oп 2

 

х

 

2

 

X

 

X

 

oп 2 + oп 1 => oп 2

 

х

 

3

 

X

 

X

 

oп 2 – oп l =>oп 2

 

х

 

4

 

X

 

X

 

oп 2 + oп 1 (сравнить)

 

х

 

5

 

X

 

X

 

oп 2 * oп l => oп 2

 

х

 

6

 

X

 

X

 

oп 2/oп l => oп 2

 

X

 

7

 

х

 

х

 

оп 2 AND oп 1 => oп 2

 

X

 

8

 

х

 

х

 

oп 2 OR oп l => оп 2

 

X

 

9

 

х

 

х

 

oп 2 XOR oп l => oп 2

 

X

 

А

 

х

 

х

 

порт! => oп 2

 

X

 

В

 

х

 

х

 

oп 1 => порт 2

 

X

 

С

 

           х

 

х

 

Переход по адресу

 

X

 

D

 

X

 

х

 

Переход по смещению

 

X

 

Е

 

*

 

х

 

(Одноадресные операции)

 

X

 

F

 

X

 

х

 

Останов

 

 

МОД

коп

ОП1

Пояснения

х

 

Е1

 

х

 

NOT oп l

 

           х

 

Е2

 

х

 

оп 1 => стек

 

х

 

ЕЗ

 

х

 

стек => oп l

 

х

 

Е4

 

х

 

SP + oп l => SP

 

х

 

Е5

 

х

 

SP – oп 1 => SP

 

х

 

Е6

 

х

 

Oп 1 => SP

 

х

 

Е7

 

х

 

SP => oп l

 

х

 

Е8

 

0

 

PS => стек

 

х

 

Е9

 

0

 

стек => РS

 

х

 

ЕА

 

X

 

Сдвиг влево oп l

 

х

 

ЕВ

 

X

 

Сдвиг вправо oп l

 

х

 

ЕС

 

X

 

Арифметический сдвиг вправо oп l

 

Б. Двоичные коды модификатора МОД для переходов

 

0000       -           возврат из подпрограммы

0001       -           безусловный переход

0010       -           N=0 (>=0)

0011       -           N=l (<0)

0100       -           Z=0 (<>0)

0101       -           Z=l (=0)

0110       -           N=1 or Z=l (<=0)

0111       -           N=0 and Z=0 (>0)

1001       -           вызов подпрограммы.

 

В. Важные кочанды с «короткой константой»

 

XX 10 0001 0000 ХХХХ             -           очистить oп l 

ХХ 10 0010 0001 ХХХХ             -           +1 в оп 1

XX 11 0010 0001 ХХХХ             -           ****

или

ХХ 10 0011 0001 ХХХХ             -           -1 из oп l

XX 10 0100 0000 ХХХХ             -           сравнить 0 с oп 1

XX 11 0101 0001 ХХХХ             -           *(-1) оп1

ХХ 10 0111 0001 ХХХХ             -           oп l MOD 2 = => oп l

 

Г. Кодирование операндов

 

0

 

0000

 

R0

 

 

 

1000

 

резерв

 

1

 

01

 

R1

 

 

 

01

 

резерв

 

2

 

10

 

R2

 

 

 

10

 

резерв

 

3

 

11

 

R3

 

 

 

11

 

резерв

 

4

 

0100

 

(R0)

 

 

 

1100

 

резерв

 

5

 

01

 

(R1)

 

 

 

01

 

константа

 

6

 

10

 

(R2)

 

 

 

10

 

адрес ОЗУ

 

7

 

11

 

(R3)

 

 

 

11

 

резерв

 

 

Контрольные вопросы и задания

1. Назовите основные функциональные устройства учебного компьютера «Е97» и охарактеризуйте их назначение.

2. Какие виды памяти существуют в «Е97» и как они адресуются?

3. Сопоставьте адресацию к байтам и к словам. Какие вам удалось заметить различия?

4. В ОЗУ, начиная с адреса 300, хранятся следующие байты: 00, 01, 02, 03. Какое слово будет прочитано по адресу 302?

5. В ОЗУ начиная с адреса 300 хранятся слова 0102 и 5301. Совпадают ли находящиеся в адресах 301 и 302 байты?

6. Что такое BIOS и какова его роль в современном компьютере? Знаете ли вы название фирмы, написавшей BIOS для вашего компьютера?

7. Какие значения получат управляющие признаки, если результат операции получится равным 1?0?

8. Какие внутренние регистры содержит учебный процессор «Е97» и каково их  назначение?

9. Из каких частей состоит полная команда «Е97»?

10. Какие форматы может иметь команда «Е97»? Приведите примеры команд на каждый из форматов.

11. Напишите программы вычисления нескольких арифметических выражений.

12. Чем различаются переходы с кодами С и D и как они работают?

13. Если рассмотренную в одном из примеров команду 1D06 поместить в ячейку с адресом не 42, а 4Е, то какая команда будет выполняться следующей?

14. Каково должно быть смещение в команде перехода к адресу 56, если сама команда имеет адрес 4Е? 5Е?

15. Какие значения может принимать модификатор в командах перехода и что они обозначают?

16. Напишите программу, которая переписывает в R3 наименьшее из чисел, хранящихся в регистрах R1 и R2.

17. Придумайте задачи, при программировании которых может быть полезно использование процедур или функций.

18. Как процессор обращается к подпрограмме и выходит из нее обратно?

19. Какие операции можно делать с указателем стека?

20. Чем отличаются сдвиги с кодами операций ЕВ и ЕС? Приведите пример, когда эти различия незаметны.

21. Какие методы адресации реализованы в «Е97»? Приведите по два-три примера на каждый из них.

22. Как кодируются следующие операнды: R2? (R3)? константа 345? ячейка 66?

23. Объясните, как будет выполняться команда 0572 и какие значения требуется знать, чтобы предсказать ее результат.

24. Чем различается выполнение команд 0301 и 0345?

25. Изменится ли значение регистра R0 при выполнении команды 0Е14?

26. Сколько слов занимает команда (40) - (50) Ю (40) и как она кодируется?

27. Как записывается команда, умножающая на 3 содержимое ячейки 50?

28. Какой командой можно присвоить регистру R2 некоторое значение?-

29. Что такое «короткая константа» и когда она бывает полезна?

30. Для команд 25АЗ и 3653 напишите эквивалентные, используя метод адресации констант по счетчику команд.

31. Почему среди списка полезных команд с «короткой константой» нет умножения на 2?

32. Подробно объясните с точностью до бита кодировку команды С470. ,,

33. Что такое порт ввода-вывода?

34. Как называются порты, имеющиеся у каждого из внешних устройств «Е97»?

35. Перечислите все известные вам порты ввода-вывода, реализованные в учебном компьютере «Е97». и их номера.

36. Каков стандартный алгоритм обмена процессора с внешним устройством? Какую роль играет в нем бит готовности?

37. По аналогии с приведенной в тексте программой вывода символа на дисплей, напишите самостоятельно программу ввода символа с клавиатуры. Не забудьте организовать при этом «эхо-печать», т.е. вывести принятый с клавиатуры символ.

 

 

А. Система команд процессора

МОД

 

коп

 

ОП1

 

ОП 2

 

Пояснения

 

х

 

0

 

X

 

X

 

Нет операции

 

х

 

1

 

X

 

X

 

оп l => oп 2

 

х

 

2

 

X

 

X

 

oп 2 + oп 1 => oп 2

 

х

 

3

 

X

 

X

 

oп 2 – oп l =>oп 2

 

х

 

4

 

X

 

X

 

oп 2 + oп 1 (сравнить)

 

х

 

5

 

X

 

X

 

oп 2 * oп l => oп 2

 

х

 

6

 

X

 

X

 

oп 2/oп l => oп 2

 

X

 

7

 

х

 

х

 

оп 2 AND oп 1 => oп 2

 

X

 

8

 

х

 

х

 

oп 2 OR oп l => оп 2

 

X

 

9

 

х

 

х

 

oп 2 XOR oп l => oп 2

 

X

 

А

 

х

 

х

 

порт! => oп 2

 

X

 

В

 

х

 

х

 

oп 1 => порт 2

 

X

 

С

 

           х

 

х

 

Переход по адресу

 

X

 

D

 

X

 

х

 

Переход по смещению

 

X

 

Е

 

*

 

х

 

(Одноадресные операции)

 

X

 

F

 

X

 

х

 

Останов

 

 

МОД

коп

ОП1

Пояснения

х

 

Е1

 

х

 

NOT oп l

 

           х

 

Е2

 

х

 

оп 1 => стек

 

х

 

ЕЗ

 

х

 

стек => oп l

 

х

 

Е4

 

х

 

SP + oп l => SP

 

х

 

Е5

 

х

 

SP – oп 1 => SP

 

х

 

Е6

 

х

 

Oп 1 => SP

 

х

 

Е7

 

х

 

SP => oп l

 

х

 

Е8

 

0

 

PS => стек

 

х

 

Е9

 

0

 

стек => РS

 

х

 

ЕА

 

X

 

Сдвиг влево oп l

 

х

 

ЕВ

 

X

 

Сдвиг вправо oп l

 

х

 

ЕС

 

X

 

Арифметический сдвиг вправо oп l

 

Б. Двоичные коды модификатора МОД для переходов

 

0000       -           возврат из подпрограммы

0001       -           безусловный переход

0010       -           N=0 (>=0)

0011       -           N=l (<0)

0100       -           Z=0 (<>0)

0101       -           Z=l (=0)

0110       -           N=1 or Z=l (<=0)

0111       -           N=0 and Z=0 (>0)

1001       -           вызов подпрограммы.

 

В. Важные кочанды с «короткой константой»

 

XX 10 0001 0000 ХХХХ             -           очистить oп l 

ХХ 10 0010 0001 ХХХХ             -           +1 в оп 1

XX 11 0010 0001 ХХХХ             -           ****

или

ХХ 10 0011 0001 ХХХХ             -           -1 из oп l

XX 10 0100 0000 ХХХХ             -           сравнить 0 с oп 1

XX 11 0101 0001 ХХХХ             -           *(-1) оп1

ХХ 10 0111 0001 ХХХХ             -           oп l MOD 2 = => oп l

 

Г. Кодирование операндов

 

0

 

0000

 

R0

 

 

 

1000

 

резерв

 

1

 

01

 

R1

 

 

 

01

 

резерв

 

2

 

10

 

R2

 

 

 

10

 

резерв

 

3

 

11

 

R3

 

 

 

11

 

резерв

 

4

 

0100

 

(R0)

 

 

 

1100

 

резерв

 

5

 

01

 

(R1)

 

 

 

01

 

константа

 

6

 

10

 

(R2)

 

 

 

10

 

адрес ОЗУ

 

7

 

11

 

(R3)

 

 

 

11

 

резерв

 

 

Контрольные вопросы и задания

1. Назовите основные функциональные устройства учебного компьютера «Е97» и охарактеризуйте их назначение.

2. Какие виды памяти существуют в «Е97» и как они адресуются?

3. Сопоставьте адресацию к байтам и к словам. Какие вам удалось заметить различия?

4. В ОЗУ, начиная с адреса 300, хранятся следующие байты: 00, 01, 02, 03. Какое слово будет прочитано по адресу 302?

5. В ОЗУ начиная с адреса 300 хранятся слова 0102 и 5301. Совпадают ли находящиеся в адресах 301 и 302 байты?

6. Что такое BIOS и какова его роль в современном компьютере? Знаете ли вы название фирмы, написавшей BIOS для вашего компьютера?

7. Какие значения получат управляющие признаки, если результат операции получится равным 1?0?

8. Какие внутренние регистры содержит учебный процессор «Е97» и каково их  назначение?

9. Из каких частей состоит полная команда «Е97»?

10. Какие форматы может иметь команда «Е97»? Приведите примеры команд на каждый из форматов.

11. Напишите программы вычисления нескольких арифметических выражений.

12. Чем различаются переходы с кодами С и D и как они работают?

13. Если рассмотренную в одном из примеров команду 1D06 поместить в ячейку с адресом не 42, а 4Е, то какая команда будет выполняться следующей?

14. Каково должно быть смещение в команде перехода к адресу 56, если сама команда имеет адрес 4Е? 5Е?

15. Какие значения может принимать модификатор в командах перехода и что они обозначают?

16. Напишите программу, которая переписывает в R3 наименьшее из чисел, хранящихся в регистрах R1 и R2.

17. Придумайте задачи, при программировании которых может быть полезно использование процедур или функций.

18. Как процессор обращается к подпрограмме и выходит из нее обратно?

19. Какие операции можно делать с указателем стека?

20. Чем отличаются сдвиги с кодами операций ЕВ и ЕС? Приведите пример, когда эти различия незаметны.

21. Какие методы адресации реализованы в «Е97»? Приведите по два-три примера на каждый из них.

22. Как кодируются следующие операнды: R2? (R3)? константа 345? ячейка 66?

23. Объясните, как будет выполняться команда 0572 и какие значения требуется знать, чтобы предсказать ее результат.

24. Чем различается выполнение команд 0301 и 0345?

25. Изменится ли значение регистра R0 при выполнении команды 0Е14?

26. Сколько слов занимает команда (40) - (50) Ю (40) и как она кодируется?

27. Как записывается команда, умножающая на 3 содержимое ячейки 50?

28. Какой командой можно присвоить регистру R2 некоторое значение?-

29. Что такое «короткая константа» и когда она бывает полезна?

30. Для команд 25АЗ и 3653 напишите эквивалентные, используя метод адресации констант по счетчику команд.

31. Почему среди списка полезных команд с «короткой константой» нет умножения на 2?

32. Подробно объясните с точностью до бита кодировку команды С470. ,,

33. Что такое порт ввода-вывода?

34. Как называются порты, имеющиеся у каждого из внешних устройств «Е97»?

35. Перечислите все известные вам порты ввода-вывода, реализованные в учебном компьютере «Е97». и их номера.

36. Каков стандартный алгоритм обмена процессора с внешним устройством? Какую роль играет в нем бит готовности?

37. По аналогии с приведенной в тексте программой вывода символа на дисплей, напишите самостоятельно программу ввода символа с клавиатуры. Не забудьте организовать при этом «эхо-печать», т.е. вывести принятый с клавиатуры символ.