Documente Academic
Documente Profesional
Documente Cultură
Cdigo de Operao: um ou dois octetos de cdigo. O cdigo de operao pode tambm incluir bits
que especificam se o dado de um octeto ou de tamanho completo (16 ou 32 bits dependendo do
contexto), direco da operao sobre o dado (de ou para a memria) e se deve ser feita a extenso de
sinal de um campo de dados imediato.
Mod r/m: Este octeto e o prximo, fornecem informao de endereamento. O octeto Mod r/m
especifica se um operando est em registo ou em memria; se est na memria, ento, os campos
dentro octeto especificam o modo de endereamento a ser usado. O octeto Mod r/m consiste de trs
campos. O campo Mod (2-bits) combinado com o campo r/m para formar 32 possveis valores: 8
modos de registo e 24 modos de indexao; o campo Reg/Opcode (3-bits) pode especificar um registo
como a localizao de um operando, ou pode fazer parte da codificao do modo de endereamento
em combinao com o campo Mod.
SIB: Certas codificaes do octeto Mod r/m especificam a incluso de octeto SIB especificar
completamente o modo de endereamento. O octeto SIB consiste de 3 campos: O campo SS (2 bits)
especifica o factor de escala para indexao escalada; o campo ndice (3 bits) especifica o registo de
ndice; o campo Base (3 bits) especifica o registo base.
Laos e Desvios: JMP (desvio incondicional), Jcc (desvio condicional), JCXZ, LOOP (lao), LOOPE,
LOOPNE.
Subrotina e interrupes: CALL (sub-rotinas), INT (interrupes), INTO, RET (retorno), IRET.
Controle Strings: DS:SI Aponta para o primeiro elemento da String fonte, ES:DI Aponta para o primeiro
elemento da String destino
ARM
A arquitetura ARM trabalha com dois tipos de instrues: o ARM e o THUMB.
O conjunto de instrues ARM pode ser dividido em 6 classes:
Instrues de branch
Todos os processadores ARM suportam instrues de branch com saltos condicionais para frente ou para trs
de at 32M. Saltos mais longos podem ser feitos atravs de chamadas de subrotinas como por exemplo o
Branch whith Link (BL) que mantem o endereo de retorno no LR (R14).
A arquitetura ARM suporta dois tipos de instrues de load e store que transferem o contedo de um
registrador para a memria ou ao contrrio.
O primeiro tipo pode carregar ou escrever uma parava de 32 bits ou um byte sem sinal.
O segundo tipo pode ler ou escrever meia palavra de 16 bit sem sinal, e pode carregar e sinalizar meia palavra
de 16 bit ou um byte. Este tipo de instruo est disponvel apenas para a arquitetura ARM verso 4 ou
posterior.