![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
На языке ассемблера команды содержат символьный код операции и один или два адреса. Команды могут быть одноадресными или двухадресными. Первый адрес в команде – адрес приемника, второй – источника. Оба адреса могут быть адресами РОНов, адресом оперативной памяти может быть только один.
Исключением являются:
· команды обработки строк (адреса приемника и источника задаются парами регистров – сегментный регистр:индексный регистр)
· команды работы со стеком, которые перемещают данные из памяти в стек, который также находится в памяти.
Адрес оперативной памяти может задаваться прямым адресом (offset) или компонентами (D, X, disp).
Примеры команд на языке ассемблера:
1. mov ax, bx | ;копирование в ax содержимого bx, |
2.mov ax,[365] | ;копирование в ax содержимого ячейки памяти по адресу 356, |
3.mov ax, СS:[bх +356] | ;копирование в ax содержимого ячейки памяти в сегменте CS по адресу, равному сумме содержимого регистра bx и смещения 356, |
4.mov ax, [bp +si+356] | ;копирование в ax содержимого ячейки памяти по адресу, равному сумме содержимого регистров bp, si и смещения 356, |
5.mov al, byte ptr z | ; копирование в al содержимого ячейки памяти по адресу z (конструкция byte ptr z уточняет, что адрес z является адресом одного байта, а не слова). |
Машинная кодировка команд IA – 16
МП IA-16 используют команды переменного формата от 1 до 7 байт. Кодировка команд производилась с учетом частоты использования команды в типовых программах.
Команда может иметь (рис. 3.5.):
· возможно, префикс (1 или 2 однобайтных префикса),
· код операции (1 байт),
· возможно, постбайт (1байт),
· возможно, байты смещения – disp (1 или 2 байта),
· возможно, байты непосредственного операнда (1 или 2 байта).
0, 1 или 2 байта | 1 байт | 0 или 1 байт | 0,1 или 2 байта | 0,1 или 2 байта |
префикс | код операции | постбайт | байты смещения | непосредственный операнд |
Рис.3.5. Структура команд МП IA -16. |
Элементы команды:
Дата публикования: 2014-11-03; Прочитано: 361 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!