Casa > Q > Qual É A Relação Entre Código De Operação, Operando E Instruções Da Máquina?

Qual é a relação entre código de operação, operando e instruções da máquina?

A nós simplesmente nos referimos às instruções de máquina como os opcodes que as representam em uma CPU. Às vezes as pessoas chamam o código de máquina em linguagem assembly b/c, ele tem um mapeamento de um para um (na maioria das vezes) para o conjunto de opcodes de instrução real.

Toma este exemplo:

main-qimg-809dd27e9bbc0cbaf4563b6c803c920c

É a instrução de comparação. Em linguagem assembly você a usaria assim:

  1. cmp AL, 5 ;compare o valor no registro AL com o valor 5. 

A imagem acima da instrução CMP lista os opcodes em hexadecimal: 3C, 3D.

Os valores que seguem o opcode (ib, iw, id) são apenas códigos anexos que lhe dizem se são valores imediatos, bytes, palavras, etc... Você pode procurá-los na folha de instruções (que é onde eu cortei a imagem): CMP - Compare Two Operands

Operation code is just the binary (or hexadecimal) value of the real machine instruction in the CPU's instruction set (e.g. compare value, move value, add value) and the operands are the registers or byte/word/memory values that the machine instruction is going to perform the operation on.

De Strait

Quais são as diferenças entre Código de Máquina, Código de Byte, Código de Objeto e Código Fonte? :: Qual é a diferença entre uma linguagem de montagem e uma linguagem de alto nível?