Опкод

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

Опкоды используются в машинном коде для ряда функций, включая Float Addition of registers, Two's compliment addition of registers, Shifting registers values to memory, или на жестком диске, остановку программы и т.д. В современных компьютерах используются буквально сотни распространённых опкодов.

В связи с природой архитектуры компьютера, опкоды принимают форму двоичных чисел. В качестве альтернативы опкоды могут быть представлены шестнадцатеричными цифрами (например, 10100101 = A5) для удобства считывания и кодирования при проектировании или эмуляции машинно-кодовой программы. Затем эти значения преобразуются в их двоичные эквиваленты для сохранения. Современные опкоды - это как минимум два шестнадцатеричных символа длиной, которые занимают 1 байт дискового пространства.

Опкоды будут различаться по возможностям и "значениям" в зависимости от компьютера, к которому они относятся, так как они зависят от аппаратного обеспечения. Например, опкод для STORE, выраженный в Hex, может быть FA для одной машины и 02 для другой. Некоторые опкоды будут недоступны на некоторых компьютерах. В общем, есть два подхода к построению наборов команд. Компьютер с сокращенным набором команд (RISC) предлагает меньше возможных опкодов в пользу увеличения скорости для простых процессов. Сложный набор инструкций Computing (CISC) предлагает больше опкодов в пользу увеличения скорости для сложных процессов.

Опкоды редко используются программистами напрямую. Всякий раз, когда они непосредственно программируются в память, они гарантированно работают только на том компьютере, для которого они были разработаны. Когда программисты пишут на ассемблере, программа-переводчик преобразует операторы программы, один на один, в команды машинного языка. Программист должен запоминать только мнемонику для каждого опкода, а не его двоичное значение. В качестве альтернативы можно использовать язык программирования высокого уровня, скажем, 4-е поколение, который преобразуется в 3-е поколение и так далее, пока не достигнет 1-го поколения. Отсюда отдельный компьютер будет преобразовывать программу в машинный код всякий раз, когда файл программы читается. Таким образом, программа может работать на гораздо большем количестве компьютеров.

Вопросы и ответы

В: Что такое опкод?


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

В: Что такое операнды?


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

В: Сколько общих опкодов используется в современных компьютерах?


О: В современных компьютерах используются сотни распространенных опкодов.

В: Как представлены опкоды?


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

В: Какова длина современных опкодов?


О: Современные опкоды имеют длину не менее двух шестнадцатеричных символов и занимают 1 байт памяти.

В: Что такое RISC и CISC?


О: Reduced Instruction Set Computing (RISC) предлагает меньше возможных операционных кодов в пользу увеличения скорости для простых процессов, в то время как Complex Instruction Set Computing (CISC) предлагает больше операционных кодов в пользу увеличения скорости для сложных процессов.

В: Как программисты обычно используют опкоды?


О: Программисты редко используют прямое программирование в память с определенным набором инструкций для конкретного компьютера; вместо этого они пишут программы, используя язык ассемблера или языки программирования высокого уровня, которые преобразуются в машинный код при каждом чтении программного файла, чтобы он мог работать на различных типах компьютеров.

AlegsaOnline.com - 2020 / 2023 - License CC3