МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Motorola MC68HC705C8

    |Установить флаг переноса |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 результата

    Страницы: 1, 2, 3, 4, 5, 6, 7


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.