GeoSELECT.ru



Радиоэлектроника / Реферат: KURS (Радиоэлектроника)

Космонавтика
Уфология
Авиация
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Аудит
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника
Бухгалтерский учет
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Инвестиции
Иностранные языки
Информатика
Искусство и культура
Исторические личности
История
Кибернетика
Коммуникации и связь
Компьютеры
Косметология
Криминалистика
Криминология
Криптология
Кулинария
Культурология
Литература
Литература : зарубежная
Литература : русская
Логика
Логистика
Маркетинг
Масс-медиа и реклама
Математика
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Мифология
Москвоведение
Музыка
Муниципальное право
Налоги
Начертательная геометрия
Оккультизм
Педагогика
Полиграфия
Политология
Право
Предпринимательство
Программирование
Психология
Радиоэлектроника
Религия
Риторика
Сельское хозяйство
Социология
Спорт
Статистика
Страхование
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Физика
Физкультура
Философия
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
   

Реферат: KURS (Радиоэлектроника)


Задание.
Создать МП систему управления настройкой приемника. Упрощенная схема
приемника изображена на рис. 1.

Рис 1
Контур приемника состоит из индуктивности Lк и емкости варикапа VD1.
Эта емкость зависит от подаваемого на варикап постоянного напряжения Uупр
(зависимость обратнопропорциональная). Выделенное контуром ВЧ напряжение Uк
детектируется амплитудным детектором (АД) и при настройке на станцию на
выходе АД получается сигнал Uвых. Необходимо подключить МПС к приемнику
так, чтобы МП измеряя величину Uвых мог воздействовать на варикап с целью
настройки входного контура. МПС должна обеспечить:
— точную настройку на заданную станцию (величина рассогласования по
частоте не должна превышать 3% от ширины полосы контура 2(f,
— поиск станций в диапазоне частот Fmin...Fmax.
1. Описание алгоритма.
Напряжение на контуре детектируется амплитудным детектором (АД),
преобразуется в АЦП в двоичный код и поступает на МП. МП оценивает сигнал и
выдает управляющее напряжение Uупр, которое после ЦАП поступает на варикап
для изменения частоты настройки контура. Задача, решаемая МП, состоит в
поиске экстремума функции Uупр(F). Из всех известных алгоритмов поиска
вследствие малой разрядности МП выбирается метод нулевого порядка - метод
случайного пошагового поиска экстремума с запоминанием верного шага.
Суть алгоритма состоят в следующем. Так как напряжение на контуре
является функцией расстройки {Fk-Fo}, то пря изменении F изменяется и Uk.
МП формирует приращение Uупр (может быть и положительным и отрицательным).
Происходит сравнение Ukn=f(Uy) и Ukn+1=f(Uy+(Uy).Если Ukn+1>Ukn, то
делается шаг в ту же сторону, в противном случае - в противоположную.
Одноэкстремальный вид функции настройки позволяет одновременно осуществить
операцию автоматического поиска частоты Fo. АЦП и ЦАП подсоединяются к МПС
через порты ввода/вывода. Для построения портов ввода/вывода используются
порты Р1 и Р2 ОЭВМ. Это позволяет использовать для ввода/вывода команды
ОЭВМ работы портами. Предположим, что для АЦП осуществляется программная
задержка на время, большее времени преобразования, чтобы избежать ввода еще
одного регистра для опроса сигнала готовности АЦП. Сигнал на ЦАП подается
сразу из ОЭВМ через порт. Однако при регулировании необходимо организовать
программную задержку на время установления переходных процессов в контуре.
Кроме того, для исключения влияния шума на процесс регулирования нужно
установить нижний предел изменения (Uk.
2. Структурная схема алгоритма.
3. Математическое описание.
3.1 Исходные данные:

|Диапазон частот поиска |Fmin=1 мГц |
| |Fmax=1,5 мГц |
|Полоса частот |(f=3кГц |
|Параметры варикапа: | |
|Начальное значение частоты контура |Fk0=1 мГц |
|Управляющее напряжение |Uупр0=2В |
|Крутизна характеристики преобразования |S=25 кГц/В |
|Параметры ЦАП (БИС ЦАП К572ПА1): | |
|Опорное напряжение |UЦАП=10,24В |
|Количество разрядов |n=10 |
|Параметры АЦП (AD7575): | |
|Опорное напряжение |UАЦП=2,56В |
|Количество разрядов |n=8 |


3.2 Расчёт.
Частота настройки контура зависит от управляющего напряжения следующим
образом:
Fk=Fk0+S(Uупр-Uупр0)
(1)
где Fk0 — начальное значение частоты контура при Uупр=Uупр0
S — крутизна характеристики преобразования.
(Uупр=Uупр2-Uупр1
(2)
Из (1) следует, что [pic]
Т.к (f=3кГц, то при
F1=Fmin+(f=1000+3=1003 (кГц), ( [pic] (В)
F2=Fmin+2(f=1006 (кГц) ( [pic] (В)
((Uупр=Uупр2-Uупр1=1,24-1,12=0,12 (В)
[pic] (В) — минимальное значение напряжения на входе, которое даёт 1 в
младшем разряде кода.
(Uупр>UЦАП ( десятиразрядный ЦАП подходит для выполнения данной
задачи. (UЦАП=0,01 В ( на вход надо подавать по 12k импульсов (как бы
проскакивая по 12 импульсов сразу), где k — номер шага [pic]. 1210 =
00000011002, ( 2 первых разряда всегда равны 0, ( их можно заземлить, ( к
порту подключается 8 разрядов (старших) и вместо 12 на ЦАП подается 3
(112=310). ( можно охватить весь диапазон без использования дополнительных
разрядов.
[pic] — количество шагов для того чтобы пройти всю область настройки.
12?Kn=2004 — нужно 10 разрядов
8?Kn=501 — нужно 8 разрядов.
[pic] (В)
Если Uk возрастает на постоянно на всей области настройки, то [pic]
(В)
(Uk>(UАЦП ( 8-ми разрядный ЦАП подходит для решения данной задачи.
4. Распределение ресурсов МП системы
Регистр ОЭВМ R2 будет хранить значения Uупр, в R3 помещаются значения
предыдущего шага Uk-1, а в A (аккумулятор) — значения последующего шага Uk.
В R4 в процессе работы программы будем помещать только N — параметр
программной задержки. В B будет храниться количество шагов для прогона всей
области настройки. Выбираем N=135, т.к время программной задержки равно 400
мкс, а вся процедура реализуется в 3 цикла, ( [pic].
5. Подробная структурная схема алгоритма.
6. Программа работы МК.
|Кол|Метка|Мнемоники |Комментарий |
|-во| | | |
|цик| | | |
|лов| | | |
| | |NAME P78 |имя модуля программы |
| | |CSEG AT 0H |абсолютный кодовый сегмент |
| | |ORG 0H |псевдокоманда задания адреса памяти |
|1 | |MOV R2, #3 |в R2 помещается Uупр |
|1 | |MOV B, #167 |в B помещается количество шагов |
|1 | |MOV A P1 |в A помещается содержимое Uk из порта |
| | | |P1 |
|1 | |MOV R3, A |в R3 помещается значение Uk из A |
|1 |M1: |MOV R4, #135 |инициализация счетчика программной |
| | | |задержки |
|1 | |MOV A, R2 |в A помещается значение Uупр из R2 |
|1 | |MOV P2, A |в порт P2 помещается значение Uупр из A|
|1 | |SETB 3.7 |формирование отрицательного импульса |
| | | |для включения АЦП |
|1 | |CLR 3.7 | |
|1 | |SETB 3.7 | |
|1 |M2: |NOP |оператор задержки |
|2 | |DJNZ R4, M2 |значение R4 (счетчик программной |
| | | |задержки) уменьшается на 1 и при |
| | | |R4[pic]0 осуществляется переход на |
| | | |метку M2 |
|1 | |MOV A, P1 |в A записывается Uk+1 из порта P1 |
|1 | |SUBB A, R3 |из A вычитается R3 (Uk+1 сравнивается с|
| | | |Uk) |
|2 | |JC M3 |если флаг C=0 (Uk+1>Uk), то |
| | | |осуществляется переход на метку M3 |
|1 | |MOV A, P1 |в A помещается значение Uk+1 из порта |
| | | |P1 |
|1 | |MOV R3, A |в R3 помещается значение Uk+1 из A |
|1 | |INC R2 |значение R2 (Uупр) увеличивается на 1 |
|1 | |INC R2 |значение R2 (Uупр) увеличивается на 1 |
|1 | |INC R2 |значение R2 (Uупр) увеличивается на 1 |
|2 | |DJNZ B, M1 |значение B (счетчик шагов) уменьшается |
| | | |на 1 и при B[pic]0 осуществляется |
| | | |переход на метку M1 |
|2 | |AJMP M5 |осуществляется безусловный переход на |
| | | |метку M5 |
|1 |M3: |MOV R4, #135 |инициализация счетчика программной |
| | | |задержки |
|1 | |CLR C |флаг С устанавливается в 0 |
|1 | |DEC R2 |значение R2 (Uупр) уменьшается на 1 |
|1 | |MOV A, R2 |в A помещается значение Uупр из R2 |
|1 | |MOV P2, A |в порт P2 помещается значение Uупр из A|
|1 | |SETB 3.7 |формирование отрицательного импульса |
| | | |для включения АЦП. |
|1 | |CLR 3.7 | |
|1 | |SETB 3.7 | |
|1 |M4: |NOP |оператор задержки |



|2 | |DJNZ R4, M4 |значение R4 (счетчик программной |
| | | |задержки) уменьшается на 1 и при |
| | | |R4[pic]0 осуществляется переход на |
| | | |метку M4 |
|1 | |MOV A, P1 |в A помещается содержимое Uk+1 из порта|
| | | |P1 |
|1 | |SUBB A, R3 |из A вычитается R3 (Uk сравнивается с |
| | | |Uk+1) |
|1 | |MOV A, P1 |в A записывается Uk+1 из порта P1 |
|1 | |MOV R3, A |в R3 помещается значение Uk из A |
|2 | |JC M3 |если флаг C=0 (Uk>Uk+1), то |
| | | |осуществляется переход на метку M3 |
|1 |M5: |NOP |оператор задержки |
| | |END |конец модуля программы |

7. Контрольный пример.
Для просмотра результатов вместо порта P1 будем значения Uk, будут
помещаться во внутреннюю память, начиная с адреса 20H и заканчивая адресом
27H , ( в R0 будет размещаться адрес внутренней памяти и “MOV A, P1”
заменяется на “MOV A, @R0”. Так же уменьшим количество шагов и время
программной задержки.

| |NAME 78 | |
| |CSEG AT 0H | |
| |ORG 0H | |
| |MOV 21H, #1 |задаются значения Uk |
| |MOV 22H, #3 | |
| |MOV 23H, #6 | |
| |MOV 24H, #9 | |
| |MOV 25H, #6 | |
| |MOV 26H, #7 | |
| |MOV 27H, #9 | |
| |MOV R0, #20H|в R0 помещается адрес 20H |
| |MOV R2, #3 |в R2 помещается начальное значение Uупр |
| |MOV B, #10 |в B помещается количество шагов |
| |MOV A @R0 |в A помещается содержимое ячейки с адресом |
| | |R0 |
| |MOV R3, A |в R3 помещается содержимое А (ячейки с |
| | |адресом 20H) |
|M1: |INC R0 |значение R0 (адрес внутренней памяти) |
| | |увеличивается на 1 |
| |MOV R4, #3 |инициализация счетчика программной задержки |
| |MOV A, R2 | |
| |MOV P2, A | |
|M2: |NOP | |
| |DJNZ R4, M2 |значение R4 (счетчик программной задержки) |
| | |уменьшается на 1 и при R4[pic]0 |
| | |осуществляется переход на метку M2 |
| |MOV A, @R0 |в A помещается содержимое ячейки с адресом |
| | |R0 (Uk+1) |
| |SUBB A, R3 |из A вычитается R3 (Uk+1 сравнивается с Uk) |
| |JC M3 |если флаг C=0 (Uk>Uk+1), то осуществляется |
| | |переход на метку M3 |
| |MOV A, @R0 |в A помещается содержимое ячейки с адресом |
| | |R0 |
| |MOV R3, A |в R3 помещается значение Uk+1 из A |
| |INC R2 |значение R2 (Uупр) увеличивается на 1 |
| |INC R2 |значение R2 (Uупр) увеличивается на 1 |
| |INC R2 |значение R2 (Uупр) увеличивается на 1 |
| |DJNZ B M1 |значение B (счетчик шагов) уменьшается на 1 |
| | |и при B[pic]0 осуществляется переход на |
| | |метку M1 |
| |AJMP M5 |осуществляется безусловный переход на метку |
| | |M5 |
|M3: |INC R0 |значение R0 (адрес внутренней памяти) |
| | |увеличивается на 1 |



| |DEC R2 |значение R2 (Uупр) уменьшается на 1 |
| |MOV R4, #3 |инициализация счетчика программной задержки |
| |CLR C |флаг С устанавливается в 0 |
| |MOV A, R2 | |
| |MOV P2, A | |
|M4: |NOP | |
| |MOV A, @R0 |в A помещается содержимое ячейки с адресом |
| | |R0 (Uk+1) |
| |SUBB A, R3 |из A вычитается R3 (Uk+1 сравнивается с Uk) |
| |MOV A, @R0 |в A помещается содержимое ячейки с адресом |
| | |R0 (Uk+1) |
| |MOV R3, A |в R3 помещается значение Uk+1 из A |
| |JC M3 |если флаг C=0 (Uk>Uk+1), то осуществляется |
| | |переход на метку M3 |
|M5 |NOP | |
| |END | |

8. Определение быстродействия программы.
Найдём, сколько времени потребуется для поиска станции, которая
находится в середине диапазона. F0=1,25 мГц и при условии что придётся
делать один шаг назад.
T=Nц1tц1+Nц2tц2+tпер+tд
Nц1=250 — количество шагов в первом цикле
Nц2=1 — количество шагов во втором цикле
tц1=417 мкс
tц2=414 мкс
tпер=424 — время перехода из одного цикла в другой
tд=4 мкс — время ввода начальных данных
( T=250(417+1(414+424+4=104717 мкс
9. Листинг отлаженной программы.
A51 MACRO ASSEMBLER 78 24/12/01
13:46:28 PAGE 1
DOS MACRO ASSEMBLER A51 V5.10
OBJECT MODULE PLACED IN 78.OBJ
ASSEMBLER INVOKED BY: M:KEILTESTBINA51.EXE 78.A51 DB EP

|LOC |OBJ |LINE|SOURCE | |
| | | | | |
| | | 1 | |NAME P78 |
|----| | 2 | |CSEG AT 0H |
|0000| | 3 | |ORG 0H |
|0000|7A03 | 4 | |MOV R2, #3 |
|0002|75F0A7| 5 | |MOV B, #167 |
|0005|E590 | 6 | |MOV A, P1 |
|0007|FB | 7 | |MOV R3, A |
|0008|7C87 | 8 |M1: |MOV R4, #135 |
|000A|EA | 9 | |MOV A, R2 |
|000B|F5A0 |10 | |MOV P2, A |
| | |11 | | |
|000D|00 |12 |M2: |NOP |
|000E|DCFD |13 | |DJNZ R4, M2 |
|0010|E590 |14 | |MOV A, P1 |
|0012|9B |15 | |SUBB A, R3 |
|0013|400B |16 | |JC M3 |
|0015|E590 |17 | |MOV A, P1 |
|0017|FB |18 | |MOV R3, A |
|0018|0A |19 | |INC R2 |
|0019|0A |20 | |INC R2 |
|001A|0A |21 | |INC R2 |
|001B|D5F0EA|22 | |DJNZ B, M1 |
|001E|0132 |23 | |AJMP M5 |
|0020|7C87 |24 |M3: |MOV R4, #135 |
|0022|C3 |25 | |CLR C |
|0023|1A |26 | |DEC R2 |
|0024|EA |27 | |MOV A, R2 |
|0025|F5A0 |28 | |MOV P2, A |
| | |29 | | |
|0027|00 |30 |M4: |NOP |
|0028|DCFD |31 | |DJNZ R4, M4 |
|002A|E590 |32 | |MOV A, P1 |
|002C|9B |33 | |SUBB A, R3 |
|002D|E590 |34 | |MOV A, P1 |
|002F|FB |35 | |MOV R3, A |
|0030|40EE |36 | |JC M3 |
|0032|00 |37 |M5: |NOP |
| | |38 | |END |

A51 MACRO ASSEMBLER 78 24/12/01 13:46:28
PAGE 2
|SYMBOL |TABLE |LISTING |
|----------|----------|----------|
|-- |--- |-- |

|NAME |T Y P |VALUE |ATTRIBUTES |
| |E | | |
| | | | |
|B. . . . . .|D |ADDR |00F0H |A |
|. . . . . | | | | |
|M1 . . . . .|C |ADDR |0008H |A |
|. . . . | | | | |
|M2 . . . . .|C |ADDR |000DH |A |
|. . . . | | | | |
|M3 . . . . .|C |ADDR |0020H |A |
|. . . . | | | | |
|M4 . . . . .|C |ADDR |0027H |A |
|. . . . | | | | |
|M5 . . . . .|C |ADDR |0032H |A |
|. . . . | | | | |
|P1 . . . . .|D |ADDR |0090H |A |
|. . . . . | | | | |
|P2 . . . . .|D |ADDR |00A0H |A |
|. . . . . | | | | |
|P78. . . . .|N |NUMB | ----- | |
|. . . . | | | | |


REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
-----------------------
R3(P1(Uk+1)

R2(UC?@)(R2(UC?@)+3

40

A(P1(Uk+1)

@>3@03@0Uk

0G0;>



B=0

R3(P1(Ukупр)(R2(Uупр)+3

да

A(P1(Uk+1)

Программная задержка

R4(135
R2(Uупр)=R2(Uупр)-1
P1(R2(Uупр)


нет

Uk+1>Uk

нет

да

да


A(P1(Uk+1)

Программная задержка



R4(135
P2(R2(Uупр)

Конец

нет

Uk+1>Uk

Начало



B=0

R3(P1(Uk+1)

R5(3
B(167
R3(P1(Uk)






Реферат на тему: Motorola MC68HC705C8


Однокристальная микроЭВМ


МС68НС705С8


Введение

Однокристальная микроЭВМ (далее ОЭВМ) МС68НС705С8 входит в серию
М68НС05 относительно дешевых ОЭВМ, использующих КМОП-технологию, сочетающую
малые размеры и высокое быстродействие с низким потреблением энергии и
высокой устойчивостью к помехам.
Дополнительным преимуществом КМОП-структуры является то, что компоновка
схемы полностью статична, т.е. ОЭВМ может работать при любой частоте
синхронизации, меньшей, чем гарантированный максимум. Эта особенность может
использоваться в целях экономии энергии, так как ее потребление возрастает
с увеличением частоты синхронизации. Кроме того, для снижения потребления
энергии используются еще два программно-управляемых режима работы с
экономией энергии: Ожидание (WAIT) и Останов (STOP). Благодаря этим режимам
ОЭВМ MC68HC705C8 находит особо широкое применение в автомобильной технике,
а также в аппаратуре, питающейся от батарей.
Индекс "705С8" в названии говорит о принадлежности данной ОЭВМ к серии
С, в которую входят микросхемы общего назначения с наиболее гибкими
параметрами. Цифра 8 в названии говорит о том, что это наиболее
быстродействующая версия, допускающая частоту внешней синхронизации 8 МГц.
Цифры 705 говорят об отличии от базовой модели МС68НС05С8 в конфигурации
памяти, состоящее в том, что в базовой модели предусмотрено 8К ПЗУ, а в ее
модификации МС68НС705С8 ПЗУ заменено на ППЗУ с ультрафиолетовым стиранием
либо однократно программируемым ППЗУ.
Кроме упомянутых ОЭВМ, серия М68НС05 включает в себя ОЭВМ с драйверами
жидкокристалических, вакуумных и других дисплеев, ЦАП и АЦП, таймерами,
ОЭВМ с различными конфигурациями памяти, быстродействием и другими
отличительными особенностями.


СОДЕРЖАНИЕ



Страница

Введение 1

СОДЕРЖАНИЕ 2

1. Программная модель ОЭВМ МС68НС705С8. 3

1.1 Внутренняя структура. 3

1.2 Память. 5

1.3 Регистры. 6

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

1.5. Набор команд. 15

2. Аппаратные средства 28

2.1 Линии (порты) параллельного ввода-вывода. 28

2.2 Система прерываний. 29

2.3 Таймер и связанные с ним устройства. 33

2.4 Последовательный интерфейс 36

3. Специальные режимы работы. 47

3.1 RESET. 47

3.2 Режимы с пониженным энергопотреблением. 49

Приложение 1.

Расположение и назначение выводов МС68НС705С8. 51

Приложение 2.

Типовая схема подключения МС68НС705С8. 54



1. Программная модель ОЭВМ МС68НС705С8.


1.1 Внутренняя структура.


ОЭВМ имеет ряд отличительных особенностей в аппаратном и программном
обеспечении, которые перечислены ниже:
Особенности аппаратного обеспечения:
КМОП-структура с высокой плотностью компоновки;
8-разрядная архитектура;
режимы малого потребления энергии (Ожидание, Останов, и режим
сохранения данных);
24 двунаправленные линии ввода-вывода.
7 однонаправленных линий (только ввод).
2 линии ввода-вывода таймера.
тактовая частота при питании 5В - до 2.1 МГц, при питании 3В - до1
Мгц;
встроенный 16-битовый таймер;
последовательный интерфейс связи;
последовательный периферийный интерфейс;
программируемое ПЗУ с ультрафиолетовым стиранием, либо однократно
программируемое ПЗУ;
возможность конфигурирования памяти;
система слежения за временем выполнения программы;
диспетчер тактовой частоты;
записанная в ПЗУ программа самозагрузки для программирования;
программируемый режим обнаружения внешних прерываний;
возможность прерываний от внешнего устройства, таймера и
последовательного интерфейса;
начальная установка по включению и по внешнему сигналу;
одно питающее напряжение 3-6 В (режим сохранения данных при 2 В);
встроенный генератор тактовой частоты;
40-выводной корпус с двумя рядами выводов либо 44-выводной квадратный
пластиковый корпус.

Особенности программного обеспечения:
совместимость снизу вверх в программном обеспечении с M146805 КМОП
серией;
эффективный набор команд;
гибкость в управлении с помощью прерываний;
режимы индексной адресации для организации массивов и таблиц;
обмен с внешними устройствами, включенными в адресное пространство;
два режима низкого потребления энергии.

Внутренняя структура ОЭВМ представлена на рисунке 1-1. Блок
центрального процессора содержит 8-битовое арифметико-логическое устройство
(АЛУ), аккумулятор, индексный регистр, регистр признаков, указатель стека,
программный счетчик и управляющую логику. На кристалле также расположены
системы памяти: загрузочное ПЗУ, программируемое ПЗУ и ОЗУ.
В состав систем ввода-вывода входят асинхронный последовательный
интерфейс связи (SCI), последовательный периферийный интерфейс (SPI) и 16-
битовый программируемый таймер. Диспетчер синхронизации и таймер времени
выполнения программы следят, соответственно, за наличием сигнала
синхронизации на внутренней шине (в противном случае происходит RESET), а
также за временем выполнения прикладной программы, которая должна
периодически сбрасывать таймер, в противном случае система считает, что
произошел сбой программы и формирует RESET. Тактовый генератор может
функционировать как с использованием внешнего сигнала синхронизации, так и
с помощью кварцевого резонатора. Схемы подключения для обоих случаев
приведены в Приложении 2.

[pic]

Рис. 1-1. Внутренняя структура ОЭВМ.

24 линии ввода-вывода объединены в порты А, В и С, которые могут быть
запрограммированы либо на ввод, либо на вывод информации. 7 линий порта D
работают только в режиме ввода информации, но могут программно
переключаться на работу в режиме обслуживания последовательного интерфейса
связи (Serial Communication Interface, далее SCI), либо в режиме
последовательного периферийного интерфейса (Serial Periferal Interface,
далее SPI).
Выводы TCAP и TCMP позволяют с помощью таймера реализовывать функции
фиксации времени внешнего события (например, для измерения длительности
внешнего импульса), и выполнения какой-либо операции в определенный момент
времени (например, для формирования выходного сигнала в реальном времени).
Вывод Vpp используется для программирования ППЗУ, и при нормальной
работе соединяется с выводом питания Vdd. Рассмотрим подробнее каждый из
элементов ОЭВМ.



1.2 Память.


Память ОЭВМ MC68HC705C8 включает в себя от 176 до 304 байт ОЗУ, 240
байт ПЗУ и от 7600 до 7744 байт программируемого ПЗУ. МС68HC705C8 имеет 4
различных типа конфигурации памяти, как показано на рис. 1-2.

[pic]

Рис. 1-2 Карта памяти ОЭВМ

Конфигурация задается записью в биты RAM0 и RAM1 регистра конфигурации
OPTION, находящегося по адресу 1FDFH. При начальной установке эти биты
сбрасываются. Состояние битов RAM0 и RAM1 определяет объем ОЗУ и ПЗУ,
который может быть выбран из следующей таблицы:

|RAM0 |RAM1 |ОЗУ байт |ППЗУ байт |
|0 |0 |176 |7744 |
|1 |0 |208 |7696 |
|0 |1 |272 |7648 |
|1 |1 |304 |7600 |



Таким образом, конфигурация памяти может быть изменена в любой момент в
ходе выполнения программы.


1.3 Регистры.

Как видно из структурной схемы, ОЭВМ содержит следующие регистры: 5
регистров ЦП, регистр конфигурации, программный регистр (регистр команд
программирования). Назначение и структуру этих регистров мы рассмотрим в
этом разделе. Кроме того, в состав ОЭВМ входят регистры портов, регистры
таймера, последовательных интерфейсов и другие, все эти регистры будут
рассмотрены в соответствующих разделах.
Регистр конфигурации ( OPTION ), имеющий адрес 1FDFH во встроенной
памяти, используется для задания режима обнаружения внешних прерываний
(IRQ), разрешения/запрета доступа к ППЗУ, а также конфигурации памяти.

Регистр конфигурации
|Назначение |RAM0 |RAM1 |0 |0 |SEC |- |IRQ/ |0 |
|Установка |0 |0 |0 |0 |* |- |1 |0 |
|после RESET | | | | | | | | |

*бит SEC является ячейкой ППЗУ.

Ниже приводятся функции каждого бита регистра конфигурации.
RAM0-бит конфигурации памяти.
при RAM0=1 32 байта с адреса 0030H становятся равными 0. Адреса с
0020 по 002F резервируются. Таким образом, удаляется 48 байт ППЗУ, которые
были расположены по этим адресам. Этот бит может быть записан и прочитан
в любой момент, таким образом, конфигурация памяти может быть изменена во
время выполнения программы.
при RAM0=0 добавляется 48 байт ППЗУ по адресам 0020H-004FH.
RAM1-бит конфигурации памяти.
при RAM1=1 96 байт, начиная с адреса 0100H, становятся равными FFH.
Бит может быть записан и прочитан в любой момент.
при RAM1=0-добавляется 96 байт ППЗУ c адреса 0100H.
SEC-бит блокировки загрузчика. Он показывает, откуда будет
производиться начальная загрузка ОЭВМ: из ППЗУ либо из внешнего источника
по последовательному интерфейсу.
при SEC=1 загрузчик блокирован. ОЭВМ работает в однокристальном
режиме.
при SEC=0 загрузчик разблокирован, управление после RESET передается
встроенной программе, осуществляющей начальную загрузку встроенной памяти
из внешнего устройства по последовательному интерфейсу. Бит SEC физически
расположен в ППЗУ и не изменяется при общем сбросе.
IRQ -режим обнаружения запросов на прерывание от внешних устройств.
при IRQ=1 вывод IRQ/ микропроцессора реагирует как на низкий уровень
сигнала на этом выводе, так и на перепад из высокого уровня в низкий.
при IRQ=0 ОЭВМ реагирует только на перепад из высокого в низкий
уровень на входе IRQ.

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



Регистр команд программирования
|Назначение |0 |0 |0 |0 |0 |LAT |0 |PGM |
|Установка |0 |0 |0 |0 |0 |0 |0 |0 |
|после RESET | | | | | | | | |

LAT-бит определяет доступ к триггеру программирования ППЗУ.
при LAT=1-разрешен доступ к данным ППЗУ и адресной шине для
программирования на следующем цикле записи байта.
при LAT=0-доступ запрещен.
Бит LAT может быть записан и прочитан.
PGM-разрешение/запрет программирования.
при PGM=1 напряжение программирования подается на ППЗУ.
при PGM=0 напряжение программирования отключено.
Если бит LAT сброшен, PGM не может быть установлен в 1.

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

[pic]

Рис. 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-3 представлены
команды, которые используют режим прямой адресации к памяти.



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

|Команда |Мнемоника |
|Сложение с флагом переноса |ADC |
|Сложение |ADD |
|Логическое И |AND |
|Арифметический сдвиг влево |ASL |
|Арифметический сдвиг вправо |ASR |
|Сбросить бит в ячейке памяти |BCLR |
|Битовое сравнение ячейки памяти и аккумулятора |BIT |
|Переход, если бит n установлен |BRCLR |
|Переход, если бит n сброшен |BRSET |
|Сбросить бит в памяти |BCLR |
|Установить бит в памяти |BSET |
|Очистить |CLR |
|Сравнение аккумулятора и ячейки памяти |CMP |
|Дополнение |COM |
|Сравнение индексного регистра и ячейки памяти |CPX |
|Декремент на 1 |DEC |
|Исключающее ИЛИ ячейки памяти и аккумулятора |EOR |
|Инкремент на 1 |INC |
|Безусловный переход |JMP |
|Вызов подпрограммы |JSR |
|Загрузить аккумулятор содержимым ячейки памяти |LDA |
|Загрузить индексный регистр содержимым ячейки памяти |LDX |
|Логический сдвиг влево |LSL |
|Логический сдвиг вправо |LSR |
|Изменение знака |NEG |
|ИЛИ |ORA |
|Циклический сдвиг влево через флаг переноса |ROL |
|Циклический сдвиг вправо через флаг переноса |ROR |
|Вычитание с флагом переноса |SBC |
|Записать содержимое аккумулятора в ячейку памяти |STA |
|Записать содержимое индексного регистра в ячейку памяти |STX |
|Вычитание |SUB |
|Проверка знака и равенства нулю |TST |

Пример:
0200 В6 50 LDA $50 Загрузить аккумулятор содержимым
ячейки с адресом $50
Производимые действия:
$0200 $B6 [1]
$0201 $50 [2] и [3]
Объяснение:
[1] процессор читает код операции $В6 - загрузить аккумулятор,
используя прямую адресацию.
[2] процессор считывает $50 по адресу $0201. $50 интерпретируется
как младший байт 16-ти разрядного адреса.
[3] процессор считывает содержимое ячейки $0050 и помещает его в
аккумулятор.
Команды, использующие расширенную адресацию, имеют доступ к любому
адресу памяти и представлены в табл. 1-4. Длина таких команд составляет три
байта, первый из которых является кодом операции, второй и третий байт -
соответственно старшим и младшим байтом адреса операнда.

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

|Команда |Мнемоника |
|Сложение с флагом переноса |ADC |
|Сложение |ADD |
|Логическое И |AND |
|Битовое сравнение ячейки памяти и аккумулятора |BIT |
|Сравнение аккумулятора с ячейкой памяти |CMP |
|Сравнение индексного регистра с ячейкой памяти |CPX |
|Исключающее ИЛИ ячейки памяти и аккумулятора |EOR |
|Безусловный переход |JMP |
|Вызов подпрограммы |JSR |
|Загрузка аккумулятора содержимым ячейки памяти |LDA |
|Загрузка индексного регистра содержимым ячейки памяти |LDX |
|ИЛИ |ORA |
|Вычитание с флагом переноса |SBC |
|Записать содержимое аккумулятора в память |STA |
|Записать содержимое индексного регистра в память |STX |
|Вычитание |SUB |

Пример:
0200 С6 06 Е5 LDA $05E5 Загрузить аккумулятор содержимым
ячейки с адресом $05Е5
Производимые действия:
$0200 $C6 [1]
$0201 $05 [2]
$0202 $E5 [3]
Объяснение:
[1] процессор читает код операции $C6 - загрузить аккумулятор,
используя расширенную адресацию.
[2] процессор считывает $06 по адресу $0201. $06 интерпретируется
как старший байт 16-ти разрядного адреса.
[3] процессор считывает $E5 по адресу $0202. $E5 интерпретируется
как младший байт 16-ти разрядного адреса
[4] процессор считывает содержимое ячейки $06E5 и помещает его в
аккумулятор.

Индексная адресация без смещения часто используется для перемещения по
таблице или хранения адреса обращения к RAM или регистру ввода/вывода. В
таблице 1-5 приведен список команд, которые используют индексную адресацию
без смещения. Команды, использующие индексную адресацию без смещения, имеют
длину один байт и имеют доступ к переменным в пределах первых 256 ячеек
памяти. Индексный регистр в этом случае содержит младший байт адреса
операнда. ЦП автоматически устанавливает в $00 старший байт адреса
операнда, поэтому эти команды имеют доступ к адресам от $0000 до $00FF.



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

|Команда |Мнемони|Без |8 бит |16 бит |
| |ка |смещ |смещ |смещ |
|Сложение с флагом переноса |ADC | | | |
|Сложение |ADD | | | |
|Логическое И |AND | | | |
|Арифметический сдвиг влево |ASL | | | |
|Арифметический сдвиг вправо |ASR | | | |
|Битовое сравнение ячейки памяти и аккумулятора|BIT | | | |
|Очистить |CLR | | | |
|Сравнение аккумулятора с ячейкой памяти |CMP | | | |
|Дополнение |COM | | | |
|Сравнение индексного регистра с ячейкой памяти|CPX | | | |
|Декремент на 1 |DEC | | | |
|Исключающее ИЛИ ячейки памяти и аккумулятора |EOR | | | |
|Инкремент на 1 |INC | | | |
|Безусловный переход |JMP | | | |
|Вызов подпрограммы |JSR | | | |
|Загрузка аккумулятора содержимым ячейки памяти|LDA | | | |
|Загрузка индексного регистра содержимым ячейки|LDX | | | |
|памяти | | | | |
|Логический сдвиг влево |LSL | | | |
|Логический сдвиг вправо |LSR | | | |
|Изменение знака |NEG | | | |
|ИЛИ |ORA | | | |
|Циклический сдвиг влево через флаг переноса |ROL | | | |
|Циклический сдвиг вправо через флаг переноса |ROR | | | |
|Вычитание с флагом переноса |SBC | | | |
|Запись содержимого аккумулятора в ячейку |STA | | | |
|памяти | | | | |
|Запись содержимого индексного регистра в |STX | | | |
|ячейку памяти | | | | |
|Вычитание |SUB | | | |
|Проверка знака и равенства нулю |TST | | | |

Команды с индексной адресацией с 8-разрядным смещением имеют длину два
байта, что позволяет обращаться к операндам в пределах первых 511 байт.
Процессор складывает беззнаковый байт в индексном регистре с беззнаковым
байтом, следующим за кодом операции. Полученная сумма является адресом
операнда. Эта команда позволяет адресовать операнд в пределах от $0000 до
$01FE. Индексную адресацию с 8-разрядным смещением удобно применять для
выбора k-го элемента из n элементов таблицы. Таблица может начинаться с
любого адреса в пределах первых 256 байт и занимать адреса до $01FE. Число
k обычно записывается в индексный регистр. Адресом начала таблицы является
байт, следующий за кодом операции. В Таблице 1-5 приведен список команд,
использующих индексную адресацию с 8-разрядным смещением.
Индексную адресацию с 16-разрядным смещением удобно использовать для
выбора k-го элемента в таблице из n элементов в любой точке адресного
пространства. Как и в случае прямой и расширенной адресации, ассемблер
фирмы Motorola определяет автоматически наиболее короткую форму индексной
адресации. В Таблице 1-5 приведен список команд, которые используют
индексную адресацию с 16-разрядным смещением.

Относительная адресация используется только командами перехода и
битового сравнения. ЦП вычисляет адрес перехода посредством сложения байта,
следующего за кодом операции, с содержимым программного счетчика, если
выполняется условие перехода. Если условие перехода не выполняется,
процессор переходит на выполнение следующей команды. Чтобы определить
направление перехода, смещение является знаковой величиной, дополнение
байта до двух дает переход в пределах от -127 до 128 байт от адреса
команды, следующей за командой перехода. При использовании ассемблера фирмы
Motorola программисту не требуется вычислять смещение, потому что ассемблер
вычисляет требуемое смещение и проверяет длину перехода на допустимость. В
Таблице 1-6 перечислены команды, которые используют относительную
адресацию.

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

|Команда |Мнемоника |
|Перейти, если сброшен флаг переноса |BCC |
|Перейти, если флаг переноса установлен |BCS |
|Перейти, если операнды равны |BEQ |
|Перейти, если сброшен перенос из младшей тетрады |BHCC |
|Перейти, если установлен флаг переноса из младшей тетрады |BHCS |
|Перейти, если больше |BHI |
|Перейти, если больше или равно |BHS |
|Перейти, если активизирован вход запроса прерывания |BIH |
|Перейти, если не активизирован вход запроса прерывания |BIL |
|Перейти, если меньше |BLO |
|Перейти, если меньше или равно |BLS |
|Перейти, если бит маскирования прерывания сброшен |BMC |
|Перейти, если результат отрицательный |BMI |
|Перейти, если бит маскирования прерывания установлен |BMS |
|Перейти, если не равно |BNE |
|Перейти, если результат положительный |BPL |
|Безусловный переход |BRA |
|Перейти, если сброшен бит n |BRCLR |
|Перейти, если установлен бит n |BRSET |
|Нет перехода |BRN |
|Вызов подпрограммы |BSR |
1.5. Набор команд.

Команды процессора можно разделить на следующие группы:
команды пересылки данных
команды передачи управления
арифметические и логические команды, битовые операции.
Рассмотрим работу команд каждой группы подробнее. При этом будем
использовать следующие условные знаки;
Операнды:
()-содержимое регистра или ячейки памяти
-загружается из
-извлекается из стека
-загружается в стек
* -логическое умножение (И)
+-арифметическое сложение (кроме тех случаев, где используется
как ИЛИ в логических операциях)
х-умножение
-отрицание
Регистры:
AC -аккумулятор
CCR -регистр признаков
Х -индексный регистр
РС -программный счетчик
РСН -старший байт программного счетчика
PCL -младший байт программного счетчика
SP -указатель стека
Память и адресация:
М -ячейка памяти либо ее содержимое в зависимости от режима
адресации
Rel -относительное смещение
Биты регистра признаков:
H, I, N, C, Z-в соответствии с главой 1.3
Состояние определенных бит до выполнения операции (n=7, 6, ... , 0):
An -бит n аккумулятора
Xn -бит n индексного регистра
Mn-бит n ячейки памяти
Состояние определенных бит после выполнения операции:
Rn-бит n результата
При описании изменения состояния флагов в регистре признаков после
буквенного обозначения флага будет следовать формула, определяющая
состояние регистра после данной команды. Подразумевается, что если флаг не
упоминается, то его содержимое не изменяется.


Команды пересылки данных.


LDA Загрузить аккумулятор содержимым ячейки памяти.
Команда пересылает содержимое ячейки памяти в аккумулятор. В
соответствии с записываемыми в аккумулятор данными устанавливаются биты в
регистре признаков.
N R7 .
Устанавливается, если установлен старший бит аккумулятора, в противном
случае сбрасывается.
Z R7*R6*R5*R4*R3*R2*R1*R0
Устанавливается, если в аккумуляторе $00, иначе сбрасывается.

LDX Загрузить индексный регистр содержимым ячейки памяти.
Команда пересылает содержимое ячейки памяти в индексный регистр. В
соответствии с записываемыми данными устанавливаются разряды регистра
признаков.
N R7
Устанавливается, если установлен старший бит индексного регистра, в
противном случае сбрасывается.
Z R7*R6*R5*R4*R3*R2*R1*R0
Устанавливается, если в индексный регистр записано число $00, иначе
сбрасывается.

STA Записать содержимое аккумулятора в ячейку памяти.
Переместить содержимое аккумулятора в ячейку памяти. Содержимое
аккумулятора остается неизменным.
N R7
Устанавливается, если установлен старший бит аккумулятора, в противном
случае сбрасывается.
Z R7*R6*R5*R4*R3*R2*R1*R0
Устанавливается, если в аккумулятор записано число $00, иначе
сбрасывается.

STX Записать содержимое индексного регистра в ячейку памяти.
Переместить содержимое индексного регистра в ячейку памяти. Содержимое
индексного регистра не изменяется.
N R7
Устанавливается, если установлен старший бит в пересылаемом байте, в
противном случае сбрасывается.
Z R7*R6*R5*R4*R3*R2*R1*R0
Устанавливается, если пересылаемое число $00, иначе сбрасывается.


TAX Записать содержимое аккумулятора в индексный регистр
X(AC)
Записать в индексный регистр содержимое аккумулятора. Содержимое
аккумулятора не изменяется.
Регистр признаков не изменяется.

TXA Записать содержимое индексного регистра в аккумулятор
AC(X)
Записать в аккумулятор содержимое индексного регистра. Содержимое
индексного регистра не изменяется.
Регистр признаков не изменяется.

CLR Обнулить.
AC $00 или M $00 или X $00
В аккумулятор, индексный регистр или ячейку памяти записывается ноль.
N 0
Z = 1

RSP Инициализация указателя стека.
SP$00FF
Установить указатель стека на вершину стека.
Регистр признаков не изменяется.


Команды передачи управления.

Команды передачи управления включают в себя команды безусловного
перехода, команды вызова подпрограммы и возврата из нее, а также команды
условных переходов (ветвления) по различным условиям (состояниям флагов) и
по состоянию битов. Команды ветвления вызывают переход по состоянию любого
бита из первых 256 ячеек памяти. Эти команды имеют длину три байта и
являются комбинацией прямой и относительной адресации. Прямо адресуется бит
для тестирования, адрес которого содержится во втором байте команды. Третий
байт представляет собой знаковое смещение для перехода по состоянию бита.
Процессор вычисляет адрес перехода, складывая содержимое программного
счетчика и третьего байта команды, если условие перехода выполняется.
Условие тестирования битов содержится в коде операции. Диапазон перехода -
от -128 до +127 байт от адреса следующей за командой ячейки памяти.
Процессор, кроме того, записывает тестируемый бит в бит переноса регистра
условий (СС).

BRA Безусловный переход.
Команда осуществляет безусловный переход по адресу, вычисляемому по
приведенной ниже формуле, где Rel - относительное смещение, которое
содержится в последнем байте кода команды.
PC (PC)+$0002+Rel.
В исходном тексте адрес перехода задается абсолютным значением,
символом или выражением, которое может быть вычислено ассемблером (заметим,
что правила записи меток или выражений для вычисления адреса перехода могут
различаться при использовании разных ассемблеров). Ассемблер вычисляет
смещение Rel из абсолютного адреса перехода и текущего значения
программного счетчика PC.
Регистр признаков не изменяется.

BRN Нет перехода.
Команда используется как двухбайтовый вариант команды NOP (нет
операции) при отладке программ, когда нужно отменить действие команды
перехода, и выполняется за 3 цикла. Действие этой команды противоположно
действию команды BRA.
Регистр признаков не изменяется.

BRCLR Переход, если бит n ячейки памяти равен 0.
PC (PC)+$0003+Rel Если бит n ячейки M равен нулю.
Команда проверяет бит n ячейки памяти M на равенство нулю. Переход
осуществляется, если проверяемый бит равен нулю. M может быть в адресном
пространстве RAM или регистров ввода/вывода в пределах от $0000 до $00FF
(таким образом используется прямая адресация). Бит C регистра признаков
устанавливается в состояние тестируемого бита.
C Устанавливается, если Mn=1, иначе сбрасывается.

BRSET Переход, если бит n ячейки памяти равен 1.
PC (PC)+$0003+Rel Если бит n ячейки M равен единице.
Команда проверяет бит n ячейки памяти M на равенство единице. Переход
осуществляется, если проверяемый бит равен единице. M может быть в адресном
пространстве RAM или регистров ввода/вывода в пределах от $0000 до $00FF
(таким обрезом используется прямая адресация). Бит C регистра признаков
устанавливается в состояние тестируемого бита.
C Устанавливается, если Mn=1, иначе сбрасывается.

BHI Переход, если больше.
PC(PC)+$0002+Rel Если (C)+(Z)=0
т.е. если (AC)>(M) (беззнаковые двоичные числа)
Возникает переход, если оба бита C и Z регистра признаков сброшены в
ноль. Когда команда BHI используется сразу после выполнения команд CMP или
SUB, возникает переход, если беззнаковое число, содержащееся в
аккумуляторе, больше, чем беззнаковое число в ячейке памяти

Новинки рефератов ::

Реферат: Попередельный метод учета затрат и калькулирования себестоимости (Бухгалтерский учет)


Реферат: Документированный процесс движения кадров (Менеджмент)


Реферат: Конституция Российской Федерации и ее развитие (Право)


Реферат: Совершенствование системы мотивации как инструмент повышения эффективности деятельности организаций (Менеджмент)


Реферат: Отчет о магистерской практике (АО "Норд") (Аудит)


Реферат: Исследование влияния телевизионных программ на агрессию у подростков (Педагогика)


Реферат: Курс лекций по административному праву (Административное право)


Реферат: Герб (История)


Реферат: Золотое колцо Росии. Ярославль (Архитектура)


Реферат: Визуальный HTML-редактор DreamWeaver. Разработка Web-дизайна (Компьютеры)


Реферат: Латинские афоризмы (Литература)


Реферат: Иоганн Себастьян Бах (Музыка)


Реферат: Авторская позиция в романе И. Бабеля "Конармия" и способы ее выражения (Литература : русская)


Реферат: История призрения детей в России (Педагогика)


Реферат: Закладка плодово-ягодного сада в Омском районе на 100 га (Сельское хозяйство)


Реферат: Господарський договір (Право)


Реферат: Понятие и значение производительности труда (Социология)


Реферат: Оборона Порт-Артура (История)


Реферат: Системы стабилизации и ориентации (Авиация)


Реферат: Реклама турагенства (География)



Copyright © GeoRUS, Геологические сайты альтруист