Opcode
Um opcode identifica qual operação básica do computador no conjunto de instruções deve ser realizada. Ele é usado ao escrever o código da máquina. Ele diz ao computador para fazer algo. Cada instrução de linguagem de máquina normalmente tem tanto um opcode quanto operandos. O opcode é como um verbo em uma frase, e os operandos são como o sujeito em uma frase. Os operandos são tipicamente endereços de memória ou de registro.
Os Opcodes são usados em código de máquina para uma série de funções, incluindo adição de registros Float Adição de registros, adição de registros de dois elogios, deslocamento de valores de registros para a memória, ou para um disco rígido, parada de um programa, etc. Há literalmente centenas de opcodes comuns empregados em computadores modernos.
Devido à natureza da arquitetura de um computador, os opcodes assumem a forma de números binários. Alternativamente, os opcodes podem ser representados por dígitos hexadecimais, (por exemplo, 10100101 = A5) para facilitar a leitura e a codificação ao projetar ou emular um programa de código de máquina. Estes valores são então transformados em seus equivalentes binários a serem salvos. Os opcodes modernos têm pelo menos dois caracteres hexadecimais de comprimento que ocupam 1 byte de espaço de armazenamento.
Os Opcodes variarão em capacidade e "valor" dependendo do computador ao qual pertencem, pois dependem do hardware. Por exemplo, o opcode para STORE como expresso em Hex poderia ser FA para uma máquina e 02 para outra. Alguns opcodes não estarão disponíveis em alguns computadores. Em geral, há duas abordagens para construir conjuntos de instruções. Um computador de conjunto de instruções reduzido (RISC) oferece menos opcodes possíveis em favor do aumento da velocidade para processos simples. A computação de conjuntos de instruções complexos (CISC) oferece mais opcodes a favor do aumento da velocidade para processos complexos.
Os Opcodes são raramente utilizados diretamente pelos programadores. Sempre que são programados diretamente na memória, eles só têm a garantia de funcionar no computador para o qual foram projetados. Quando os programadores escrevem em linguagem de montagem, um programa de tradução converte os comandos do programa, um por um, em comandos em linguagem de máquina. O programador só deve se lembrar de uma mnemônica para cada opcode ao invés de seu valor binário. Alternativamente, uma linguagem de programação de alto nível pode ser usada, digamos a 4ª geração, que é convertida para a 3ª geração e assim por diante até chegar à 1ª geração. A partir daqui, um computador individual converterá o programa em código de máquina sempre que o arquivo do programa for lido. Desta forma, um programa pode funcionar em uma variedade muito maior de computadores.
Perguntas e Respostas
P: O que é um opcode?
R: Um opcode é um número binário que identifica qual operação básica do computador no conjunto de instruções deve ser feita. Ele é usado quando se escreve o código da máquina e diz ao computador o que fazer.
P: O que são operandos?
R: Operandos são normalmente endereços de memória ou de registro que acompanham um opcode em uma instrução de linguagem de máquina. Eles podem ser considerados como o assunto de uma frase, enquanto o opcode age como um verbo.
P: Quantos opcodes comuns são empregados nos computadores modernos?
R: Há centenas de opcodes comuns empregados nos computadores modernos.
P: Como são representados os opcodes?
R: Os opcodes podem ser representados ou por números binários ou dígitos hexadecimais para facilitar a leitura e a codificação ao projetar ou emular um programa de código de máquina.
P: Por quanto tempo os opcodes modernos são representados?
R: Os opcodes modernos têm pelo menos dois caracteres hexadecimais de comprimento, ocupando 1 byte de espaço de armazenamento.
P: O que é RISC e CISC?
R: A Reduced Instruction Set Computing (RISC) oferece menos opcodes possíveis em favor do aumento da velocidade para processos simples, enquanto a Complex Instruction Set Computing (CISC) oferece mais opcodes em favor do aumento da velocidade para processos complexos.
P: Como os programadores costumam usar os opcodes?
R: Os programadores raramente usam programação direta em memória com o conjunto específico de instruções de um computador; em vez disso eles escrevem programas usando linguagem de montagem ou linguagens de programação de alto nível que são convertidas em código de máquina sempre que o arquivo do programa é lido para que ele possa trabalhar em vários tipos de computadores.