Пример: Транспортная логистика
Я ищу:
На главную  |  Добавить в избранное  

Радиоэлектроника /

Motorola MC68HC705C8

←предыдущая следующая→
1 2 3 4 5 



Скачать реферат


начальную загрузку встроенной памяти из внешнего устройства по последовательному интерфейсу. Бит SEC физически расположен в ППЗУ и не изменяется при общем сбросе.

IRQ -режим обнаружения запросов на прерывание от внешних устройств.

при IRQ=1 вывод IRQ/ микропроцессора реагирует как на низкий уровень сигнала на этом выводе, так и на перепад из высокого уровня в низкий.

при IRQ=0 ОЭВМ реагирует только на перепад из высокого в низкий уровень на входе IRQ.

Регистр команд программирования (PROG), расположенный по адресу 001СН, используется для установки режима при программировании ППЗУ.

Регистр команд программирования

Назначение 0 0 0 0 0 LAT 0 PGM

Установка после RESET 0 0 0 0 0 0 0 0

LAT-бит определяет доступ к триггеру программирования ППЗУ.

при LAT=1-разрешен доступ к данным ППЗУ и адресной шине для программирования на следующем цикле записи байта.

при LAT=0-доступ запрещен.

Бит LAT может быть записан и прочитан.

PGM-разрешение/запрет программирования.

при PGM=1 напряжение программирования подается на ППЗУ.

при PGM=0 напряжение программирования отключено.

Если бит LAT сброшен, PGM не может быть установлен в 1.

Центральный процессор содержит 5 регистров, показанных на рис. 1-3. Регистры центрального процессора не являются частью карты памяти.

Рис. 3 Регистры ЦП.

Аккумулятор (A)-это 8-битный регистр общего назначения, в котором хранятся операнды, результаты арифметических операций, а также данные, с которыми производятся какие-либо операции. Аккумулятор также используется и для логических операций.

Индексный регистр (X)-используется либо при индексном режиме адресации, либо как вспомогательный аккумулятор. Этот регистр может быть загружен как непосредственно, так и из памяти, может быть сохранен в ячейке памяти или сравнен с ее содержимым.

Программный счетчик (PC)-это 13-битовый регистр, содержащий адрес команды, следующей за выполняемой, либо адрес операнда, входящего в код программы. Шина адреса MC68HC705C8 имеет разрядность 13 бит, что позволяет адресовать 8 Кб памяти.

Указатель стека (SP), как и программный счетчик, является 13-битным регистром, содержащим адрес следующей (свободной) ячейки стека. Во время начальной установки, либо при выполнении команды "Сброс указателя стека" (RSP), в указатель записывается адрес 00FFH. Затем это значение уменьшается по мере записи данных в стек. При обращении к памяти 7 старших бит указателя постоянно имеют значение 0000011В. Эти 7 бит добавляются к шести младшим битам для получения адреса от 00FFH до 00C0H. Подпрограммы и прерывания могут, таким образом, использовать до 64 ячеек памяти под стек. Если все ячейки заполнены, то указатель стека автоматически устанавливается в исходную позицию и записанная в стек информация теряется. Вызов подпрограммы использует 2 ячейки стека, прерывание-5 ячеек.

Регистр признаков (СС) содержит 5 флагов, устанавливающихся в зависимости от результата выполнения арифметических и других команд. Этими флагами являются: флаг полупереноса (Н), флаг отрицательного результата (N), флаг нулевого результата (Z), бит маски прерываний (I) и флаг переноса (С).

Флаг полупереноса (Н)-используется для операций с числами в двоично-десятичном коде и изменяется при операциях сложения (ADD) и сложения с флагом переноса (ADC). Бит Н устанавливается в 1 при возникновении переноса из бита 3 в бит 4.

Бит маскирования прерываний (I)-запрещает все маскируемые прерывания при установке его в 1. Бит I автоматически устанавливается при возникновении любого прерывания сразу же после сохранения регистров в стеке, но до передачи управления по вектору прерывания. Если внешнее прерывание происходит в тот момент, когда ,бит I установлен в 1, то запрос на прерывание фиксируется и обрабатывается после сброса бита I. После обслуживания прерывания, команда возврата из прерывания (RTI) восстанавливает содержимое регистров. Таким образом, после обработки прерывания I-бит сбрасывается, а при начальной установке ОЭВМ бит I устанавливается в 1 и может быть сброшен программно.

Флаг отрицательного результата (N) устанавливается в 1, если результат последней операции является отрицательным числом, и сбрасывается в противоположном случае.

Флаг нулевого результата (Z) устанавливается в 1, если результатом последней операции является 0 и сбрасывается в противоположном случае.

Флаг Перенос (заем) (С) индицирует, что произошел перенос в результате операции сложения, либо заем при вычитании. Операции сдвига и циклического сдвига происходят через этот бит, что дает возможность осуществлять операции сдвига с операндами из нескольких слов.

1.4. Режимы адресации.

ОЭВМ МС68НС705С8 использует восемь режимов адресации, определяющих способ доступа к данным, требуемым для выполнения команд. Способы адресации, поддерживаемые ОЭВМ МС68НС05С8, перечислены ниже:

* неявная;

* непосредственная;

* прямая;

* расширенная;

* индексная без смещения;

* индексная с 8-разрядным смещением;

* индексная с 16-разрядным смещением;

* относительная.

Команды с неявной адресацией либо не имеют операндов, либо содержат указание на операнд в мнемонике команды. К таким командам относятся, например, команды возврата из прерывания (RTI), останова (STOP) и т.д. Неявный тип адресации имеют команды работы с данными в регистрах микропроцессора, например, установить флаг переноса (SEC), увеличение числа, хранящегося в аккумуляторе, на единицу (INCA), и другие. Команды с неявной адресацией не требуют обращения к памяти и имеют длину один байт. В Таблице 1-1 приведен список команд, которые используют неявную адресацию.

Таблица 1-1. Команды, использующие неявную адресацию.

Команда Мнемоника

Арифметический сдвиг влево ASLA, ASLX

Арифметический сдвиг вправо ASRA, ASRX

Сбросить флаг переноса CLC

Сбросить флаг маскирования прерываний CLI

Обнулить CLRA, CLRX

Дополнение COMA, COMX

Декремент на 1 DECA, DECX

Инкремент на 1 INCA, INCX

Логический сдвиг влево LSLA, LSLX

Логический сдвиг вправо LSRA, LSRX

Умножение MUL

Изменить знак NEGA, NEGX

Нет операции NOP

Циклический сдвиг влево через флаг переноса ROLA, ROLX

Циклический сдвиг вправо через флаг переноса RORA, RORX

Инициализация указателя стека RSP

Возврат из прерывания RTI

Возврат из подпрограммы RTS

Установить флаг переноса SEC

Установить бит маскирования прерываний SEI

Разрешить IRQ и останов генератора синхроимпульсов STOP

Программное прерывание SWI

Запись содержимого аккумулятора в индексный регистр TAX

Проверить на отрицательность и равенство нулю TSTA, TSTX

Запись содержимого индексного регистра в аккумулятор TXA

Разрешить прерывание и останов процессора WAIT

Пример:

0200 4С INCA Инкремент аккумулятора

Производимые действия:

$0200 $4C [1], [2], [3]

Объяснение:

[1] процессор читает код операции $4C - инкремент аккумулятора;

[2], [3] процессор считывает содержимое аккумулятора, увеличивает на 1, запоминает новую величину в аккумуляторе, в соответствии с результатом устанавливает биты в регистре флагов.

При непосредственной адресации операнд первый операнд находится в аккумуляторе или индексном регистре, а второй является частью кода команды. Команды с непосредственной адресацией не требуют адреса памяти и имеют длину два байта. Код команды содержится в первом байте, а операнд во втором байте. Таблица 1-2 содержит команды, использующие непосредственную адресацию.

Таблица 1-2. Команды, использующие непосредственную адресацию.

Команда Мнемоника

Сложение с флагом переноса ADC

Сложение ADD

Логическое И AND

Битовое сравнение ячейки памяти с аккумулятором BIT

Сравнение аккумулятора и ячейки памяти CMP

Сравнение индексного регистра и ячейки памяти CPX

Исключающее ИЛИ ячейки памяти и аккумулятора EOR

Загрузить аккумулятор содержимым ячейки памяти LDA

Загрузить индексный регистр содержимым ячейки памяти LDX

Операция ИЛИ ORA

Вычитание с флагом переноса SBC

Вычитание SUB

Пример:

0200 А6 02 LDA #$02 Загрузить аккумулятор константой $02

Производимые действия:

$0200 $A6 [1]

$0201 $02 [2]

Объяснение:

[1] ЦП читает код операции $A6 - загрузить аккумулятор константой, следующей за кодом операции

[2] ЦП читает константу $02 по адресу $0201 и записывает ее в аккумулятор.

Команды с прямой адресацией имеют доступ к первым 256 ячейкам памяти и имеют длину два байта. Первым байтом является код команды, второй байт представляет собой младший байт адреса операнда. При использовании прямой адресации ЦП автоматически устанавливает в $00 старший байт адреса операнда. Исключение составляют команды BRSET и BRCLR, занимающие три байта и использующие прямую адресацию для доступа к операнду и относительную адресацию для определения

←предыдущая следующая→
1 2 3 4 5 



Copyright © 2005—2007 «Mark5»