- •1. История эвм и основные определения
- •1.1 История создания эвм
- •1.2 Принципы фон Неймана
- •1.3 Особенности современных компьютеров
- •1.4 Развитие программного обеспечения
- •1.5 История пэвм
- •1.6 Появление ibm pc
- •1.7 Принцип открытой архитектуры
- •1.8 Развитие компьютеров ibm pc
- •2. Основы цифровой электроники
- •2.1. Числа, используемые в цифровой электронике. Двоичная система счисления
- •2.1.1. Перевод чисел из десятичной системы счисления в двоичную и обратно
- •2.1.2. Двоичная арифметика
- •2.1.3. Представление отрицательных чисел в двоичной системе счисления
- •2.1.4. Представление чисел c плавающей точкой в двоичной системе счисления
- •2.2 Другие системы счисления, используемые в микропроцессорной технике
- •2.2.1 Шестнадцатеричная система счисления
- •2.2.2 Двоично-десятичная система счисления
- •2.3. Базовые логические элементы
- •2.3.1. Формы описания логических элементов
- •2.3.2. Универсальный характер логического элемента и-не.
- •2.3.3. Логические элементы с числом входов больше двух
- •2.3.4. Интегральные схемы
- •2.3.5. Конструирование схемы по таблице истинности.
- •2.4. Классификация цифровых схем
- •2.5. Комбинационные схемы
- •2.5.1. Мультиплексор
- •2.5.2. Демультиплексор
- •2.5.3 Дешифратор
- •2.5.4 Дешифратор двоичного кода в сигнал семисегментного индикатора
- •2.6. Последовательные схемы
- •2.6.1 Асинхронный rs – триггер
- •2.6.2 Синхронный d-триггер
- •2.7 Двоичные счетчики
- •2.8 Регистры
- •2.9 Арифметические устройства.
- •2.9.1 Устройства сложения
- •2.9.1.1 Полусумматор
- •2.9.1.2 Полный сумматор
- •2.9.1.3. Многоразрядный сумматор
- •2.9.2 Устройства выполняющие операцию вычитания
- •2.9.2.1.Полувычитатель
- •2.9.2.2. Полный вычитатель
- •2.9.2.3. Многоразрядный вычитатель
- •2.9.3 Умножители
- •2.9.3.1. Многотактный умножитель сложения и сдвига
- •2.9.3.2 Матричный умножитель
- •3 Программируемые логические интегральные схемы (плис)
- •3.1 Классификация сбис пл
- •3.2 Язык описания аппаратуры ahdl
- •If high then
- •Io: bidir
- •Variable
- •Variable
- •If load then
- •4 Микропроцессорная техника
- •4.1 Общая структура микроЭвм.
- •4.2 Микропроцессорный комплект бис кр580 или intel8080.
- •4.3 Архитектура микропроцессора кр580ик80 (i8080)
- •4.3.1 Состав бис
- •4.3.2 Описание выводов микросхемы
- •4.3.3 Команды микропроцессора кр580ик80
- •4.3.3.1 Группа команд пересылки
- •4.3.3.2 Группа арифметических команд
- •4.3.3.3 Группа логических команд
- •4.3.3.3 Группа команд передачи управления
- •4.3.3.4. Группа команд работы со стеком, ввода-вывода и управления регистрами процессора;
- •4.4 Программируемый контроллер прерывания (пкп) кр580вн59
- •4.5 Архитектура программируемого таймера кр580ви53
- •4.6 Архитектура бис программируемого адаптера параллельного интерфейса кр580вв55.
- •4.7 Программируемый контроллер режима прямого доступа к памяти кр580 вт57.
- •4.8 Программируемый контроллер последовательного интерфейса кр580вв51
- •5. Сопряжение цифровых и аналоговых устройств.
- •5.1 Цифроаналоговые преобразователи
- •5.1.1.1 Цап с широтно-импульсной модуляцией
- •5.1.1.2 Последовательный цап на переключаемых конденсаторах
- •5.1.2 Параллельные цап
- •5.1.2.1 Цап с суммированием весовых токов
- •5.1.2.2 Параллельный цап на переключаемых конденсаторах (цап с суммированием зарядов)
- •5.1.2.3 Цап с суммированием напряжений
- •5.1.3 Параметры цап
- •5.1.3.1 Статические параметры
- •5.1.3.2 Динамические параметры
- •5.1.3.3 Шумы цап
- •5.2. Аналого цифровые преобразователи
- •5.2.1 Параллельные ацп
- •5.2.2 Последовательные ацп
- •5.2.2.1 Ацп последовательного счета
- •5.2.2.2 Ацп последовательного приближения
- •5.2.2.3 Интегрирующие ацп
- •5.2.2.3.1 Ацп многотактного интегрирования
- •5.2.2.3.2 Сигма-дельта ацп
- •5.2.2.3.3 Преобразователи напряжение-частота
- •5.2.3 Последовательно-параллельные ацп
- •5.2.3.1 Многоступенчатые ацп
- •5.2.3.2 Многотактные последовательно-параллельные ацп
- •5.2.3.3 Конвеерные ацп
- •5.2.4 Параметры ацп
- •6. Интерфейсы, применяемые в микропроцессорных системах и микроконтроллерах.
- •6.3 IrDa (http://www.Gaw.Ru)
- •6.4 Ieee 1284 (Centronics, ecp, epp)
- •Interfaces.By.Ru
- •6.9 1Wire
- •6.10. Jtag
- •6.11 Механизмы кодирования передаваемых в последовательном коде данных
4.3.3.2 Группа арифметических команд
Арифметические команды обеспечивают выполнение операций сложения и вычитания, а также изменение операнда на единицу.
Арифметические операции можно разделить на следующие группы:
операции с одним операндом, регистром или регистровой парой;
операции с двумя операндами, причем в качестве первого операнда всегда используется аккумулятор, а в качестве второго операнда может быть регистр, ячейка памяти или константа, которая в этом случае записывается в следующем за кодом команды байте.
Арифметические команды изменяют состояние битов условий флагового регистра.
Команды сложения
При выполнении команды сложения в аккумулятор заносится результат сложения аккумулятора и операнда-источника. Операндом-источником может быть регистр, ячейка памяти или констант.
К этим командам относятся:
ADD SRC - сложение содержимого аккумулятора с регистром или ячейкой памяти, например ADD В означает, что в аккумулятор помещается результат сложения аккумулятора и регистра В (А<-А+В)
ADC SRC - сложение содержимого аккумулятора, операнда-источника и бита CY признакового регистра F (A<- A+SRC+CY(F)).
Пример: сложить 2 двухбайтных числа (35A0 и 67В2).
35А0
+67В2
9D52
Адрес |
Команда |
Содержание ячейки памяти |
Комментарий |
0800 |
LXI B |
|
BC<-35A0
|
0801 |
A0 |
A0 | |
0802 |
35 |
35 | |
0803 |
LXI D |
|
DE<-67B2
|
0804 |
B2 |
| |
0805 |
67 |
| |
0806 |
MOV A, C |
|
A <- A0 |
0807 |
ADD E |
|
A<- A+E |
0808 |
MOV C, A |
|
C< -A |
0809 |
MOV A, B |
|
A<- B |
080А |
ADC D |
|
A<- A+D+CY |
080В |
MOV B, A |
|
B<- A |
ADI D8 - сложение содержимого аккумулятора с константой, при этом константа содержится во втором байте команды (A< A+D8);
ACI D8 - сложение содержимого аккумулятора с константой и битом CY признакового регистра F.
Пример: составить программу, рассмотренную в предыдущем примере, но считая второе слагаемое константой.
Адрес |
Команда |
Содержание ячейки памяти |
Комментарий |
0800 |
LXI B |
|
BC<-35A0
|
0801 |
A0 |
A0 | |
0802 |
35 |
35 | |
0803 |
MOV A, C |
|
A<-C |
0804 |
ADI |
|
A <- A+B2 |
0805 |
B2 |
В2 |
|
0806 |
MOV C, A |
|
C<- A |
0807 |
MOV A, B |
|
|
0808 |
ACI |
|
A<- A+67+CY |
0809 |
67 |
67 |
|
080А |
MOV B, A |
|
B<- A |
DAD RP - сложение содержимого регистровой пары RP с регистровой парой НL. Результат сложения записывается в пару НL, эта команда изменяет только состояние бита СУ в признаковом регистре (например: DAD B: HL<- HL+BC).
Команды вычитания.
При выполнении команд вычитания в аккумулятор заносится результат вычитания операнда-источника из аккумулятора. Операндом-источником может быть регистр, ячейка памяти или константа, которая записывается в следующем за кодом команды байте.
К этим командам относятся:
SUB SRC-вычитание из содержимого аккумулятора содержимого регистра или ячейки памяти, адрес которой определяется содержимым регистровой пары HL (A< A-SRC).
SBB SRC-вычитание из содержимого аккумулятора операнда-источника и бита CY (A< A-SRC-CY(F)).
SUI D8-вычитание константы из содержимого аккумулятора;
SBI D8-вычитание из содержимого аккумулятора значения бита CY и константы.
Эти команды изменяют все биты условий.
Команды изменения операнда на 1.
Команды изменения операнда на единицу предназначены для увеличения или уменьшения операнда на единицу. Операндом может являться содержимое регистра, ячейки памяти или регистровой пары.
Эти команды часто применяются для организации счетчиков или изменения адресов, используемых при косвенной адресации (обработка массивов, матриц, строк и т.п.).
INR SRC - увеличение на 1 содержимого регистра или ячейки памяти, адресуемой содержимым регистровой пары HL;
DCR SRC - уменьшение на единицу содержимого регистра или ячейки памяти.
Команды INR и DCR изменяют состояние всех флагов, кроме бита CY.
INX RP-увеличение на единицу содержимого регистровой пары. В этом случае число в регистровой паре рассматривается как 16-разрядный операнд;
DCX RP-уменьшение на единицу содержимого регистровой пары.
Команды INX и DCX не изменяют состояние битов условий.
DAA – команда десятичной коррекции. Применяется для работы с двоично-десятичными числами.
При выполнении команды DAA 8-битное число в аккумуляторе рассматривается как две 4-битные десятичные двоично-кодированные цифры. Коррекция содержимого аккумулятора производится по следующим правилам:
- если значение младшей тетрады аккумулятора больше 9 или флаг вспомогательного переноса АС равен 1, то к содержимому аккумулятора добавляется число 6;
- если значение старшей тетрады аккумулятора больше 9 или если признак переноса CY равен 1, то к содержимому аккумулятора добавляется число 96 или к старшей тетраде прибавляется 6.
Команды сдвигов.
Команды сдвигов выполняются над расширенным 9-битным операндом, состоящим из аккумулятора и бита CY признакового регистра F. Операции сдвигов часто используются для умножения на число, представляющее собой степень 2, т.е. на числа 2; 4; 8; 0,5; 0,25; 0,125...
Сдвиг на один разряд влево равносилен умножению операнда на 2, а сдвиг вправо - делению операнда на 2. При этом необходимо помнить, что младший разряд при сдвиге влево (или старший разряд при сдвиге вправо) должен заполняться 0 для положительных чисел и 1 - для отрицательных.
К командам сдвига относятся:
RRC - циклический сдвиг вправо. Значение младшего бита аккумулятора заносится одновременно в бит CY признакового регистра F и старший разряд аккумулятора, остальные биты сдвигаются на один разряд вправо;
RLC - циклический сдвиг влево. Значение старшего бита заносится одновременно в бит CY признакового регистра F и младший бит аккумулятора, остальные разряды сдвигаются на один разряд влево;
RAR - арифметический сдвиг вправо. Значение младшего бита заносится в бит CY. Значение бита CY заносится в старший разряд аккумулятора, остальные биты сдвигаются на один разряд вправо;
RAL - арифметический сдвиг влево. Значение старшего бита заносятся в бит CY. Значение бита CY заносится в младший разряд аккумулятора, остальные биты сдвигаются на один разряд влево.