Е.Л. Иванов, Е.В. Бражникова, Б.М. Нефедов, Ю.Д. Тювин - Эмулятор восьмиразрадн (1084774), страница 2
Текст из файла (страница 2)
Данная группа команд образует условные, безусловные переходы и обращения к подпрограммам.
1. JMP addr | безусловный переход по адресу, указанному во втором и третьем байтах команды. | |
2. JC addr | условный переход по единичному значению признака переноса С; если условие выполняется, то адрес перехода записывается на счетчик команд СК, иначе содержимое СК увеличивается на три. | |
3. JNC addr | условный переход по нулевому значению признака переноса С. | |
4. JZ addr | условный переход по единичному значению признака результата. | |
5. JNZ addr | условный переход по нулевому признака Z результата. | |
6. JP addr | условный переход по положительному значению результата. | |
7. J M addr | условный переход по отрицательному значению результата. | |
8. JPE addr | условный переход по четности кода результата. | |
9. JPO addr | условный переход по нечетности кода результата. | |
10. CALL addr | безусловный переход к подпрограмме; содержимое СК побайтно загружается в стек, а адрес <addr>, указанный в команде, передается на счетчик команд; указатель стека перед каждой загрузкой уменьшается на 1. | |
11. RET | возврат из подпрограммы; команда ставится в конце подпрограммы и обеспечивает чтение из стека и загрузку побайтно адреса возврата в счетчик команд; после каждого обращения к стеку указатель стека УС увеличивается на “1”. |
Группа команд обращения к стеку, ввода, вывода, управления МП системой:
1. PUSH RP | записать в стек содержимое регистровой пары; команда выполняется следующим образом: а) УС уменьшается на “1”, б) (R) ОЗУ (УС – 1), в) (P) ОЗУ (УС-2). |
2.PUSH PSW | поместить в стек словосостояния процессора, которое включает содержимое А и PSW. Команда выполняется следующим образом: а) УС уменьшается на “1”, б) (A) записывается в ОЗУ по адресу УС-1; УС уменьшается на “1”, в) (PSW) записывается в ОЗУ по адресу УС-2. |
3. POP RP | загрузка регистровой пары из стека; команда выполняется следующим образом: а) из ОЗУ по адресу УС читается слово и загружается в регистр Р; указатель стека увеличивается на “1”; б) из ОЗУ по адресу УС+1 читается слово и загружается в регистр R; указатель стека увеличивается на “1”. |
4. POP PSW | загрузка аккумулятора и регистра признаков из стека; команда выполняется следующим образом: а) из ОЗУ по адресу УС читается слово и загружается в PSW; указатель стека увеличивается на “1”, б) из ОЗУ по адресу УС+1 читается слово и загружается в А; указатель стека увеличивается на “1”. |
5. XTHL | поменять местами содержимое стека и регистровой пары HL; команда выполняется следующим образом: а) меняется местами содержимое регистра H и ячейки ОЗУ по адресу УС, затем УС увеличивается на “1”, б) меняется местами содержимое регистра H и ячейки ОЗУ по адресу УС+1, затем УС увеличивается на “1”. Обмен производится через регистры Z и W. |
6. SPHL | передать содержимое регистровой пары HL в счетчик команд: (HL) СК. |
7. IN port | команда ввода: во втором байте указан адрес порта. |
8. OUT port | команда вывода. |
9. HLT | команда останова. |
10. NOP | пустая команда; после ее выборки счетчик команд автоматически увеличивается на “1”. |
Длительность выполнения команды зависит от типа и формата команды. Самая короткая команда может быть выполнена за 1 цикл и содержать до 5 тактов. Самая длинная команда может выполняться за 5циклов, имея по 5 тактов в каждом цикле.
В окне команд (рис.3) можно получить “помощь” по назначению команды и правилам ее выполнения, указав эту команду “мышкой” и щелкнув ее 2 раза левой кнопкой.
4. Формат данных.
Процессор обрабатывает двоичные и двоично-десятичные числа, представленные в следующих форматах: целое двоичное число без знака, целое двоичное число со знаком, двоично–десятичное число.
Нумерация разрядов справа налево, знак занимает 8-разряд.
5. Лабораторная работа №1
Цель лабораторной работы заключается в исследовании работы процессора при выполнении команд различных типов.
Порядок выполнения:
-
Войти в “окно”, “структурная схема микропроцессора”;
-
Установить потактный режим работы, указав “мышкой” кнопку “Тк”;
-
Установить режим “ОЗУ” указав “мышкой” кнопку “ОЗУ”, набрать на цифровой клавиатуре адрес ОЗУ, “нажать” кнопку “Ввод”, затем ввести код требуемой команды согласно варианту задания. Если данная команда требует участия регистров или регистровых пар, необходимо записать в указанные регистры информацию следующим образом: войти в режим работы с регистровой памятью, указав кнопку “Рег.”, а затем, “нажав” на соответствующий регистр “мышкой”. После этого можно осуществлять ввод в регистр информации. Любая процедура записи в ОЗУ или в регистры завершается “нажатием” кнопки “Ввод”.
-
Установить адрес ячейки ОЗУ, по которому записана команда.
-
Нажимая “мышкой” кнопку “Вып.”, выполнить команду в потактном режиме, фиксируя в таблице (рис.4), состояние процессора в каждом такте каждого цикла. Структурная схема позволяет проследить в этом режиме последовательность всех процедур выполнения команды.
Варианты заданий
Варианты
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | |
02 | 12 | 0A | 1A | 32 | 16 | 26 | 36 | 3A | 0E | 1E | 3E | |
41 | 42 | 50 | 60 | 61 | 62 | 65 | 47 | 48 | 4A | 4B | 4D | |
66 | 6Е | 71 | 72 | 70 | 73 | 74 | 75 | 77 | 6E | 7E | 5E | |
К О М А Н Д Ы | 01 | 11 | 21 | 31 | C1 | D1 | E1 | 22 | 01 | 11 | 31 | D1 |
2А | F9 | 2A | 22 | C5 | D5 | 2A | D6 | D5 | F9 | 22 | 2A | |
B8 | B9 | BA | BB | BC | BD | BE | BF | B8 | B9 | BA | BF | |
07 | 17 | 0F | 1F | 07 | 17 | 0F | 1F | 07 | 17 | 0F | 1F | |
03 | 04 | 05 | 13 | 14 | 15 | 23 | 24 | 25 | 33 | 34 | 35 | |
0B | 0C | 0D | 1B | 1C | 1D | 2B | 2C | 2D | 3B | 3C | 3D | |
80 | 81 | 82 | 83 | 84 | 85 | 87 | 88 | 89 | 8A | 8B | 8C | |
86 | 96 | 8E | 9E | 86 | 96 | 8E | 9E | 86 | 96 | 8E | 9E | |
37 | 2F | 3F | 37 | 2F | 3F | 37 | 2F | 3F | 37 | 2F | 3F | |
A0 | A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8 | A9 | AA | AB | |
B0 | B1 | B2 | B3 | B5 | B6 | B4 | B7 | B0 | B2 | B3 | B4 | |
C2 | D2 | E2 | F2 | C3 | CA | DA | EA | FA | C3 | D2 | C2 | |
E9 | E9 | E9 | E9 | E9 | E9 | E9 | E9 | E9 | E9 | E9 | E9 | |
CD | CD | CD | CD | CD | CD | CD | CD | CD | CD | CD | CD | |
C9 | C9 | C9 | C9 | C9 | C9 | C9 | C9 | C9 | C9 | C9 | C9 | |
76 | 76 | 76 | 76 | 76 | 76 | 76 | 76 | 76 | 76 | 76 | 76 | |
00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | |
C0 | D0 | E0 | F0 | C4 | D4 | E4 | F4 | CC | DC | EC | CF |
Содержание отчета
Отчет должен содержать:
-
Структурную схему процессора;
-
Таблицы состояния процессора для исследования выполнения каждой команды;
Таблица состояний процессора | Оценка правильности выполнения командой своих функций | ||||||||||||||||||||||
Состояние регистров общ. назначения | Состояние флагов | ||||||||||||||||||||||
команда | N цикла | N такта | РК | РС | SP | Буф. адр. | Буф. данных | W | Z | A | B | C | D | E | H | L | Z | S | P | C | AC | ||
Рис. .4
-
Экспертную оценку выполнения процессором каждой команды (экспертная оценка записывается в правой колонке таблицы; если есть замечания, то указываются процедуры, которые выполнены с ошибкой).
6. Лабораторная работа №2