|
|
Mnemônico
Em nível de hardware, num processador Intel ou compatível, as instruções estão embutidas nos circuitos e são denominadas de "opcodes" - códigos operacionais. Apesar da informação poder ser escrita em nível de bit, o tamanho mínimo dos dados normalmente utilizado é um byte. Em nível de byte, o código pode ser escrito na notação hexadecimal usando-se um editor hexadecimal. Porém, este método de escrever o código é complexo e exige o conhecimento de um grande número de códigos operacionais, além de uma dificuldade adicional: os processadores Intel têm a peculiaridade de armazenar os dados numéricos na ordem inversa dos dados caracteres. Para copiar um valor de 32 bits (exemplo: 56 A7 00 FE) no registrador EAX, você encontrará o código operacional A1 (MOV EAX) seguido por FE 00 A7 56 (o inverso de 56 A7 00 FE).
[editar] ExemploA1 FE 00 A7 56 A1 = MOV EAX
Um mnemônico é um nome reservado de uma família de códigos operacionais que realizam tarefas semelhantes no processador. Os códigos operacionais atuais diferem quanto ao tamanho e tipo de operandos que sejam utilizados. [editar] ExemploMOV EAX, Var1 ........ representado por A1 (valor hexadecimal) Os mnemônicos possibilitam escrever código de um modo muito mais intuitivo e sem perda de precisão. Existe uma correlação exata entre o que você escreve com mnemônicos e o que você obtém como códigos operacionais acabados. Ficando no exemplo acima, você escreve o mnemônico MOV EAX, Var1 e o assembler transforma MOV EAX na sequência de bits correspondente ao hexadecimal A1, ou seja, em 1010 0001. Esta sequência de bits corresponde à instrução embutida nos circuitos do processador Intel (código operacional) que faz com que dados sejam copiados do endereço onde se encontra Var1 para o registrador EAX. É evidente que apenas a sequência de bits correspondentes a uma operação MOV EAX não vai funcionar se não estiver acompanhada do seu operando Var1. [editar] ExemploMOV EAX, Var1 MOV EAX = A1 = 1010 0001 O exemplo acima mostra a transformação efetuada pelo assembler (substituição do mnemônico). [editar] Veja também |