Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Табл. 0-1. Формат регистра флагов (F).
D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
S | Z | 0 | AC | 0 | P | 1 | CY (C) |
Здесь:
S – флаг знака (принимает значение старшего разряда результата). S = 1 – если самый значащий бит результата равен единице, т. е. число отрицательное, иначе S = 0.
Z – флаг нуля. Z = 1, если результат операции нулевой, иначе Z = 0.
AC – флаг вспомогательного переноса (переноса между тетрадами байта). Если при выполнении операций происходит перенос из младшей тетрады в старшую, то AC = 1, иначе AC = 0. Для команд логического умножения признак вспомогательного переноса (AC) принимает значение 4-го разряда результата (аккумулятора): (AC) f A(3)
P – флаг четности (или паритета). Если число единиц в байте результата четно, то P = 1, иначе P = 0. Не следует путать понятие паритета с понятием четности в общеупотребительном смысле (для чисел, представленных в десятичной системе счисления).
CY (C) – флаг переноса (или заема), CY = 1 – если операция привела к переносу из старшего разряда (или заему в старший разряд), иначе CY = 0.
В состав АЛУ входит схема десятичной коррекции (ДК). Она предназначена для того, чтобы под воздействием специальной команды интерпретировать результат выполнения двоичной операции как результат операции десятичной арифметики. Для этого к старшей тетраде в схеме ДК прибавляется число 6, кроме тех случаев, когда-либо не возникал перенос ни из одной тетрады и содержимое старшей и младшей тетрад находится в пределах 0 – 9 и 0 – 9 (или 0 – 8 и A – F) соответственно, либо не было переноса из старшей тетрады, содержащей число 0 – 9 и был перенос из младшей. К младшей тетраде одновременно также прибавляется число 6, кроме случая отсутствия переноса из младшей тетрады, содержащей число 0 – 9. Межтетрадные связи при этом не разрываются. Десятичная коррекция может использоваться, например, в случае, когда необходимо вывести данные на сегментные индикаторы.
Рис. 0-3. Структура памяти МП КР580.
Структура памяти и форматы команд МП КР580
Сам процессор не содержит памяти, поэтому при построении микропроцессорной системы управления (МПСУ) необходимо обеспечить подключение к МП определенного (достаточного для решения задач управления) количества памяти в виде ПЗУ и ОЗУ.
Если в процессе управления МП будет выполнять подпрограммы или процедуры обработки прерываний, то определенная часть оперативной памяти будет использоваться в качестве стека (стековой памяти). В данном МП используется "перевернутый" стек, т. е. при передаче в стек слова значение указателя стека (адрес вершины стека) уменьшается, а при извлечении слова из стека – увеличивается.
На Рис. 0-3 показана структура памяти МП КР580. В системе команд МП КР580 имеются однобайтные, двухбайтные и трехбайтные команды. Форматы команд процессора показаны на Рис. 0-4 (см. стр. 12). Формат команды и тип адресации задаются в команде неявно кодом операции. Адрес команды определяется адресом ее первого байта.
В общем случае команда содержит код операции (КОП) и одно или более адресных полей, в зависимости от того, сколько элементов данных участвует в выполнении операции.
Некоторые команды имеют также сопутствующие данные (непосредственная адресация) – непосредственно за первым байтом команды располагаются данные. При прямой адресации (абсолютная адресация) команды в своем теле содержат адреса.
Код операции всегда находится в первом байте вместе с описанием метода адресами и информацией о регистрах. Если поля "источник" и "приемник" не используются по своему назначению, то они применяются для расширения кода операции.
Рис. 0-4. Форматы 1-, 2-х и 3-хбайтных команд МП КР580.
В командах условного перехода 3-разрядный код CCC задает в трехбайтной команде условие передачи управления по адресу, указанному в команде. Возможны задания восьми вариантов условия перехода: по наличию переноса, отсутствию переноса, нулевому, ненулевому, положительному, отрицательному, четному и нечетному результатам.
Справочная информация по микропроцессору МП КР580
В Табл. 0-2 приведены условные обозначения, широко применяемые в справочной литературе при описании команд процессора(ов). Эти условные обозначения позволяют кратко изложить отличительные особенности каждой команды и используются при описании системы команд МП КР580. В Табл. 0-3 указаны широко употребляемые в командах процессора условные обозначения для описания условий.
Табл. 0-2. Условные обозначения, широко применяемые при описании команд процессора.
f, g | Операция пересылки. |
n | Операция обмена. |
AND | Конъюнкция (И). |
OR | Дизъюнкция (ИЛИ). |
XOR | Сумма по модулю 2 (исключающее ИЛИ). |
INV | Инверсия (НЕ). |
' | Команда оказывает воздействие на все признаки. |
'' | Команда оказывает воздействие на признак С. |
''' | Команда оказывает воздействие на все признаки, кроме признака С. |
R, R1 | Содержимое регистров А, B, C, D, E, H, L или ячейки памяти М (HL). Большее число тактов команды соответствует работе с операндом, хранящимся в памяти. |
M | Содержимое ячейки памяти М (HL). |
YZ, RP | Содержимое регистровой пары BC (B), DE (D), HL (H) или регистра SP. |
YZ’, RP’ | Содержимое регистровой пары BC (B) или DE (D). |
YZ’’, RP’’ | Содержимое регистровой пары BC (B), DE (D), HL (H) или PSW. |
(R) | Содержимое регистра. |
(RP) | Содержимое регистровой пары. |
M(RP) | Содержимое ячейки памяти по адресу, хранящемуся в регистровой паре RP. |
RPH | Старший регистр в регистровой паре. |
RPL | Младший регистр в регистровой паре. |
PORT | 8-разрядный адрес порта ввода/вывода. |
I(PORT) | Содержимое порта ввода с адресом PORT. |
O(PORT) | Содержимое порта вывода с адресом PORT. |
(N) | Содержимое порта ввода или вывода с номером N (N = 0,1; ...; 255). |
SP | Содержимое указателя стека перед выполнением команды. |
N | Один из восьми уровней прерывания: 0, 1, 2, 3, 4, 5, 6, 7. |
D8 | 8-разрядный операнд (содержимое второго байта двухбайтной команды). |
D16 | 16-разрядный операнд (содержимое второго и третьего байта команды). |
ADR, A16 | 16-разрядный адрес в трехбайтной команде. |
M( ) | Содержимое ячейки памяти по адресу, указанному в скобках. |
-CON, -COND | Часть мнемоники команды определяющая условие передачи, вызова и возврата из подпрограммы (-CON в мнемонике заменятся на NZ, Z, NC, C, PO, PE, P или M). В скобках указано число тактов команды при выполнении условия передачи управления (см. Табл. 0-3). |
{ } | В фигурных скобках указывается число тактов, затрачиваемых микропроцессором на выполнение этой команды. |
МЦ | Количество машинных циклов. |
МТ | Количество машинных тактов. |
Ф | Формат команды в байтах. |
Табл. 0-3. Широко употребляемые в командах процессора условные обозначения для описания признаков (условий).
NZ – не нуль (Z = 0). | NC - нет переноса (CY = 0). |
Z – нуль (Z = 1). | C – перенос (CY = 1). |
PO – нечетный паритет (P = 0). | P - положительное (S = 0). |
PE – четный паритет (P = 1). | M - отрицательное (S = 1). |
Система команд КР580.
В Табл. 0-4 – Табл. 0-14 приведена справочная информация о системе команд МП КР580, разбитая по подгруппам команд.
Табл. 0-4. Однобайтные пересылки.
MOV R1, R | {5/7} | R | g | R1 |
MVI R, D8 | {7/10} | D8 | g | R |
STAX YZ | {7} | A | g | M(YZ) |
LDAX YZ | {7} | M(YZ) | g | A |
STA ADR | {13} | A | g | M(ADR) |
LDA ADR | {13} | M(ADR) | g | A |
Табл. 0-5. Двухбайтные пересылки.
LXI YZ, D16 | {10} | D16 | g | YZ |
SHLD ADR | {16} | H L | g g | M(ADR+1) M(ADR) |
LHLD ADR | {16} | M(ADR) M(ADR+1) | g g | L H |
PUSH YZ | {11} | YZ SP-2 | g g | M(SP-1) M(SP-2) SP |
POP YZ | {10} | M(SP) M(SP+1) SP+2 | g g | YZ SP |
(POP' PSW) | {10} | M(SP) M(SP+1) SP+2 | g g | YZ SP |
SPHL | {5} | HL | g | SP |
Табл. 0-6. Обмен байтами.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |


