"П.Нортон "Программно-аппаратная организация компьютера IBM PC"" - читать интересную книгу автора

параметры, что можно сделать с помощью стека. В третьем приложении к этой
книге описывается стыковка программ на Паскале с программами на ассемблере
и там можно увидеть, как стек используется для передачи параметров.
Стеки настолько существенны для работы компьютеров, что можно только
удивляться их относительно недавнему включению в конструкцию компьютеров.
Серия компьютеров 360, которая являлась основной продукцией фирмы "IBM"
начиная с 1960-тых годов, не реализовывала концепцию стека, что сильно
отразилось на возможностях всей этой серии. Существует красивая легенда о
том, что руководитель, исключивший стековую архитектуру из конструкции
компьютеров фирмы "IBM", был в последствии "сослан" во внутрифирменный
аналог Сибири.
Использование стеков может быть гораздо шире, чем описывалось выше.
Микропроцессор 8088 использует стек только для хранения контекста
приостановленных программ. Для этой же цели стек использует большинство
компьютеров. Можно, однако, полностью переориентировать способ работы
компьютера с командами и данными, так что все будет основываться на
использовании стека. Такая архитектура, ориентированная на использование
стека, была разработана фирмой "Барроуз" и все, кто хочет понять на
сколько радикально может отличаться компьютер с такой архитектурой, от
обычных компьютеров, подобных IBM/PC, может обратиться к описаниям
компьютеров фирмы "Барроуз".
Имеется одна подробность в использовании стека микропроцессором 8088,
о которой необходимо знать, если Вам потребуется воспользоваться
содержимым стека или проверить рабочий стек. Стек продвигается от верхних
адресов памяти к нижним. Это означает , что старое содержимое стека имеет
большие абсолютные адреса памяти, чем указатель стека SP. Так, например,
чтобы извлечь параметры подпрограммы, помещенные в стек, используются
положительные смещения (это описано в 3 приложении к этой книге). Что
касается свободной части стека, к которой обычно обращаются только
командами записи или извлечения из стека, а не по прямому адресу памяти,
то для нее потребовалось бы отрицательное смещение относительно указания
стека.


3.7. Порт

Под портом понимают совокупность средств унифицирующих и упрощающих
способ взаимодействия микропроцессора 8088 с внешним миром. Порт
обеспечивает единственную возможность приема или передачи данных любым
обьектам кроме памяти.
Всем устройствам, с которыми должен взаимодействовать процессор,
таким как клавиатура, дисководы или динамик, выделяется собственный порт.
Порт представляет собой гипотетический путь данных, которому присвоен
номер порта и который может принимать или передавать данные по команде
процессора. Когда микропроцессор 8088 должен передавать данные в порт,
используется команда OUT, которой указывается номер порта и передаваемые
данные,имеющие длину один или два байта. Фактически команда OUT
приказывает конкретному порту принять данные. Команда IN работает
аналогично, только данные считываются из порта. Микропроцессор 8088 не
может определить какие порты задействованы, а какие нет, так что все