Структура команд

Имеется две формы представление машинных команд:

· на языке программирования машинного уровня (ассемблере),

· на аппаратном уровне с использованием битовых кодов. Перекодировку команд производит ассемблер совместно с рядом программ операционной системы.

Команды на языке ассемблера. На языке ассемблера команды содержат символьный код операции и один или два адреса. Команды могут быть одноадресными или двухадресными. Первый адрес в команде– адрес приемника, второй – источника. Оба адреса могут быть адресами РОНов, Адресом оперативной памяти может быть только один.

Исключением является:

· команда MOVS – команда строковой передачи данных память – память (адреса ячеек памяти задаются содержимым пар регистров базы/индекс)

· команды работы со стеком, которые перемещают данные из памяти в стек, который также находится в памяти.

Адрес оперативной памяти может задаваться прямым адресом (offset) или компонентами (D, X, disp).

Примеры команд на уровне ассемблера:

1. mov ax, bx;копирование в ax содержимого bx,

2. mov ax, offset 356;копирование в ax содержимого ячейки памяти по адресу 356,

3. mov ax, [СS:bх +356];копирование в ax содержимого ячейки памяти в сегменте CS по адресу, равному сумме содержимого регистра bp и смещения – 356,

4. mov ax, [bp +si+356];копирование в ax содержимого ячейки памяти по адресу, равному сумме содержимого регистров bp, si и смещения 356,

5. mov byte ptr z, 15; копирование в ax содержимого ячейки памяти по адресу z (конструкция byte ptr z уточняет, что адрес z является адресом одного байта, а не слова).

6.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: