Состав машинных команд

Структура и виды команд

Решение задач на компьютере реализуется программным способом, путем выполнения последовательно во времени отдельных операций над данными, предусмотренных алгоритмом решения задачи.

Алгоритм – это точно определенная конечная последовательность действий, которые нужно выполнить над исходными данными, чтобы получить решение задачи.

Машинная программа – это алгоритм, заданный в виде последовательности машинных команд.

Машинная команда – это элементарная инструкция компьютеру, выполняемая им автоматически без дополнительных указаний и пояснений.

Машинная команда состоит из двух частей: операционной и адресной.

Операционная часть команды – это группа разрядов в команде, предназначенная для указания кода операции.

Адресная часть команды – это группа разрядов в команде, в которых записываются коды адреса (адресов) ячеек памяти компьютера, предназначенных для оперативного хранения данных, задействованных при выполнении команды. Часто эти адреса называют адресами операндов, т.е. чисел, участвующих в операции.

По количеству адресов, записываемых в команде, команды делятся на безадресные, одно-, двух- и трехадресные.

Трехадресная команда: КОП а1 а2 а3

КОП – код операции;

а1 и а2 – адреса ячеек (регистров), где расположены данные, участвующие в операции;

а3 – адрес ячейки (регистра), куда нужно поместить результат операции.

Двухадресная команда: КОП а1 а2

а1 – адрес ячейки (регистра), где расположено первое из данных, участвующее в операции, и куда нужно поместить результат операции

а2 – адрес ячейки (регистра), где расположено второе из данных, участвующее в операции.

Одноадресная команда: КОП а1

а1 – в зависимости от модификации команды либо адрес ячейки (регистра), где расположено одно из данных, участвующее в операции, либо адрес ячейки (регистра) куда нужно поместить результат операции.

Безадресная команда содержит только код операции, а данные для нее должны быть заранее помещены в определенные регистры машины.

Стандартный набор современных ПК содержит около 240 машинных команд. Их можно разделить на группы по видам выполняемых операций:

- операции пересылки данных внутри компьютера;

- арифметические операции над данными;

- логические операции над данными;

- операции обращения к внешним устройствам компьютера;

- операции передачи управления;

- обслуживающие и вспомогательные операции.

Операции передачи управления служат для изменения естественного порядка выполнения команд. Их два вида. Операции безусловной передачи управления требуют выполнения данной команды не следующую по порядку, а той, адрес которой в явном или неявном виде указан в адресной части. Операции условной передачи управления тоже требуют передачи управления по адресу указанному в адресной части команды, но только в том случае, если выполняется некоторое заранее оговоренное для этой команды условие. Условие задается в коде операции в явном или неявном виде.