Сочинение на тему Изучение архитектуры и модели программирования 8086
- Опубликовано: 29.06.2020
- Предмет: Информационная наука, Наука
- Темы: Архитектура, Компьютерное программирование
Архитектура 8086
Процессор 8086 делится на две части:
- BIU (шинный интерфейсный модуль)
- EU (исполнительная единица)
- BIU (шинный интерфейсный модуль)
- Получить инструкцию или данные из памяти.
- Запишите данные в память.
- Запишите данные в порт.
- Чтение данных из порта.
- Сегмент кода (CS): используется для адресации области памяти в сегменте кода памяти, где хранится код операции программы.
- Сегмент данных (DS). Регистр, который указывает на сегмент памяти, в котором хранятся данные.
- Сегмент стека (SS). Регистр используется для указания местоположения стека в сегменте стека памяти и для временного хранения данных в стеке.
- Дополнительный сегмент (ES): адрес сегмента, который является дополнительным сегментом данных, используемым для хранения данных.
- Исполнительная единица (ЕС)
- Чтобы сообщить BIU, откуда следует извлечь инструкцию или данные.
- Расшифровать инструкции.
- Выполнить инструкцию.
Функция BIU – отправлять адрес по адресу:
Различные разделы BIU приведены ниже
Сегментные регистры
BIU имеет 4 сегментных регистра по 16 бит каждый, то есть CS, DS, SS и ES.
Указатели памяти используются для указания или адресации определенной области памяти в памяти.
Очередь инструкций IQ (Очередь)
Чтобы увеличить скорость выполнения, BIU извлекает из памяти до шести байтов инструкций.
Затем все шесть байтов хранятся в 6-байтовом регистре «первым пришел – первым вышел», который называется очередью команд IQ. Затем все байты должны передаваться в ЕС один за другим.
Эта операция предварительной выборки BIU может выполняться параллельно с операцией выполнения EU, что повышает скорость выполнения инструкции.
Функции исполнительного блока:
ЕС содержит схемы управления для выполнения различных внутренних операций.
Декодер в ЕС декодирует инструкцию, извлеченную из памяти, для генерации другого внутреннего или внешнего управляющего сигнала, необходимого для выполнения операций.
ЕС имеет 16-битный ALU, который может выполнять арифметические и логические операции как с 8-битными, так и с 16-битными данными.
Регистр флага в ЕС является 16-битным. Эти регистры содержат девять активных флагов.
Пять флагов в младшем байте регистра аналогичны регистру флага 8085.
8086 флаги разделены на две части: флаги состояния и флаги управления.
Флаги состояния:
- Флаг переноса (CF): устанавливается в 1, если выполняется перенос позиции MSB, т. е. в результате добавления или если заимствование необходимо в MSB во время вычитания.
- Auxillary Carry (AF): если операция, выполняемая в ALU, генерирует перенос / заимствование от нижнего полубайта (т.е. D0-D3) к верхнему полубайту (т.е. D4-D7), устанавливается флаг AF, т.е. перенос, данный D3bit для D4 – флаг AF.
- Флаг четности (PF). Этот флаг используется для указания четности результата. Если младший 8-битовый результат результата операции содержит четное число, если 1, флаг четности установлен, а для нечетного числа 1 флаг четности сброшен.
- Нулевой флаг (ZF). Он устанавливается, если результат арифметической или логической операции равен нулю, иначе он будет сброшен.
- Флаг знака (SF): в формате величины знака знак числа обозначается битом MSB. Если результатом операции является отрицательный знак, устанавливается флаг. Флаг знака является точной копией MSB-бита результата.
- Флаг переполнения (OF). В случае арифметической операции со знаком устанавливается флаг переполнения, если результат слишком велик, чтобы поместиться в число битов, доступных для его размещения. Флаг переполнения не имеет значения в арифметической операции без знака.
Контрольные флаги:
- Trap Flag (TF): используется для одношагового управления. Это позволяет пользователю выполнять одну инструкцию программы за один раз для отладки. Когда установлен флаг прерывания, программа может быть запущена в одношаговом режиме.
- Флаг прерывания (IF). Это флаг включения / выключения прерывания. Если он установлен, то маскируемый INTR прерывания 8086 включен, а если он сброшен, прерывания отключаются.
- Флаг направления (DF): флаг направления используется в строковой операции. Если DF установлен, строковые байты считываются или записываются с старшего адреса памяти на младший адрес памяти. Если DF сброшен, строковые байты считываются или записываются с меньшего адреса памяти на более высокий адрес памяти.
Модель программирования 8086
Модель программирования 8086 через Pentium II считается видимой программой, поскольку ее регистры используются во время программирования приложений и определяются инструкциями.
Другие регистры, подробно описанные далее в этой главе, считаются невидимыми для программы, поскольку они не адресуемы непосредственно во время программирования приложений, но могут использоваться косвенно во время программирования системы.
Только 80286 и выше содержат программно-невидимые регистры, используемые для контроля и управления системой защищенной памяти.
Модель программирования содержит 8-, 16- и 32-битные регистры. 8-битные регистры – это AH, AL, BH, BL, CH, CL, DH и DL, и на них ссылаются, когда инструкция формируется с использованием этих двухбуквенных обозначений. 16-разрядными регистрами являются AX, BX, CX, DX, SP, BP, DI, SI, IP, FLAGS, CS, DS, ES, SS, FS и GS. Расширенные 32-разрядные регистры – это EAX, EBX, ECX, EDX, ESP, EBP, EDI, ESI, EIP и EFLAGS.
Поскольку теперь доступно несколько вариантов языка программирования, весьма обычно программистам сложно сделать выбор. Вот почему мы собрали информацию о двух наиболее известных языках и представили
Каждый обязан следить за тем, чтобы он жил в хорошем доме. Это обеспечивается частым обновлением структуры вашего дома. Однако, прежде чем проводить ремонт дома в
В Себу имеются ограниченные театральные здания, в которых может разместиться огромное количество зрителей. Оперный театр – это театр по форме. Проверка мест варьируется от 1200