Справочник от Автор24
Поделись лекцией за скидку на Автор24

Программирование микропроцессорных систем

  • 👀 322 просмотра
  • 📌 273 загрузки
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Программирование микропроцессорных систем» pdf
Программирование микропроцессорных систем Система команд МП использует прямую, относительную (посредством базовых регистров), непосредственную, косвенную и индексную адресацию. В МП могут выполняться арифметические операции над 8- и 16-разрядными числами со знаком и без знака, над упакованными и неупакованными двоично-кодированными десятичными числами. Для простых операций обработки последовательностей данных (цепочек) имеются однобайтные команды, для которых посредством префикса можно задавать число повторений. Имеются команды передачи управления двух типов, осуществляющие переходы соответственно внутри текущего программного сегмента и к произвольному сегменту, который при этом становится текущим. Форматы команд Рис.19.1. Команда с непосредственным операндом В первом байте команды содержится код опера-ции и два однобитных поля: направления передачи d и слова w. При d=l осуществляется передача «в», а при d=0 передача «из» МП. Направление передачи относится ко второму операнду (регистру), определяемому полем reg второго байта команды. Поле w задает формат операнда: при w=0 МП оперирует с байтом, а при w=l производится обработка 16-битного слова. Второй байт команды, называемый постбайтом адресации, определяет работающий регистр или ячейку памяти и состоит из трех полей: режима mod, регистра reg и селектора регистр/память r/m. В поле reg в соответствии с таблицей 19.1 задается один из регистров, содержащий второй операнд команды. Таблица 19.1 reg (r/m) w=0 w=1 reg (r/m) w=0 w=l 000 001 010 011 AL CL DL ВL AX CX DX BX 100 101 110 111 АН СН DH ВН SP ВР SI DI Поле mod задает используемый режим адресации и предназначено для определения первого операнда команды. Если mod=11, то операнд содержится в регистре, адресуемом полем reg в соответствии с таблицей 19.1. Во всех остальных случаях (mod11) первый операнд располагается в памяти. При этом код поля mod задает способ использования смещений disp в соответствии с таблицей 19.2. Таблица 19.2 Режим mod Пояснения Смещения нет 8-битное смещение 16-битное смещение 00 01 10 Disp=0 Disp=dispL Disp=dispH, dispL 11 Регистровая адресация в соответствии с таблицей 19.1 Во всех случаях, связанных с обращением к памяти (mod11), в поле r/m команды кодируется способ вычисления эффективного адреса ЕА (смещения) операнда. В операционном устройстве МП этот эффективный адрес формируется в соответствии с таблицей 19.3. Имеется только одно исключение: при mod=00 и r/m=110 смещение отсутствует и код команды содержит прямой (физический) адресEA=dispH, dispL. Таким образом, операнд в памяти можно адресовать 24 различными способами (3 кода поля mod в таблице 10.2 и 8 кодов поля r/m в таблице 19.3). Таблица 19.3 r/m 000 001 010 011 100 101 110 111 Смещение (ЕА) ЕА=(ВХ)+(SI)+disp ЕА=(ВХ)+(DI)+disp ЕА=(ВР)+(SI)+disp EA=(BP)+(DI)+disp ЕА=(SI)+disp EA=(DI)+disp ЕА=(ВР)+disp ЕА=(ВХ)+disp Рис.19.2. Двухоперандная команда с непосредственным операндом Здесь отсутствует необходимость адресации второго операнда, и поэ-тому полеreg в постбайте используется для расширения поля КОП. Отсутствует также и поле d. Формат непосредственного операнда определяется полями s и w в соответствии с таблице 19.4. Таблица 19.4 Формат операнда S, w Х0 01 11 data L data H, data L data L* Пояснения байт данных 2байта данных байт данных с расширением знака до 16бит Назначение полей mod и r/m сохраняется таким же, как и в предыдущем формате команд. Рис.19.3. Однооперандная команд Все правила интерпретации полей однооперандных команд такие же, как и для двухоперандных. Микропроцессор К1810 имеет в своем составе команды специального формата, которые позволяют сокращать на один байт формат часто используемых команд. Это команды операции с регистрами и, в частности, с аккумулятором. Способы адресации В таблице 19.5 приведены сведения о способах формирования эффективных адресов в МП К1810. В МП К1810 реализуются следующие способы адресации: регистровая непосредственная, прямая, косвенная, базовая, индексная, индексно - базовая, относительная и некоторые их комбинации. r/m Регистр mod 00 01 10 w=0 w=l 000 (ВХ)+(SI) (BX)+(SI)+dispL (BX)+(SI)+dispH,L AL 001 (BX)+(DI) (BX)+(DI)+dispL (BX)+(DI)+dispH, L AX CL CX 010 (BP)+(SI) (BP)+(SI)+dispL (BP)+(SI)+dispH,L DL DX 011 (BP)+(DI) (BP)+(DI)+dispL (BP)+(DI)+dispH, L BL BX 100 (SI) (SI)+dispL (SI)+dispH, L AH SP 101 (DI) (DI)+dispL (DI)+dispH, L CH BP 110 dispH, L (BP)+dispL (BP)+dispH, L DH SI 111 (BX) (BX)+dispL (BX)+dispH, L BH DI Регистровая адресация. Этот способ адресации кодируется в поле КОП или в постбайте и определяет, что операнд находится в одном из регистров блока РОН. В двухоперандных командах определяются два регистра так, как это показано в таблице 19.5. Непосредственная адресация. Операнд содержится в теле команды и обычно имеет формат 16 бит. В двухоперандных командах с помощью постбайта режима адресации имеется возможность определять операции над непосредственным операндом и содержимым регистра или ячейки памяти. МП К1810 не имеет команд загрузки непосредственного операнда в сегментные регистры или в стек. Прямая адресация (mod=00, r/m=110). Команды с прямой адресацией содержат двухбайтный эффективный адрес (смещение) операнда вслед за постбайтом режима адресации. В командах безусловной передачи управления и вызова подпрограмм имеется возможность задавать двухбайтный сегментный адрес и двухбайтное смещение (длинная прямая адресация), что позволяет адресовать любой элемент памяти. В командах преобразования данных длинная прямая адресация не предусмотрена. Регистровая косвенная адресация. Двухбайтный эффективный адрес (смещение) содержатся в регистрах ВХ, SI и DL Регистровая косвенная адресация через регистр ВР моделируется использованием базовой адресации с нулевым смещением. Регистр, используемый в команде с косвенно-регистровой адресацией, определяется постбайтом режима (mod=00; r/m=100, 101, 111). Относительная адресация с использованием базовых регистров. Эффективный адрес операнда определяется как сумма содержимого указанного базового регистра (ВХ, ВР, SI, DI) и одно - или двухбайтного смещения (dispL, dispH, L), содержащегося в теле команды сразу вслед за постбайтом режима адресации. При этом все смещения представляются в дополнительном коде как целое со знаком. Базовый способ адресации используется для обращения к элементам различных структур данных, когда величина смещения известна во время ассемблирования, а базовый адрес структуры определяется в процессе исполнения программы. Индексная адресация (mod=10: r/m=100, 101, 110, 111). В МП К1810 данный способ адресации операнда реализуется с использованием команд с базовой адресацией и двухбайтным смещением. При этом в теле команды содержится двухбайтный «базовый адрес», а в «базовом регистре» - индекс. Базовые регистры ВХ, ВР, SI и DI могут использоваться командами с базовой и индексной адресацией, однако чаще всего регистры ВХ и ВР выступают в качестве базовых, а регистры SI и DI - индексных. Комбинированная относительная и индексная адресация (mod=00; r/m=100, 101, 110, 111). В командах, использующих данный способ адресации, эффективный адрес операнда равен сумме базового адреса и смещения, содержащихся в регистрах. Базовый адрес представляется в регистрах ВХ, ВР, а индекс - в регистрах SI и DI. По командам с индексно-базовой адресацией обеспечивается эффективный доступ к элементам памяти, так как этот метод адресации позволяет вычислять в процессе выполнения команды не только базовый (начальный) адрес структуры данных, но и индекс (смещение) элемента внутри структуры. Относительная адресация с использованием счетчика команд. При этом способе адресации эффективный адрес вычисляется как сумма содержимого счетчика команд и одно- или двухбайтного смещения, содержащегося в теле команды. Данный способ адресации используется только в командах условных и безусловных переходов, командах вызова подпрограмм и командах управления циклом.
«Программирование микропроцессорных систем» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Тебе могут подойти лекции

Смотреть все 661 лекция
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot