- •Оглавление
- •1. История развития эвм. Системы счисления. 1.1. История развития эвм.
- •1.2.Системы счисления
- •2. Схемотехника эвм 2.1. Логические элементы
- •2.2.Триггеры
- •0011 011100101101 Выбор модуля Адрес слова в модуле
- •5.Система команд микропроцессора 8080
- •Признаки состояния
- •Формат описания
- •Группа команд пересылки
Признаки состояния
Команды МП 8080 оперируют с пятью признаками состояния: НУЛЬ (Zero), ЗНАК (Sign), ПАРИТЕТ (Parity), ПЕРЕНОС (Carry), ВСПОМОГАТЕЛЬНЫЙ ПЕРЕНОС (Auxiliary Carry), каждый из которых занимает 1 бит регистра признаков в ЦП. Признак имеет место, если данный бит установлен в состояние 1; признак отсутствует, если данный бит установлен в состояние 0.
Если не рассматривать все возможные случаи, при которых команды изменяют содержимое регистра признаков, то признаки формируются следующим образом:
НУЛЬ: если результат выполнения команды нулевой, то признак устанавливается в 1, в противном случае в 0.
ЗНАК: если старший значащий бит результата операции имеет значение 1, то признак устанавливается в 1, в противном случае в 0.
ПАРИТЁТ: если сумма по модулю 2 всех разрядов результата операции равна нулю (если число единиц в результате четное), то признак устанавливается в 1, в противном случае (если число единиц в результате нечетное) — в 0.
ПЕРЕНОС: если в результате выполнения команды из старшего разряда возникает перенос (при суммировании) или займ (при вычитании или сравнении), то признак устанавливается в 1, в противном случае — в 0.
ВСПОМОГАТЕЛЬНЫЙ ПЕРЕНОС: если в результате выполнения операции возникает перенос из разряда 3 в разряд 4, то признак устанавливается в 1, в противном случае — в 0. Этот признак возникает при выполнении операций сложения, вычитания, инкрементирования, декрементирования, сравнения и логических операций, но используется только по команде ОАА (десятичная коррекция) при выполнении операций сложения и инкрементирования десятичных двоично-кодированных чисел.
Ниже приводятся символы и аббревиатуры, которые используются при описании команд МП 8080.
СИМВОЛ ЗНАЧЕНИЕ
Accumulator Регистр А addr 16-битный адрес data 8-битные данные data 16 16-битные данные byte 2 Второй байт команды
Byte 3 Третий байт команды
Port 8-битный адрес УВВ
r, r1, r2 Один из регистров A, B, C, D, E, H, L
DDD, SSS Биты, адресующие один из регистров A, B, C, D, E, H, L (DDD - принимающий регистр, SSS – передающий регистр): DDD или SSS ИМЯ РЕГИСТРА 111 A 000 B 001 C 010 D 011 E 100 H 101 L rp Одна из регистровых пар: символ B задает пару регистров B, C. При этом регистр B является старшим, а С – младшим Символ D задает пару регистров D, E. Регистр D является старшим, а E – младшим. Символ H задает пару регистров H, L. Регистр H является старшим, а L – младшим.
Символы SP задают 16-битный регистр-указатель стека.
RP Биты, адресующие одну из регистровых пар B, D, H, S, P: RP РЕГИСТРОВАЯ ПАРА
00 B,C 01 D,E
10 H,L
11 S,P
rh Первый (старший) регистр выбранной регистровой пары
rl Второй (младший) регистр выбранной регистровой пары
PC 16-битный счетчик команд (PCH и PCL используются для обозначения старшего и младшего байт адреса соответственно)
SP 16-битный регистр-указатель стека (SPH и SPL используются для обозначения старшего и младшего байт адреса соответственно)
rm Бит m регистра r (нумерация бит регистров – от 0 до 7 справа налево)
Z, S, P, CY, AC Признаки состояния: НУЛЬ, ЗНАК, ПАРИТЕТ, ПЕРЕНОС и ВСПОМОГАТЕЛЬНЫЙ ПЕРЕНОС соответственно
( ) Содержимое ячейки памяти или регистра, символическое имя которых заключено в скобках
-
Оператор пересылки
-
Логическое И
-
Исключающее ИЛИ
-
Логическое ИЛИ
+ Сложение
- Вычитание в дополнительном коде
* Умножение
Оператор обмена
¯ Обратный код [например, ( )]
n Вектор прерывания (число от 0 до 7)
NNN Двоичный код вектора прерывания (от 000 до 111)