Типы команд процессора

Рассмотрим оператор языка высокого уровня, например ВАSIС, который нужно будет представить в виде последовательности машинных команд:

X = X + У

Этот оператор требует, чтобы значение, хранящееся по символическому адресу Y, было добавлено к значению, хранящемуся по символическому адресу Х, а результат помещен по адресу X. Какая последовательность машинных команд задаст такую же операцию? Предположим, что символическим адресам Х и Y соответствуют ячейки памяти 513 и 514. Если в компьютере используется типовой простой набор машинных команд, то эту операцию можно выполнить последовательностью из трех команд.

1. Загрузить в регистр процессора содержимое ячейки памяти 513.

2. Добавить к содержимому регистра содержимое ячейки памяти 514.

3. Сохранить результат — содержимое регистра — в ячейке памяти 513.

Машинные команды можно разделить на следующие категории:

• команды обработки (преобразования) данных – выполнение арифметических и логических операций над операндами;

• команды пересылки (сохранения) данных — управление памятью;

• команды ввода-вывода (перемещения) — выполнение операций ввода-вывода;

• команды управления — проверка результатов и управление очередностью выполнения команд программы.

Коды операций представляются символической мнемоникой, например:

ADD – сложение;

SUB – вычитание;

MPY – умножение;

DIV – деление.

Операнды также представляются символически. Например, мнемокод

ADD R, Y

означает команду сложения элемента данных, хранящегося по адресу Y, с содержимым регистра К

Load Adr – чтение из памяти по заданному адресу

Store Adr – запись в память по заданному адресу.