Команды инструкции процессора
Команды процессора выполняют некоторые операции над данными. Данные при этом называют операндами. Количество операндов ограничено и закреплено жестко за каждой командой. В команде может быть явно указано 3, 2, 1, 0 операндов. Операндом может быть регистр (reg), ячей-ка памяти (mem), непосредственное значение (константа) (con).
Структура команды:
Мнемокод [dst [,src]] //[]-необязательный параметр
- Мнемокод- символическое имя команды
- Src-операнд источник
- Dst- операнд приемник (место назначения ).
Результат выполнения операции помещается как правило в операнд приемник.
Команда пересылки данных
Mov dst,src {dst:= src}
Содержимое src пересылается (копируется ) в dst.
Правило №1 (Для арифметических и логических команд)
Если в команде 2 операнда, то:
1) они не могут быть оба ячейками основной памяти
Возможные сочетания операндов:
reg, con
mem, con
reg, reg
reg,mem
mem,reg
2) Они должны иметь одинаковую длину
Пример
Mov y, ax {y:=ax}
y-ячейка памяти –должна иметь размер-2байта(как и ax),
ax- регистр.
mov eax,5 {eax:=5}
5- непосредственное значение.
mov x, 9 { x:= 9}
mov x, y {неправильно}
Операции над целыми числами
Арифметические команды:
1) сложение(здесь и далее операции над целыми числами)
Add dst, src { dst:= dst+ src}
Содержимые источника и приемника складываются и результат помещается в приемник.
Пример add bx,7 {bx:= bx+7}
add y,bx {y:= y+bx}
2) Вычитание
Sub dst, src {dst:= dst-src}
Пример sub y, 7 {y:=y-7}
3) Инкремент ( Увеличение на 1)
Inc dst {dst:=dst+1}
Правило №2 (Для арифметических и логических команд)
Если в команде 1 операнд, то он может быть либо ячейкой памяти, либо регистром.
Операнды: mem или reg
Пример inc eax {eax:=eax+1}
4) Декремент ( Уменьшение на 1)
Dec dst { dst:= dst-1}
dec y {y:=y-1}
Похожие записи
No user прокомментировали сообщение
Оставить комментарий