Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

No2

.pdf
Скачиваний:
14
Добавлен:
31.10.2021
Размер:
341.61 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ

УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронновычислительных систем (КИБЭВС)

СИСТЕМА КОМАНД МИКРОПРОЦЕССОРОВ СЕМЕЙСТВА

INTEL MCS-51

Отчет по лабораторной работе №2

по дисциплине «Организация ЭВМ и вычислительных систем»

Выполнили Студенты группы 730-2

_______ Астра Г.А.

07.11.2020

_______ Похила Е.Ю. 07.11.2020

_______ Фатеев А.В.

07.11.2020

Принял Старший преподаватель

кафедры КИБЭВС

_________ Пехов О.В. 07.11.2020

2020

 

2

Оглавление

 

Введение...................................................................................................................

3

Ход работы...............................................................................................................

4

Ответы на вопросы:.................................................................................................

7

Заключение ............................................................................................................

12

3

Введение

Цель работы: изучение принципов работы и системы команд микропроцессора на примере микропроцессоров семейства Intel MCS-51.

4

Ход работы

Вариант 9. Используя систему команд процессора 8051, составьте алгоритм и напишите программу циклического вычисления суммы чисел от 50

до 0. Результат вычислений выводить в порт P1. Оцените период выполнения цикла. Проверьте правильность работы программы на симуляторе.

5

Программа:

Start:

mov r1, #50 mov r2, #50

Plan:

dec r1, mov A, r2, addc A, r1, mov p1, A,

cjne r1, #0, Plan,

Exit:

nop

jmp Exit

Рисунок 1 - Симулятор «edsim51»

6

Пояснения:

1)mov r1, #50 (mov r2, #50) – присваивание регистру значения «50»

2)dec r1, – уменьшение значения регистра на единицу

3)mov A, r2, – перенос значения регистра 2 в аккумулятор

4)addc A, r1, – сложение значений аккумулятора и регистра 1 с сохранением результата в аккумуляторе

5)mov p1, A, – вывод значения аккумулятора в порт 1

6)cjne r1, #0, Plan, – сравнение значения регистра 1 с нулем

7)nop – пустая команда

8)jmp Exit – окончание программы

7

Ответы на вопросы:

1) Какие команды МП MCS-51 предназначены для передачи данных?

Команда MOV копирует данные из операнда-источника в операнд-

получатель. Она от носится к группе команд передачи (пересылки) данных (data transfer) и используется в любой программе.

Команда MOVZX (Move With Zero-Extend, или Переместить и дополнить нулями) копирует содержимое исходного операнда в больший по размеру регистр получателя данных.

Команда MOVSX (Move With Sign-Extend, или переместить и дополнить знаком) копирует содержимое исходного операнда в больший по размеру регистр получателя данных, также как и команда MOVZX.

Команда XCHG (Exchange Data, или Обмен данными) позволяет обменять содержимое двух операндов.

2) Какие команды МП MCS-51 предназначены для организации

подпрограмм?

Команда CALL обеспечивает вызов подпрограмм. При этом вызов может осуществляться по прямому и косвенному адресу.

Команда RET обеспечивает возврат из подпрограммы в точку вызова. Эта команда должна завершать любую процедуру. При этом она может находиться

ине в конце процедуры, но исполняться будет последней.

3)Какие методы адресации используются в командах вашей программы?

Регистровая адресация

8

4) Как можно проверить нулевой результат выполнения

арифметической операции?

Проверить нулевой результат выполнения арифметической операции можно с помощью флага ZF, который отражает и беззнаковый, и знаковый нулевой результат.

5) При помощи каких команд можно организовать цикл?

Организовать цикл можно с помощью команды Loop, с помощью команд условного или безусловного перехода и регистра ecx/cx (выполняет роль

счетчика).

6) На какие группы делятся команды МП MCS-51 по

функциональным признакам?

пересылки данных;

арифметические операции;

логические операции;

операции над битами;

управление аппаратно-программными средствами МП.

7) Что называют командой, микрокомандой, системой команд?

Команда – слово, которое извлекается микропроцессором из памяти программ, декодируется и им исполняется, таким образом, трансформируясь из информации в действие.

Микрокоманда – это набор одной, двух или более микроопераций,

которые могут быть выполнены одновременно.

Система команд определяет не только список команд, поддерживаемых микропроцессором, но и методы адресации к данным. Большинство команд выполняются за один или два машинных цикла «выборка-исполнение», за исключением команд умножения и деления, которые выполняются за четыре

9

машинных цикла. В качестве операндов команд МП могут использоваться биты, четырехбитные цифры (ниблы), байты и двухбайтные слова.

8) Дайте определения понятиям микрооперация, структура команды,

формат команды.

Микрооперация – элементарное машинное действие (элементарная операция), которое выполняется над содержимым операционных блоков

(операндами).

Структура команды определяется составом, назначением и расположением полей в команде.

Формат команды – это структура команды с разметкой номеров разрядов,

определяющих границы отдельных полей команды.

9) Какие методы адресации характерны для МП MCS-51?

Прямая адресация (Direct Addressing). Операнд определяется 8-битным адресом в инструкции. Эта адресация используется только для внутренней памяти данных и регистров.

Косвенная адресация (Indirect Addressing). Адрес регистра,

содержащий адрес операнда, описан самой инструкцией и содержится в коде операции. Данный вид адресации может применяться при обращении как к внутренней, так и внешней памяти. Для указания 8-битных адресов могут использоваться регистры R0 и R1 или указатель стека SP. Для 16-битной адресации используется только регистр (DPTR - Data Pointer - "указатель данных").

Регистровая адресация (Register Instruction). Данная адресация применяется для доступа к регистрам R0…R7. Команды с регистровой адресацией содержат в коде операции трехбитовое поле, которое определяет номер регистра.

10

Непосредственная адресация (Immediate constants). Операнд содержится в теле команды и следует за кодом операции. Размер операнда составляет один или два байта в котором содержится константа (#data8,

#data16).

Индексная адресация (Indexed Addressing). Индексная адресация используется при чтении памяти программ. В этом режиме осуществляется просмотр таблиц в памяти программ. 16-битовый регистр (DPTR или PC)

содержит базовый адрес требуемой таблицы, а аккумулятор содержит индекс,

т.е. указывает на порядковый номер элемента таблицы. Адрес элемента таблицы находится сложением базы с индексом (содержимым аккумулятора).

Неявная адресация (Register-Specific Instructions). Название «неявная адресация» подразумевает, что адрес к регистрам или памяти не указывается при помощи операнда. Адрес регистра определяется самой инструкцией и содержится в коде операции. Например, некоторые инструкции используют индивидуальные регистры, такие, как аккумулятор, или DPTR, но при этом,

адрес этих регистров не объявлен в операнде, так как он уже определен командой и определяется МП кода операции. Примером неявной адресации к памяти могут являться команды push, pop (команды для работы со стеком,

позволяют заносить значения регистров и ячеек памяти в стек и извлекать их оттуда).

10) Какие условия можно проверять в командах условного перехода

МП MCS-51?

JZ (jump if zero) – аккумулятор содержит нулевое значение;

JNZ (jump if not zero) – аккумулятор содержит не нулевое значение;

JC (jump if carry) – бит переноса С равен 1;

JNC (jump if not carry) – бит переноса С равен 0;

JB (jump if bit) – прямо адресуемый бит равен 1;

JNB (jump if not bit) – прямо адресуемый бит равен 0;

Соседние файлы в предмете Организация ЭВМ и вычислительных систем