- •А.Ю.Бальзамов о.В.Шишов
- •Введение
- •1. Представление информации в цифровых вычислительных машинах и микропроцессорных системах
- •1.1. Системы счисления
- •1.2. Перевод чисел из одной системы счисления в другую
- •1.3. Формыпредставлениячисел
- •Итак, диапазон представимых чисел в нормальной форме равен
- •1.4. Кодирование символов и знаков
- •1.5. Выполнение арифметических операций над числами с фиксированной запятой
- •1.6. Выполнение арифметических операций над числами с плавающей запятой
- •2. Система команд микропроцессора кр580вм80а
- •2.1. Программная модель микропроцессора
- •2.2. Форматы команд и способы адресации
- •2.3. Условные обозначения в системе команд
- •2.4. Команды передачи данных
- •2.4.1. Команды пересылки данных регистр - регистр или регистр - ячейка памяти с косвенной адресацией
- •Xchg (Exchange h and l with d and e)
- •2.4.2. Команды загрузки непосредственных данных
- •2.4.3. Команды обращения к памяти с прямой адресацией
- •2.4.4. Команды обращения к стеку
- •Xthl (Exchange stack top with h and l)
- •Inr r (Increment)
- •2.5.2. Арифметические команды с данными двойной длины
- •Inx rp (Increment register pair)
- •2.5.3. Арифметические команды с непосредственными данными
- •2.5.4. Логические команды
- •2.5.7. Вспомогательные команды
- •2.6. Команды управления
- •2.6.1. Команды безусловной передачи управления
- •2.6.2. Команды условной передачи управления
- •2.6.3. Специальные команды управления
- •2.7. Машинные коды команд
- •3. Средства отладки программного обеспечения
- •3.1. Учебно-отладочное устройство "Электроника-580"
- •3.1.1. Общие сведения
- •3.1.2. Устройство и работа уоу
- •3.1.3. Клавиатура пульта управления
- •3.1.4. Индикатор адреса и данных
- •3.1.5. Просмотр и изменение содержимого памяти и регистров
- •3.1.6. Работа с контрольными точками
- •3.1.7. Выполнение программ пользователя
- •3.2. Кросс-средства отладки программного обеспечения
- •3.2.1. Составление исходной программы
- •3.2.2. Программа ассемблирования avmac
- •3.2.3. Программа редактора связей avlink
- •3.2.4. Программа отладчика-симулятора avsim
- •4. Задания и практические рекомендации по выполнению лабораторных работ
- •4.1. Лабораторная работа №1. Простые вычисления
- •4.2. Лабораторная работа №2. Управление индикацией
- •4.3. Лабораторная работа №3. Объединение программ
- •4.4. Лабораторная работа №4. Сложные вычисления
- •4.5. Пример программы к лабораторной работе №1
- •4.6. Пример программы к лабораторной работе №2
- •4.7. Рекомендации по построению программы к лабораторной работе № 3
- •4.8. Пример программы к лабораторной работе №4
- •5. Задания для контрольных работ
- •5.1. Контрольная работа №1. Системы счисления и коды
- •5.2. Контрольная работа №2. Микропроцессорные системы
- •Вариант 9
- •Библиографический список
- •Содержание
- •Программирование и отладка программ на ассемблере Практикум по основам микропроцессорной техники
- •430000, Г. Саранск, ул. Советская, 24
2.5.7. Вспомогательные команды
DAA (Decimal Adjust Accumulator)
Десятичная коррекция. 8-битное число в аккумуляторе рассматривается как две 4-битные десятичные двоично-кодированные цифры. При этом выполняется коррекция результата операции сложения по следующим правилам:
1. Если значение младших 4 бит аккумулятора больше девяти или если признак вспомогательного переноса АС равен 1, то к содержимому аккумулятора добавляется число 6.
2. Если значение старших 4 бит аккумулятора больше десяти или если признак переноса CY равен 1, то к содержимому старших 4 бит аккумулятора добавляется число 6.
Циклов: 1
Тактов: 4
Признаки: Z, S, Р, CY, АС
СМР R (Compare)
<A> - <R>
Сравнение - содержимое регистра R вычитается из содержимого аккумулятора, причем содержимое аккумулятора остается без изменений. Регистр признаков устанавливается в зависимости от результата вычитания.
Циклов: 1
Тактов: 4
Признаки: Z, S, Р, CY, АС
CPI D8 (Compare immediate)
<A> - D8
Сравнение с константой - содержимое второго байта команды вычитается из содержимого аккумулятора причем содержимое аккумулятора остается без изменений. Регистр признаков устанавливается в зависимости от результата вычитания.
Циклов: 2
Тактов: 7
Признаки: Z, S, Р, CY, АС
STC (Set carry)
1 CY
Значение признака переноса CY установить в 1. Остальные признаки не действуют.
Циклов:1
Тактов: 4
Признаки: CY
CMC (Complement carry)
__
<CY> CY
Инвертировать значение разряда CY регистра признаков. Остальные признаки не действуют.
Циклов: 1
Тактов: 4
Признаки: CY
2.6. Команды управления
Назначение команд этой группы — изменение обычного последовательного хода программы, а также выполнение управляющих операций над самим микропроцессором. Команды этой группы не изменяют состояния разрядов регистра признаков.
2.6.1. Команды безусловной передачи управления
JMP ADR (Jump)
ADR PC
Безусловный переход. Передать управление команде, адрес которой определяется третьим и вторым байтами текущей команды.
Циклов: 3
Тактов: 10
Признаки: отсутствуют
PCHL (Jump H and L indirect - move H and L to PC)
<HL> PC
Безусловный переход с косвенной адресацией через регистровую пару H. Содержимое регистра H занести в восемь старших разрядов счетчика команд PC, содержимое регистра L занести в восемь младших разрядов команд PC.
Циклов: 1
Тактов: 5
Признаки: отсутствуют
CALL ADR (Call)
<PC> M(<SP>-1)M(<SP>-2); <SP>-2SP; ADRPC
Переход к подпрограмме. Старшие восемь разрядов адреса очередной команды загружаются в ячейку памяти, адрес которой на единицу меньше исходного содержимого регистра SP. Младшие восемь разрядов адреса очередной команды засылаются в ячейку памяти, адрес которой на две единицы меньше исходного содержимого регистра SP. Содержимое регистра SP уменьшается на 2. Управление передается команде, адрес которой определяется вторым и третьим байтами текущей команды.
Циклов: 5
Тактов: 17
Признаки: отсутствуют
RET (Return)
<M(<SP>)M(<SP>+1)> PC; <SP>+2SP
Возврат из подпрограммы. Содержимое ячейки памяти, адрес которой определяется содержимым регистра SP, заносится на место младших восьми разрядов в счетчик команд PC. Содержимое ячейки памяти, адрес которой на единицу больше исходного содержимого регистра SP, заносится на место старших восьми разрядов в счетчик команд PC. Содержимое регистра SP увеличивается на 2.
Циклов: 3
Тактов: 10
Признаки: отсутствуют
RST X (Restart)
<PC> M(<SP>-1)M(<SP>-2); <SP>-2SP; 8*XPC
Переход к фиксированной подпрограмме. Восемь старших разрядов адреса очередной команды заносятся в ячейку памяти, адрес которой на единицу меньше исходного содержимого регистра SP. Восемь младших разрядов адреса очередной команды заносятся в ячейку памяти, адрес которой меньше исходного содержимого регистра SP на 2. Содержимое регистра SP уменьшается на 2. Управление передается команде, адрес которой определяется как номер фиксированной подпрограммы X, умноженный на 8 (для X=0 адрес – 0000H, для X=1 адрес – 0008H, для X=2 адрес – 0010H, для X=3 адрес – 0018H, …, для X=7 адрес – 0038H).
Циклов: 3
Тактов: 11
Признаки: отсутствуют