Uploaded by Андрей Полещук

L5Assembler

advertisement
Министерство образования и науки РФ
Федеральное государственное бюджетное образовательное учреждение
высшего образования
ИРКУТСКИЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Институт – Авиамашиностроения и транспорта
Кафедра – технология и оборудование машиностроительных производств
ИЗУЧЕНИЕ СЛОВА СОСТОЯНИЯ ПРОЦЕССОРА И КОМАНД
ВЕТВЛЕНИЯ МИКРОПРОЦЕССОРА ВМ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
Download