Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Формат команды 16-разрядного МП. Способы адресации данных
1-ый байт 2-ой байт (постбайт)
Рисунок – Формат команды микропроцессора INTEL 8086 Команды микропроцессора INTEL 8086 занимают в памяти от 1 до 6 байт. Исполнительный адрес памяти представляет собой 16-разрядное беззнаковое целое, являющееся смещением относительно базы некоторого сегмента. Полный (физический) адрес формируется с использованием содержимого одного из сегментных регистров. Режимы адресации подразделяются на прямые и косвенные. При прямой адресации исполнительный адрес либо содержится в команде, либо вычисляется с использованием значения, находящегося в команде, и содержимого, указанного в команде регистра (или двух регистров). При косвенной адресации исполнительный адрес в команде определяет регистр или ячейку памяти, содержащую окончательный исполнительный адрес. Микропроцессор INTEL 8086 имеет организацию типа «регистр-память». С точки зрения адресации это означает, что команды микропроцессора адресуют максимум два операнда и что не допускается одновременная адресация двух ячеек памяти. Первым операндом в двухоперандной команде обычно является содержимое регистра или ячейки памяти, а вторым – содержимое регистра или непосредственный операнд в команде. КОП – определяет тип выполняемой операции. D– направление передачи. При D=1 осуществляется передача операнда или результата операции в регистр, который определяется полем REG второго байта команды. При D=0 осуществляется передача из указанного регистра. W– определяет разрядность операндов: W=1 – команда обрабатывает 16-разрядные числа, W=0 – команда обрабатывает 8-разрядные числа. Второй байт команды называется постбайтом. Постбайт определяет участвующие в операции регистры или регистр и ячейку памяти.
MOD - режим REG - регистр R/M – регистр/ память
Поле REG определяет операнд, который обязательно находится в регистре и условно считается вторым операндом. Поле R/M определяет операнд, который может находиться в регистре или памяти и условно считается первым операндом. Поле REG используется для указания регистра только в двухоперандных командах. Если в команде один операнд, то он определяется полем R/M. Способ кодирования внутренних регистров микропроцессора в полях REG и R/M представлен в таблице 1. Таблица 1 - Способ кодирования внутренних регистров микропроцессора
Поле MOD определяет используемый режим адресации: регистровый режим/ режим памяти. Разряды поля MOD определяют вид информации в поле R/M для нахождения адреса первого операнда. Когда MOD = 11, то поле R/M определяет 8- или 16-разрядный регистр в соответствии с таблицей кодирования 1. Если разрядами MOD определено, что второй операнд расположен в памяти, то разряды R/M определяют способ формирования исполнительного адреса операнда. В командах с обращением к памяти полученный исполнительный адрес – это смещение, добавляемое к сегменту для нахождения физического адреса операнда в оперативной памяти. Для каждой комбинации значений поля MOD формирование исполнительного адреса определяется полем R/M по таблице 2. Таблица 2 - Формирование исполнительного адреса
d8, d16 – диспозиция (disp) –смещение, заданное в 3-ем и 4-ом байтах формата команды. Разряды MOD определяют количество байтов смещения, применяемых при расчете исполнительного адреса: MOD=00 disp=0, MOD=01 команда содержит 8-разрядное смещение, MOD=10 команда содержит 16-разрядное смещение. Смещение disp, содержащееся в команде, определяет знаковое целое число, которое участвует в вычислении исполнительного адреса. При сегментной организации оперативной памяти весь исполнительный адрес является смещением относительно базового адреса сегмента и определяется как беззнаковое целое число при вычислении физического адреса. Режимы адресации микропроцессора INTEL 8086:
Базовая и индексная адресации обычно применяются при обращении к различным элементам массива (таблицы) данных. Смещение (disp) определяет начальный адрес массива. Индексный или базовый регистр, содержимое которого может изменяться при выполнении программы, определяет элемент массива (таблицы).
Базово-индексная адресация используется при обработке двумерных массивов, например, элементов матриц. При базово-индексной адресации два компонента адреса можно определить и изменить при выполнении программы.
Дата добавления: 2014-08-04; просмотров: 405; Нарушение авторских прав Мы поможем в написании ваших работ! |