Типы команд процессора
Рассмотрим оператор языка высокого уровня, например ВА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 – запись в память по заданному адресу.