Программный код и система команд


Программный код – это последовательность команд, каждая из которых определенным образом закодирована и расположена в целом числе байтов памяти. Каждая команда (instruction – инструкция) имеет операционную часть (код команды – КОП), несущую МП информацию о требуемых действиях и адресную часть (или операндную), указывающую МП, где находится «его предмет труда» - операнды. Хотя эта часть может присутствовать в явном или не явном виде, а может и отсутствовать.

КОП Адрес 1го операнда Адрес 2го операнда Адрес результата    
Пример 3х адресной команды

 

Длина инструкции от 1 до 17 байт для 32 разрядного процессора. Количество полей адресной части команды может быть различным, более того бывают и просто безадресные команды. Это, собственно, и определяется системой команд процессора. Вспомним фундаментальную инструкцию сложения двух чисел: C=A+B – сложить текущие значения переменных A и B и присвоить их сумму переменной C. Конкретное выполнение этой операции зависит от принятой в данном процессоре системы команд.

1. 3х адресная команда 2. 2х адресная команда 3. Одноадресная команда

C [A] + [B] A [A] + [B] в этом случае используется АКК

Add A, B, C Add A, B Load A

Move C, A Add B

Store C

В 3ем случае используется один из регистров АЛУ (АКК – аккумулятор), Load A – копировать в сумматор содержимое ячейки памяти по адресу А и поместить в АКК, Add B – добавить содержимое памяти по адресу В к содержимому АКК и поместить результат в АКК, Store C – копировать содержимое АКК в ячейку памяти по адресу С.

А, (В)