close

Código de operação

Ir para a navegação Ir para a pesquisa

Em computação , um opcode ( código de operação ), ou código de operação , é a parte de uma instrução de linguagem de máquina que especifica a operação a ser executada. Sua especificação e formato serão determinados pela arquitetura do conjunto de instruções (ISA) do componente de hardware do computador - geralmente uma CPU , mas possivelmente uma unidade mais especializada. Uma instrução completa em linguagem de máquina contém um opcode e, opcionalmente, a especificação de um ou mais operandos - sobre os quais a operação deve atuar. Algumas operações têm operandos implícitos, ou mesmo nenhum. Alguns ISAs possuem instruções com campos definidos para os opcodes e operandos, enquanto outros (por exemplo , arquitetura Intel x86 ) possuem uma estrutura mais complicada e específica. Os operandos aos quais os opcodes se aplicam podem, dependendo da arquitetura da CPU, consistir. registradores , valores na memória , valores armazenados na pilha , portas de E/S , barramento , etc. As operações que um opcode pode especificar podem incluir aritmética , cópia de dados, operações lógicas e controle de programa.

Opcodes também podem ser encontrados em bytecodes interpretados por um interpretador de bytecode (ou máquina virtual , em um sentido desse termo). Nestes, uma arquitetura de conjunto de instruções é criada para ser interpretada por software em vez de um dispositivo de hardware. Os interpretadores de bytecode geralmente lidam com tipos de dados e operações de nível superior do que um conjunto de instruções de hardware, mas são construídos em linhas semelhantes. Exemplos incluem Java virtual machine (JVM) da linguagem de programação Java , o bytecode usado no GNU Emacs para código compilado LISP e muitos outros.

A linguagem de máquina é tediosa e difícil para os humanos programarem diretamente, portanto, se a abstração fornecida por uma linguagem de programação de alto nível não for desejada, uma linguagem assembly é usada. Aqui, são usadas as instruções mnemônicas que correspondem às especificações do opcode e o operando das instruções de linguagem de máquina geradas. Isso oferece um nível mais alto de legibilidade e compreensão do que trabalhar diretamente com operações de linguagem de máquina, enquanto ainda fornece controle exato da linguagem de máquina gerada. Um programa chamado montador transforma a linguagem assembly em código de máquina.

Veja também

  • código de operação ilegal

Referências