Читайте также:
|
|
Программы можно условно разделить на системные и прикладные. Системные программы служат для обеспечения работы операционной системы, для работы с внешними устройствами и т. д. Основной задачей прикладных программ является решение задач пользователя.
Работа ЭВМ при выполнении прикладной задачи производится в соответствии с принципами программного управления (принципами фон Неймана):
· информация кодируется в двоичном виде и разделяется на байты;
· информация хранится в оперативной памяти, причем каждый байт имеет свой номер, или адрес;
· программа представляется в виде последовательности команд, каждая из которых записывается с помощью целого числа байт;
· порядок команд однозначно определяется программой.
Каждая прикладная программа обрабатывает некоторые данные с помощью последовательности команд. Команды делятся на арифметико-логические, пересылочные, управляющие порядком следования команд и некоторые другие, используемые системными программами. Арифметико-логические команды предназначены для выполнения вычислений, работы с отдельными битами и проверки различных условий. Пересылочные операции копируют данные, расположенные по заданному адресу, в другую область памяти, то есть осуществляют операции присваивания. Команды, управляющие порядком следования команд (или команды передачи управления), позволяют указать центральному процессору, какую команду необходимо выполнить следующей. С помощью команд передачи управления можно организовать цикл, условное ветвление (оператор if языков высокого уровня) или вызов подпрограммы. Без их применения программа последовательно выполняет одну команду за другой.
Большинство команд МП 8086 состоят из кода операции и одного или двух адресов данных. Данные в этом случае часто называют операндами команды. В некоторых командах адреса операндов задавать не требуется, так как адрес известен заранее или может быть вычислен внутри процессора. В таких случаях говорят, что адрес задан неявно. Всего при использовании данного МП можно обращаться к 220 байтам. Диапазон возможных адресов данных называют адресным пространством процессора. Таким образом, адресное пространство Intel 8086 составляет 220 = 1048576 байт, или 1 мегабайт. Байты в МП 8086 объединяются по два в слова. Слово может начинаться как с четного, так и с нечетного адреса.
Все адресное пространство разбито на блоки (сегменты) по 64 килобайта, или 65536 байт, причем сегменты могут перекрываться (рис. 1.1).
16 байт
I
II
III
Рис. 1.1. Взаимное расположение сегментов памяти
Обычно программа для операционной системы MS-DOS состоит из трех сегментов: кода, данных и стека. Сегмент кода содержит команды программы, сегмент данных – обрабатываемые данные. Стек – это область памяти, которая служит для хранения информации, необходимой для вызова подпрограмм. Стек также иногда применяется для временного хранения данных. Он находится в сегменте стека. Размер сегментов кода, данных и стека не должен превышать 65536 байт для каждого сегмента.
Адрес операнда формируется как сумма адреса начала сегмента и смещения операнда внутри сегмента (рис. 1.2).
![]() |
Сегмент
![]() |
Адрес начала сегмента Смещение операнда от начала сегмента
Рис. 1.2. Общая схема базирования адресов
Операнд в МП 8086 может быть одно- и двухбайтовый. Пусть двухбайтовый операнд хранится в памяти по адресу А. В этом случае младший байт операнда (содержащий младшие биты) находится по адресу А, а старший – по адресу А+1. Например, число 7F88h (где суффикс h означает, что число шестнадцатеричное) в памяти будет располагаться так:
Адрес | Байт |
А | 88h |
A+1 | 7Fh |
Аналогичным образом в памяти хранятся другие данные и машинные коды команд программы.
Дата добавления: 2014-12-19; просмотров: 122 | Поможем написать вашу работу | Нарушение авторских прав |