
- •Вопросы к контрольной работе №1 Тема: «Программная модель микропроцессора. Нотации языка ассемблера»
- •Структура и типы команд: четырехадресные команды:
- •Структура и типы команд: трехадресные команды:
- •Структура и типы команд: двухадресные команды
- •Структура и типы команд: одноадресные команды
- •Структура и типы команд: безадресные (стековые) команды
- •Организация памяти, формирование физического адреса.
- •Программная модель микропроцессора: регистры общего назначения, название, назначения, структура.
- •Программная модель микропроцессора: индексные регистры, название назначение:
- •Программная модель микропроцессора: регистры для работы со стеком, название, назначение.
- •Программная модель микропроцессора: сегментные регистры, название, назначение.
- •Программная модель микропроцессора: регистры сопроцессора, название, назначение
- •Программная модель микропроцессора: целочисленные регистры mmx-расширения, название, назначение.
- •Программная модель микропроцессора: регистры mmx-расширения с плавающей точкой, название, назначение.
- •Системные регистры.
- •Нотация языка ассемблера: формат команды:
- •Нотация языка ассемблера: виды и запись констант.
- •Формат задания псевдооператора.
- •Псевдооператоры определения имен
- •Псевдооператоры определения переменных, простые типы данных.
- •Команды расширения знака, формат.
- •Упрощенные директивы определения сегментов режима masm.
Вопросы к контрольной работе №1 Тема: «Программная модель микропроцессора. Нотации языка ассемблера»
Структура и типы команд: четырехадресные команды:
Четырехадресные команды:
КОП Адрес1 Адрес2 Адрес R Адрес след команды
Для кодировки такой команды в памяти ЭВМ необходимы пять элементов: код опера-
ции, указывающий какая операция выполняется и четыре адреса. По одному адресу для каждого из двух операндов, один – для указания места помещения результата и один адрес – для указания следующей команды.
Пример.
add i,j,k,next ;k=i+j
Структура и типы команд: трехадресные команды:
Трехадресные команды:
КОП Адрес1 Адрес2 Адрес R
Большинство программ выполняется последовательно команда за командой в их есте-
ственной записи. Следовательно, отпадает необходимость четвертого адреса; за порядком выполнения команд следит «программный счетчик», представляющий собой специальный регистр, в котором хранится адрес следующей команды.
Пример:
add i,j,k ;k=i+j
Структура и типы команд: двухадресные команды
КОП Адрес1 Адрес2иR
В двухадресных командах адрес одного из операндов служит адресом результата.
Пример:
add i,j ;i=i+j
Структура и типы команд: одноадресные команды
КОП Адрес
Сокращение еще одного адреса возможно с помощью постоянной фиксации одного из
адресов. При этом вводится специальная область памяти, называемая «аккумулятором». Он
применяется для хранения одного из операндов и для запоминания результата после оконча-
ния операции. Этот способ позволяет уменьшить длину команд, но вызывает необходимость
включения в программу дополнительных команд – команд занесения информации в аккуму-
лятор и команд извлечения информации из него.
Пример:
Load j ;занести j в аккумулятор
Add k ;прибавить k к содержимому аккумулятора
Store I ;занести результат по адресу i
Структура и типы команд: безадресные (стековые) команды
КОП
Для реализации безадресных команд в системе команд компьютера необходимо иметь
две одноадресные команды и стек.
Пример:
Load j ;занести j в стек
Load k ;занести k в стек
Add ;сложить j и k, результат находится в стеке
Store I ;взять результат из стека и занести по адресу i
Организация памяти, формирование физического адреса.
Наименьшей единицей измерения памяти в компьютере является бит. 8 бит образуют
байт. Каждому байту поставлен в соответствие уникальный адрес в диапазоне от 0000 до
FFFF. Любые два смежных байта образуют слово. Слово состоит из 16 бит.
Обращение к байтам или словам внутри сегмента осуществляется с помощью 16-
битного внутрисегментного смещения. Микропроцессор образует 20-битовый адрес байта( слова), суммируя 16-битное смещение с содержимым 16-битного сегментного регистра, к которому добавляются четыре нуля:
Физический адрес=смещение+16*(сегментный регистр)