русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Вопрос 1.7.6. Система команд МП


Дата добавления: 2015-06-12; просмотров: 1667; Нарушение авторских прав


Микропроцессор имеет базовую систему команд, в состав которой входят следующие группы:

· команды пересылки данных:

· команды пересылки данных внутри МП (MOV, PUSH, POP, XCHNG и т.д.);

· команда ввода-вывода (IN, OUT);

· операции с флагами;

· операция с адресами (LEA, LDS и т.д.);

· арифметические команды:

· основные (сложение, вычитание, умножение, деление);

· дополнительные (INS, DEC и др.);

· логические команды (сдвиг, дизъюнкция, конъюнкция, отрицание равнозначности и др.);

· команды обработки строковых данных (пересылка, сравнение, сканирование, слияние/разделение и др.);

· команды передачи управления (безусловный переход, условный переход, прерывания, переход с возвратом);

· команды управления ("нет операций", "внешняя синхронизация" и т.д.).

· каждая команда имеет большое число модификаций, чаще всего определяемых режимом адресации данных (операндов).

Команды обращения к памяти

Команда: LOAD REGISTR (загрузка регистра)

Символическая форма: LDR r

Рисунок 1.7.4.

Описание: (М[< B2 > < B3 > ])r

Содержимое ячейки памяти передаётся в общий регистр r.

Старшие 8 разрядов адреса ячейки берутся из второго байта команды, а младше 8 разрядов - из третьёго байта.

Программирование на машинном язык. Программа должна быть представлена в той форме, в которой её воспринимает машина. В частности, команды должны быть представлены в виде последовательностей из нулей и единиц, поскольку это единственная понятная ЭВМ форма. Однако выписывать длинные последовательности из нулей и единиц довольно утомительно. Поэтому при записи команд применяется более удобная шестнадцатеричная система.

Например, трёх битовая команда иллюстрированного процессора, загружается в аккумулятор содержимое ячейки памяти с адресом 0110 1111 1101 имеет вид



в шестнадцатеричных обозначениях эта команда запишется так

6F

DB

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

LDR 0

6F

DB

Второй и третий байты по-прежнему записаны шестнадцатеричными цифрами, и аккумулятор задан своим номером среди общих регистров, равным 0. Однако операция обозначена трёхбуквенным мнемоническим именем LDR.

Примерпрограммы, в которой к числу, находящемуся в ячейки главной памяти, прибавляется шестнадцатеричная константа 3С. программа приведена в табл. 1. Она выполняется следующим образом.

Таблица 1. Пример программы: "прибавить константу к числу в памяти и записать результат снова в память"

Рисунок 1.7.5.

Прежде всего, подаётся прежний импульс на линию "сброс" БУ, по которому на программный счётчик устанавливается 0. Затем подаётся импульс на линию "пуск" БУ, и начинается выполнение программы. Выбираются 3 байта, составляющие первую команду, и программный счётчик увеличивается на 1 после выборки каждого байта. Первая команда пересылает содержимое ячейки памяти 000А в аккумулятор. Поскольку программный счётчик подвинулся на 3 единицы, он теперь содержит 0003. Это адрес следующей команды - загрузки регистра с непосредственным адресом. Команда содержит в себе операнд и удобна для задания константы. Её выполнение приводит к засылке значения 3С, содержащегося во втором байте команды, в общий регистр 1. Теперь программный счётчик содержит 0005, т.е. адрес третьей команды. Её выборка и выполнение приводит к прибавлению содержимого регистра 1 к содержимому аккумулятора и занесению суммы в аккумулятор. Следующая команда передаёт содержимое аккумулятора в ячейку памяти 000В. последняя команда останавливает микропроцессор.



<== предыдущая лекция | следующая лекция ==>
Вопрос 1.7.5. Полный цикл работы МП при выполнении команды | Вопрос 1.7.6. Структурная схема базовой модели микропроцессора фирмы Intel


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.185 сек.