Архитектура микропроцессорной системы. Состав машинных команд и основы программирования микропроцессорной системы на ассемблере. Булатов В.Н. - 17 стр.

UptoLike

Составители: 

Далее, на рисунке 3 видно, что сегментные и адресные регистры
доступны со стороны шины данных. А поставленные рядом с именами
регистров числаэто номера (или адреса), на которые они (если они указаны
в коде операции) должны откликаться.
Следующая группа регистров: AX, BX, CX и DX. Из рисунка
3 следует, что они подключены к ВШДвнутренней шине данных, и что
они могут функционировать как 16-разрядные регистры в количестве
4 штук или как 8-разрядные в количестве 8 штук. Размер регистра
полностью определяется кодом операции команды. Рядом с именем
регистра в скобках указан его номер (адрес). Эти регистры в командах
используются самым различным образом. Поэтому они получили
название: РОНырегистры общего назначения. Правда, есть одно
небольшое примечание: ввод-вывод данных осуществляется только через
регистр AL (или AX), поэтому этот регистр еще иногда называют
аккумулятором. Хотя для МП 8086 это совершенно нехарактерно. Дело в
том, что МП 8086 «вырос» из МП 8080, а там регистр A используется как
накопитель результата всех арифметико-логических операций.
Следующий элемент архитектуры: АЛУ арифметико-логическое
устройство. Все АЛУ различных типов микропроцессоров в функциональном
отношении практически не отличаются друг от друга. Они реализуют, как
правило, до 8 функций: сложение, вычитание и логические операции. Как
следует из рисунка 3, результат АЛУ выдается на ВШД, а это значит, что
приемником результата может быть практически любой регистр МП и шина
данных (это для ОЗУ).
Кроме этого, выход АЛУ 6-ю разрядами подключен еще к одному
региструрегистру флагов F. Слово «флаг» в данном случае жаргонное слово.
По смыслу, в этом регистре хранится слово состояния процессора (PSW —
processor status word), где каждый из разрядов регистра F хранит результат
какой-либо операции или указание для действия определенной команды.
Забегая вперед, можно привести пример: если в результате сложения получился
ноль, то разряд ZF (флаг ZF) установится в «1». Или, если флаг IF установлен в
«0», то будут запрещены все аппаратные прерывания.
Каждый флаг (или чаще говорят: флажок), что называется, на вес золота.
Если число РОНов может быть больше или меньше, то каждый флаг строго
индивидуален и его появление вызвано только необходимостью запомнить
нужную особенность результата, полученную при выполнении команды АЛУ.
Подробнее о флаговом регистредалее. А пока о той части флагов, которые
устанавливаются результатами арифметико-логических операций.
CF — устанавливается в единицу (взводится), если произошло
переполнение формата. Например, складываются два байта (слова), и
происходит переполнение: старший разряд суммы выпадает за пределы байта
(слова). Чтобы его не потерять (как в школе учили: 8+7 пишем 5 и один
держим в уме), он автоматически попадает в СF.
PF — устанавливается, если двоичное число в младшем байте состоит из
четного числа единиц. Используется для контроля ввода-вывода. Дело в том,
17
      Далее, на рисунке 3 видно, что сегментные и адресные регистры
доступны со стороны шины данных. А поставленные рядом с именами
регистров числа — это номера (или адреса), на которые они (если они указаны
в коде операции) должны откликаться.
      Следующая группа регистров: AX, BX, CX и DX. Из рисунка
3 следует, что они подключены к ВШД — внутренней шине данных, и что
они могут функционировать как 16-разрядные регистры в количестве
4 штук или как 8-разрядные в количестве 8 штук. Размер регистра
полностью определяется кодом операции команды. Рядом с именем
регистра в скобках указан его номер (адрес). Эти регистры в командах
используются самым различным образом. Поэтому они получили
название: РОНы —регистры общего назначения. Правда, есть одно
небольшое примечание: ввод-вывод данных осуществляется только через
регистр AL (или AX), поэтому этот регистр еще иногда называют
аккумулятором. Хотя для МП 8086 это совершенно нехарактерно. Дело в
том, что МП 8086 «вырос» из МП 8080, а там регистр A используется как
накопитель результата всех арифметико-логических операций.
      Следующий элемент архитектуры: АЛУ — арифметико-логическое
устройство. Все АЛУ различных типов микропроцессоров в функциональном
отношении практически не отличаются друг от друга. Они реализуют, как
правило, до 8 функций: сложение, вычитание и логические операции. Как
следует из рисунка 3, результат АЛУ выдается на ВШД, а это значит, что
приемником результата может быть практически любой регистр МП и шина
данных (это для ОЗУ).
      Кроме этого, выход АЛУ 6-ю разрядами подключен еще к одному
регистру — регистру флагов F. Слово «флаг» в данном случае жаргонное слово.
По смыслу, в этом регистре хранится слово состояния процессора (PSW —
processor status word), где каждый из разрядов регистра F хранит результат
какой-либо операции или указание для действия определенной команды.
Забегая вперед, можно привести пример: если в результате сложения получился
ноль, то разряд ZF (флаг ZF) установится в «1». Или, если флаг IF установлен в
«0», то будут запрещены все аппаратные прерывания.
      Каждый флаг (или чаще говорят: флажок), что называется, на вес золота.
Если число РОНов может быть больше или меньше, то каждый флаг строго
индивидуален и его появление вызвано только необходимостью запомнить
нужную особенность результата, полученную при выполнении команды АЛУ.
Подробнее о флаговом регистре — далее. А пока о той части флагов, которые
устанавливаются результатами арифметико-логических операций.
      CF — устанавливается в единицу (взводится), если произошло
переполнение формата. Например, складываются два байта (слова), и
происходит переполнение: старший разряд суммы выпадает за пределы байта
(слова). Чтобы его не потерять (как в школе учили: 8+7 — пишем 5 и один
держим в уме), он автоматически попадает в СF.
      PF — устанавливается, если двоичное число в младшем байте состоит из
четного числа единиц. Используется для контроля ввода-вывода. Дело в том,
                                                                            17