Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Код операции




 

Код операции команды определяет набор действий, которые должен выполнить ЦП для преобразования операнда (операндов). Он представляется в виде 8-разрядного двоичного кода. Например: 00100101В – код операции сложения двух операндов. В таком виде в составе команды он записывается в ПЗУ микроконтроллера. Полная система команд содержит 255 кодов операций. Запомнить 255 двоичных кодов и применять их при разработке программы достаточно сложно. Можно сократить число цифр кода, представив его в шестнадцатеричном виде. Тот же код будет выглядеть как 25Н. В любом случае использование кодов операции в виде цифр является сложным и неблагодарным занятием.

Разработка программы значительно упрощается, если использовать язык программирования АССЕМБЛЕР. В этом языке для упрощения процедуры записи, проверки и чтения программ используется мнемоническое или символическое кодирование для обозначения кода операции. При этом каждая машинная команда, реально используемая как машинный двоичный код, обозначается трех- или четырехбуквенным мнемоническим символом. В основе этих символов лежит описание выполняемой операции на английском языке в виде абревиатуры (либо сокращенное слово, либо начальные буквы словосочетания) от полной записи наименования команды на английском языке. Основное достоинство мнемокодов заключается в том, что такие символы легко запоминаются и легко воспринимаются, так как символическое имя команды напоминает смысловое содержание соответствующей операции, например:

MOV – сокращение от Move (перемещение);

INC – сокращение от Increment (увеличение на единицу);

ADD – сокращение от Addition (добавление);

SUBB – сокращение от Substraction with Borrow (вычитание c займом);

MUL – сокращение от Multiply (умножение) и другие операции.

В процессе компиляции исходный текст программы на языке АССЕМВЛЕРА, обычно выполняемой автоматически с помощью ПК, преобразуется в двоичный машинный код, который «понимает» ЦП.

Адрес

Адресом называется указание месторасположения элемента данных (операнда) в памяти микроконтроллера. Память микроконтроллера включает в себя помимо ОЗУ и ПЗУ ряд специализированных отдельных ячеек памяти – регистров. Они предназначены для обслуживания АЛУ. На рис. 3 показана упрощенная структура памяти МК.

А– аккумулятор, восьмиразрядный регистр, предназначенный для приема хранения результата, полученного при выполнении арифметико-логических операций или операций пересылки.

В – восьмиразрядный регистр как дополнение аккумулятора при выполнении операций умножения и деления. Для других операций он может рассматриваться как дополнительный сверхоперативный регистр.

PSW – восьмиразрядный регистр состояния АЛУ при выполнении программы. Для хранения данных программы он не предназначен. Состоит из отдельных бит, значения которых определяют состояние АЛУ, например переполнение аккумулятора.

DPTR – 16-разрядный регистр (указатель адреса) для косвенной адресации при

 

Рис. 3. Упрощенная структура памяти МК

 

обращении к памяти программ. Может быть использован как два независимых 8-разрядных регистра DPH и DPL для хранения данных программы.

R0-R7 – 8 восьмиразрядных регистров общего назначения. Предназначены для хранения оперативных данных программы. Команды, использующие для операндов эти регистры, имеют минимальное время выполнения, а сами команды занимают в памяти минимальное место.

ОЗУ содержит 128 8-разрядных ячеек памяти, каждая из которых имеет собственный номер – адрес, от 00Н до 7FH (в шестнадцатеричном коде).

ПЗУ имеет 2048 (2К) ячеек, с адресами от 0000Н до 07FFH.

Адрес ячейки, в которой находится требуемый операнд, записывается в поле операнда команды при программировании в шестнадцатеричном коде.

Формат адреса для ОЗУ – 1 байт, для ПЗУ – 2 байта.

Рассмотренные выше регистры также имеют свои собственные 8-разрядные адреса, однако, особенность программирования на АССЕМБЛЕРЕ, позволяет использовать для регистров символические имена (адреса). В поле адреса команды, если используется регистр, записывается его обозначение А, PSW, R0-R7 и т.д.

Для работы с булевскими (битовыми) операндами используется часть памяти ОЗУ с адресами 20Н – 2FH, которая представляет собой так называемую битовую область ОЗУ. В ней имеется возможность при помощи специальных битовых команд адресоваться к каждому отдельному разряду ячеек памяти. Битовое пространство имеет объем 128 бит с адресами 00Н до 7FH и занимает 16 ячеек памяти. Адрес прямоадресуемых битов может быть записан либо в виде (Адрес Байта).(Разряд), например выражение 21.3Н означает третий разряд ячейки памяти с адресом 21H, либо в виде абсолютного битового адреса - 0ВН. Соответствие этих двух способов адресации можно определить по табл. 1.


Поделиться:

Дата добавления: 2015-02-10; просмотров: 116; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты