Состав машинных команд
Структура и виды команд
Решение задач на компьютере реализуется программным способом, путем выполнения последовательно во времени отдельных операций над данными, предусмотренных алгоритмом решения задачи.
Алгоритм – это точно определенная конечная последовательность действий, которые нужно выполнить над исходными данными, чтобы получить решение задачи.
Машинная программа – это алгоритм, заданный в виде последовательности машинных команд.
Машинная команда – это элементарная инструкция компьютеру, выполняемая им автоматически без дополнительных указаний и пояснений.
Машинная команда состоит из двух частей: операционной и адресной.
Операционная часть команды – это группа разрядов в команде, предназначенная для указания кода операции.
Адресная часть команды – это группа разрядов в команде, в которых записываются коды адреса (адресов) ячеек памяти компьютера, предназначенных для оперативного хранения данных, задействованных при выполнении команды. Часто эти адреса называют адресами операндов, т.е. чисел, участвующих в операции.
По количеству адресов, записываемых в команде, команды делятся на безадресные, одно-, двух- и трехадресные.
Трехадресная команда: | КОП | а1 | а2 | а3 |
КОП – код операции;
а1 и а2 – адреса ячеек (регистров), где расположены данные, участвующие в операции;
а3 – адрес ячейки (регистра), куда нужно поместить результат операции.
Двухадресная команда: | КОП | а1 | а2 |
а1 – адрес ячейки (регистра), где расположено первое из данных, участвующее в операции, и куда нужно поместить результат операции
а2 – адрес ячейки (регистра), где расположено второе из данных, участвующее в операции.
Одноадресная команда: | КОП | а1 |
а1 – в зависимости от модификации команды либо адрес ячейки (регистра), где расположено одно из данных, участвующее в операции, либо адрес ячейки (регистра) куда нужно поместить результат операции.
Безадресная команда содержит только код операции, а данные для нее должны быть заранее помещены в определенные регистры машины.
Стандартный набор современных ПК содержит около 240 машинных команд. Их можно разделить на группы по видам выполняемых операций:
- операции пересылки данных внутри компьютера;
- арифметические операции над данными;
- логические операции над данными;
- операции обращения к внешним устройствам компьютера;
- операции передачи управления;
- обслуживающие и вспомогательные операции.
Операции передачи управления служат для изменения естественного порядка выполнения команд. Их два вида. Операции безусловной передачи управления требуют выполнения данной команды не следующую по порядку, а той, адрес которой в явном или неявном виде указан в адресной части. Операции условной передачи управления тоже требуют передачи управления по адресу указанному в адресной части команды, но только в том случае, если выполняется некоторое заранее оговоренное для этой команды условие. Условие задается в коде операции в явном или неявном виде.