ARM Advanced RISC Machine


I    Evolução da Família;
¡@
II   Esquema geral de funcionamento;
¡@
III  Tipos de dados aceitos;
¡@
IV  Gerenciamento de memória;
¡@
V   Endereçamento de memória;
¡@
VI   Informações de mercado;
¡@
VII  Assembly;
¡@
VIII Estrutura de procedures e functions;
¡@
IX  Exemplos de lógicas em Assembly;
¡@
X   Referências Bibliográficas.

Exemplo de Aplica das Instruções Assembly

Instrução
¡@
Linguagem equivalente em C
¡@
-------------
¡@
---------------------------
¡@
mov rx, ry
¡@

rx = ry  // Move o conteúdo do reg. ry para rx
¡@

mov rx, ry lsl #5 
¡@

rx = ry << 5 // Realiza um Shift Left Lógico
¡@

mov rx, ry lsr #6
¡@
rx = ry >> 6 // Realiza um  Shift Right Lógico
¡@
mov rx, #0x12
¡@
rx = 0x12  // Move x12 para rx
¡@
mov rx, #0x21, 28
¡@
//rx = 0x21 rotate right 28 bits
¡@
str    rx, [ry, #0x12]DWORD*ry
¡@
//ry[0x12/4] = rx
¡@

¡@
// Armazena o rx na posição de memória ry + x12
¡@
str    rx, [ry, rz]DWORD *ry
¡@
//ry[rz/4] = rx 
¡@

¡@
// Armazena rx na posição de memória ry + rz
¡@
ldr    rx, [ry], -rz
¡@
//ry -= rz;  rx = *ry
¡@
cmp  rx, ry
¡@
//Compara rx com ry, e seta o flags condicional
¡@
¡@ //adequadamente, por exemplo, Z = (rx == ry)
¡@
cmp  rx, #0x12
¡@
//Compara rx com 0x12
¡@
add   rx, ry, #0x12
¡@
//rx = ry + 0x12
¡@
sub   rx, ry, #0x12
¡@
//rx = ry ¡V 0x12
¡@
mul   rx, ry, #0x12
¡@
//rx = ry * 0x12
¡@
orr    rx, ry, #2
¡@
//rx = ry | 2
¡@
and   rx, ry, #2
¡@
//rx = ry & 2
¡@
bic    rx, ry, #5
¡@
//rx = ry & ~5 // Bit Clear
¡@
bx     rx
¡@
//rx(); // Jump para o endereço que está em rx
¡@

 

Voltar