Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава13.doc
Скачиваний:
27
Добавлен:
14.04.2019
Размер:
485.38 Кб
Скачать

Адресация регистров и ячеек памяти в пк

Адресация операндов в командах программы может быть:

  • непосредственной;

  • прямой;

  • косвенной;

  • ассоциативной;

  • неявной.

Непосредственная адресация заключается в указании в команде самого значения операнда, а не его адреса.

Прямая адресация состоит в указании в команде непосредственно абсолютного или исполнительного адреса операнда.

Косвенная адресация имеет в виду указание в команде регистра(ов) или ячейки памяти, в которых находятся абсолютный, исполнительный адрес операнда или их составляющие.

Ассоциативная адресация — указание в команде не адреса, а идентифицирующего содержательного признака операнда, подлежащего выборке (применяется в ассоциативных запоминающих устройствах).

Неявная адресация — адреса операнда в команде не указано, но он подразумевается кодом операции.

Адресация ячеек основной памяти ПК имеет две важных разновидности: относительную и стековую.

Относительная адресация

Абсолютный (Aинд) адрес формируется как сумма адресов исполнительного (Aисп) и сегментного (Aсегм):

Aабс = Aсегм + Aисп.

Aсегм — 20-битовый начальный адрес сегмента, который является увеличенным в 16 раз (сдвинутым на 4 бита влево) 16-битовым адресом сегмента A'сегм, хранящемся в одном из 16-битовых сегментных регистров. Начальный адрес сегмента в таком варианте всегда кратен 16 байтам, и он может быть полностью идентифицирован значением A'сегм (сегмент всегда состоит из целого числа параграфов, а параграф равен 16 байтам), то есть:

Aсегм = 16 · A'сегм = A'сегм0000.

16-битовый исполнительный адрес может в ПК представлять собой сумму 3-х адресов:

Aисп = Aсмещ[+Aбаз][+Aинд]

  • Aсмещ — 16-битовый адрес смещения относительно начала сегмента (или относительно базы, если есть Aбаз);

  • Aбаз — 16-битовый адрес смещения базы адреса операнда относительно начала сегмента;

  • Aинд — адрес индекса (или просто индекс) — дополнительная составляющая адреса операнда, использующаяся часто при программировании циклических процессов с массивами и таблицами. Индекс должен быть непосредственно задан в соответствующем регистре МПП.

При адресации данных могут использоваться все составляющие адреса:

Aабс = Aсегм + Aисп = Aсегм + Aсмещ[+Aбаз][+Aинд]

Aсегм = 16 · A'сегм, A'сегм берется из регистра DS по умолчанию или из регистра ES, если это указано в программе. Aбаз и Aинд берутся, соответственно, из регистров BX и индексных (SI или DI), а Aсмещ в явном или неявном виде указываются в программе.

При адресации команд программы могут использоваться только две составляющие адреса:

Aабс = Aсегм + Aисп = Aсегм + Aсмещ = A'сегм · 16 + Aсмещ

A'сегм берется из регистра CS, а Aсмещ — из регистра IP.

Стековая адресация

В стековой памяти (стеке) доступ к ячейкам памяти не произвольный, а по принципу «последний записанный операнд первым считывается» (FILO).

Aабс = Aсегм + [Aбаз] + Aсмещ

16-битовый адрес сегмента A'сегм берется из регистра SS, смещения относительно начала сегмента стека автоматически считываются из регистров BP (смещение базы стека — Aбаз) и SP (смещение активной ячейки стека, в которую записывается или из которой считывается информация, — «вершины стека» относительно базы — Aсмещ).

В защищенном (многопрограммном) режиме работы микропроцессора начальные адреса сегментов хранятся в таблицах дескрипторов и имеют длину 24 или 32 бита (в зависимости от типа МП) В сегментных регистрах в этом режиме хранятся селекторы, содержащие адресные ссылки на соответствующие таблицы дескрипторов.

Программное обеспечение компьютеров

Стоимость программного обеспечения (software) современного ПК существенно превосходит стоимость аппаратных средств (hardware). Вся совокупность программ входит в так называемое программное обеспечение компьютера. Состав программного обеспечения ПК является важнейшей его функциональной характеристикой. Программное обеспечение (ПО) — это совокупность программ, необходимых для решения задач пользователя, и программ, позволяющих наиболее эффективно использовать вычислительную технику, обеспечивая пользователям наибольшие удобства в работе и минимум затрат труда на программирование задач и обработку информации.

Программное обеспечение принято делить на системное (базовое) и прикладное.

  • системное ПО предназначено для повышения эффективности создания программ обработки информации и их реализации на компьютере, а также для предоставления пользователям определенных услуг по работе с ресурсами компьютера;

  • прикладное программное обеспечение (ППО) предназначено для решения определенной проблемной задачи пользователя или класса таких задач (ППО часто называют программным приложением или просто приложением).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]