Министерство образования и науки РФ Федеральное государственное бюджетное образовательное учреждение высшего образования ИРКУТСКИЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ Институт – Авиамашиностроения и транспорта Кафедра – технология и оборудование машиностроительных производств ИЗУЧЕНИЕ СЛОВА СОСТОЯНИЯ ПРОЦЕССОРА И КОМАНД ВЕТВЛЕНИЯ МИКРОПРОЦЕССОРА ВМ1801 Отчет по лабораторной работе № 5 Вариант 4 по дисциплине Вычислительные машины, системы и сети Выполнил Студент группы МРб-15-1 ___________ Принял Доцент ___________ Иркутск – 2016 Т.В. Зарак Цель работы: изучить слово состояния процессора (ССП), назначение флагов в ССП и их связь с результатами выполняемых команд. Исследовать команды ветвления, установить взаимосвязь этих команд с состоянием флагов в ССП. Краткие теоретические сведения: ССП содержится в регистре состояния процессора (РСП), формат которого представлен на рис. 2. * * * T N Z V C Приоритет Прерывание по разряду Т Отрицательный результат Нулевой результат Арифметическое переполнение Перенос Рис. 2. -Регистр состояния процессора Разряды 0-3 (C, V, Z, N) определяют коды условий ветвления и содержат информацию о результате последней выполненной процессором команды. Кроме того, установка или очистка этих разрядов может быть непосредственно произведена соответствующими командами в программном или пультовом режиме командами терминала. Установка разрядов по результатам операции в состояние "1" выполняется в следующих случаях: Z – результат операции равен 0; V – в результате операции произошло арифметическое переполнение; C – в результате операции произошёл перенос из самого старшего разряда либо при сдвиге вправо или влево из самого старшего или младшего разряда была выдвинута "1"; N – результат операции отрицателен. Состояние разряда 4 (Т) устанавливается при выборке из стека нового содержимого РСП и затем используется в различных отладочных программах для такого режима выполнения отлаживаемой программы, когда выполнение интересующих пользователя команд вызывает прерывание этой программы и переход на программу связи с оператором. Разряды 5, 6, 7 определяют приоритет процессора, более подробно изучаются в лабораторной работе № 7. Системное программное обеспечение "Электроники 60М" не даёт возможности пользователю непосредственно обращаться к РСП как к регистру общего назначения или к ячейке памяти. Для записи/чтения РСП существуют специальные одноадресные команды MTPS и MFPS. По команде MTPS восемь разрядов указанного операнда замещают содержимое ССП (кроме разряда Т). По команде MFPS восемь разрядов ССП пересылаются по указанному адресу. Команды ветвления вызывают ветвление по адресу, являющемуся суммой смещения (умноженного на 2) и текущего содержимого счётчика команд (СК), если условие ветвления выполняется. Смещение показывает, на сколько ячеек нужно перейти относительно текущего содержимого СК в ту или другую сторону. Так как слова имеют чётные адреса, то для получения истинного исполнительного адреса смещения необходимо умножить его на два перед прибавлением к СК, который всегда указывает на слово. Старший разряд смещения (7) является знаковым разрядом. Если он установлен, смещение отрицательное, ветвление происходит в сторону уменьшения адреса (в обратном направлении). Если в разряде 7 содержится 0, смещение положительное и ветвление происходит в сторону увеличения адресов (в прямом направлении). Алгоритм работы всех команд условного ветвления (приложение 1) следующий: (СК)<--(СК)+2ХХХ, при выполнении условия, (СК) <-- (СК)+2, если условие не выполняется. Восьмиразрядное смещение позволяет производить ветвление в обратном направлении максимально на 200 слов от слова, на которое указывает текущее содержимое СК, и на 177 слов в прямом направлении. Преодолеть это ограничение позволяет команда JMP – безусловный переход. Она обеспечивает возможность перехода на любую ячейку памяти с использованием всех режимов адресации, за исключением регистрового. При этом адрес перехода равен адресу операнда. Задания: 1.Исследовать реакцию флагов ССП на результаты операций выполняемых микропроцессором ВМ1801. 2.Исследовать команду безусловного ветвления BR. 3.Исследовать команды условного ветвления. 4. Исследовать команду JMP. Программные коды: 1. TST R0 MFPS R1 HALT 1200/005700 1202/1 1204/106701 1206/0 R0/1 1200 G 1210 2. BR M M: HALT 1176→1230 1176/000414 1230/0 1176 G 1232 3. DEC R0 BEQ M HALT M: HALT 1654→1446 1652/005300 1654/001695 1656/0 1446/0 R0/1 1652 G 1450 RS/4 R0/1100 1652 G 1660 RS/0 R0/0 1652 G 1660 RS/10 4. JUMP @R0 HALT 2000/000110 R0/3300 3300/0 2000 G 3302 JUMP (R0)+ HALT 2000/000120 R0/3300 3300/0 2000 G 3302 R0/3302 JUMP (R0)+ HALT 2000/000130 R0/2500 2500/3300 3300/0 2000 G 3302 R0/2502 JUMP @-(R0) HALT 2000/000150 R0/2502 2500/330 3300/0 2000 G 3302 R0/2500 JUMP @ 500 R0 HALT 2000/000170 2002/500 R0/2000 2500/3300 3300/0 2000 G 3302 JUMP 3300 HALT 2000/000167 2002/274 R7/2004 3300/0 2000 G 3302 JUMP –(R0) HALT 2000/000140 R0/3302 3300/0 2000 G 3302 R0/3300 JUMP 300 R0 HALT 2000/000160 2002/300 R0/3000 3300/0 2000 G 3302 JUMP #@#3300 HALT 2000/000137 2002/3300 3300/0 2000 G 3302 JUMP @3300 HALT 2000/000177 2002/474 R7/2004 2500/3300 3300/0 2000 G 3302