1. Lógica
  2. Lógica de Programação
  3. Portugol
  4. Arquitetura básica de computadores
  5. Bit, Byte, Word e etc.
  6. Numéros decimais, hexadecimais e sinalização.

Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

Introdução

Nesta parte do tutorial vamos ter conhecimento básico sobre o ARM como características, uso e processadores variantes/derivados, versões, ferramentas e outros.

Quero aprender »

Registradores

A ARM v4 possui 16 registradores para armazenar informações. Nesta parte do tutorial vamos estar quais são os registradores e seus usos gerais ou específicos.

Quero aprender »

Tipos de dados

Para a manipulação de dados em nossos programas, precisamos ter conhecido do tamanho dos dados utilizados pela ARM bem como suas características.

Quero aprender »

Memória

Com 4GB de mémoria endereçável, precisamos ter conhecimento sobre como os dados são armazenados, registradores mapeados em memória, mapeamento de memória e outros.

Quero aprender »

Entrada e Saída

Entrada e saída é a forma como que um processador ARM troca informações com outros processados ou periféricos que será discutido nesta parte.

Quero aprender »

Pilha

Para realizarmos backups de registradores de dados e endereço, precisamos ter o conhecimento básico sobre as características da pilha da ARM que podem ser vistas aqui.

Quero aprender »

Interrupções

As interruções são úteis para tratamento de eventos internos ou externos ao processador ARM. Assim, precisamos entender as interrupções e os Hard Vectors.

Quero aprender »

Formato das Instruções

As instruções na ARM são formadas por bytes sequênciais. Cada instrução possui seu formato de acordo com os modos de endereçamento, registradores e condições utilizadas.

Quero aprender »

Modos de Endereçamento

Para realizar movimentação de dados em memória, precisamos entender as modos de endereçamento que a ARM define para o acesso aos nossos dados.

Quero aprender »

Movimentação | Permuta | CPSR

Nesta parte, vamos ver as instruções de movimentação de dados entre registradores e também as instruções de permuta e cópia de dados.

Quero aprender »

Load | Store

Como a ARM é uma arquitetura do tipo Load and Store, nesta parte, vamos aprender as instrução para leitura e escrita de dados em memória.

Quero aprender »

Pilha/Stack

A pilha é utilizada para backup de dados, passagem de parâmetros e outros. Assim, precisamos aprender as instruções voltadas para uso da pilha na ARM.

Quero aprender »

Soma | Subtração

A ARM possui um grupo de instruções para executar operações de soma e subtração. As instruções ADD, SUB e outras serão estudadas nesta parte.

Quero aprender »

Multiplicação | Divisão

Além das instruções de adição e substração, a ARM fornece instruções para multiplicação. As instruções MUL, MLA e outras podem ser vistas aqui.

Quero aprender »

Lógica/bit-a-bit

As instruções bit-a-bit são responsáveis por "setar" , "resetar" e testar bits em registradores. AND, ORR e outras serão estudadas nesta parte do tutorial.

Quero aprender »

Comparação | Teste

Para tomada de decisão, a ARM utiliza as instruções de comparação usadas com conjunto com instruções de controle de fluxo. CMP, CMN e outras serão estudadas aqui.

Quero aprender »

Controle de Fluxo

Para o controle de fluxo de execução a ARM fornece as instruções de desvio Branch e outras que podem ser conferidas nesta parte do estudo.

Quero aprender »

Rotação | Deslocamento

Com as instruções de deslocamento podemos movimentar os bits à direita ou esquerda de um registrador. Aqui vamos ver LSL, ROR, RRX e outras instruções.

Quero aprender »

Coprocessador

ARM define alguns instruções para troca de informações com coprocessadores. Aqui vamos ver o básico sobre as instruções CDP, LDC, MCR e outras.

Quero aprender »

Outras | Pseudo instruções

Todas as instruções que não se encaixam nos grupos de instruções acima serão agrupadas nesta seção. Pseudo instruções como ADR, NOT e outras serão estudas.

Quero aprender »

Introdução

Antes de iniciarmos o tutorial, é sempre necessário dicutirmos alguns detalhes sobre a tópicos, ferramentas o outros itens.

Quero aprender »

Variáveis/Constantes

Como em toda a linguagem de programação, vamos aprender a declara e atribuir valores a variáveis e constantes.

Quero aprender »

Tomando decisão

Nesta parte, vamos ver como podemos tomar decições na execução de nossos programas utilizando as flags do CPSR.

Quero aprender »

Fazendo loops

Vamos ver como funcionam os famosos loops em baixo nível. As intruções aprendidas em Decisão também serão utilizadas nesta parte.

Quero aprender »

Função/Subrotina

Assim como em linguagens de alto nível, vamos ver como são criadas e invocadas funções utilizando o ARM.

Quero aprender »

Operações Aritméticas

Com as instruções aritméticas básicas, vamos aprender a somar, substrair, dividir e multiplicar valores nos registradores.

Quero aprender »

Utilizando a Pilha

Aqui vamos aprender como fazer backup de nossos registradores, recuperar e passar parâmetros utilizando a pilha.

Quero aprender »

Lidando com Interrupção

Nesta parte, vamos ver a como definir nosso VDI e ver o básico sobre o tratamento de interrupções predefinidas e outros tipos.

Quero aprender »

Operações Bit-a-bit

Vamos aprender a como setar, resetar, inverter bits ou outros utilizando as instruções básicas de bit-a-bit.

Quero aprender »

Manipulando Array e Struct

Nesta parte do tutorial, vamos ver o básiso sobre declaração de arrays e acesso aos seus elementos.

Quero aprender »