Home
Aldeia Numaboa

Um portal diferente em Português
sem propaganda, sem Google ads e sem banners.

Na Aldeia

Há 94 visitantes online

2775 registros
4 hoje
14 nesta semana
55 neste mês

Boas vindas: lvcivs

Estatística

Artigos: 823
Artigos lidos: 3848387
Arquivados: 41
Downloads: 410
Baixados: 161052
Glossário: 1196
Bibliografia: 24
JoomlaWatch Stats 1.2.7 by Matej Koval

Visitas de onde?

88,2%Brasil Brasil
9,2%Portugal Portugal
0,8%EUA EUA
0,2%Espanha Espanha
0,1%Alemanha Alemanha

Visitantes

Hoje: 298
Ontem: 1831
Esta semana: 8618
Semana passada: 13257
Este mês: 38359
Mês passado: 49141
Total: 104079

Registro/Login

Para fazer login ou registrar-se

Usuários registrados têm algumas regalias!

Sex

25

Mai

2007


21:08

3. Curso relâmpago de Assembly PDF Imprimir Indique esta página
Avaliação: / 31
PiorMelhor 
Oficina de Informática - Sistemas Operacionais
Escrito por vovó Vicki   


Índice do Artigo
3. Curso relâmpago de Assembly
Um pequeno programa
Mais Assembly
Funções
Pilha e Segmentos
Considerações finais
Todas as páginas

Nível avançado MÓDULO 3 do SO Numaboa

Um dos requisitos para poder começar a pensar em criar um sistema operacional é conhecer a linguagem de programação Assembly (não é programação assembler, é Assembly mesmo ).

Isto você já sabe (se leu o tutorial anterior), pois o Assembly é a melhor forma que temos para nos comunicarmos com o processador. Se você não tiver a mínima noção do que se trata, sugiro que se dedique um pouco ao assunto. Na Aldeia NumaBoa você encontra alguma coisinha. Para aqueles que não querem se aprofundar no Assembly, para os que já têm algum conhecimento da linguagem ou para os mais preguiçosos, basta seguir este Curso Relâmpago.

Se você conseguir acompanhar e entender o texto - tudo bem, vá em frente. Se não for este o caso, sugiro que desista deste tutorial, pelo menos por enquanto

Ferramentas

  • NASM - o compilador Assembly. As versões mais atualizadas e a documentação estão disponíveis para download no site oficial do NASM. A versão 0.98.39 para Windows está disponível aqui na Aldeia na seção de downloads (Informática / Compiladores).
  • helpPC - Onde você encontra todas as referências imagináveis. Faça o download do helppc versão 2.1 aqui na Aldeia (downloads Informática / Referências e Manuais) ou procure-o pela Internet.

A linguagem Assembly

Todo processador possui um conjunto de instruções próprio. É como se fosse uma "linguagem" embutida dentro da CPU. Cada instrução possui um código operacional e realiza determinada tarefa dentro do processador utilizando seus registradores. Estes códigos são identificados por números. Na linguagem Assembly estes números são transformados nos chamados mnemônicos para facilitar a programação. Assim, por exemplo, o número hexadecimal B2 (178 decimal) corresponde a MOV DL em Assembly. MOV é o mnemônico de MOVer e DL é o byte menos significativo do registrador DX.

Os registradores

Registradores são áreas de trabalho especiais dentro do microprocessador projetadas para trabalharem com códigos operacionais. São uma espécie de "memória" da CPU e servem para armazenar informações temporariamente.

Os registradores mais utilizados são 8, chamados de uso geral. Destes, usaremos com frequência apenas 4: AX, BX, CX e DX. Estes registradores podem armazenar 16 bits, ou seja, 2 bytes (nas máquinas de 32 bits, assim chamadas porque os registradores da sua CPU podem armazenar 32 bits, estes mesmos registradores recebem os nomes de EAX, EBX, ECX e EDX).

Não é à toa que os registradores receberam estes nomes: AX é também o Acumulador, BX é a Base, CX é o Contador e DX vem de Dados. Os nomes derivam do uso mais frequente destes registradores.

Com Assembly podemos acessar diretamente os dois bytes (2 bytes = word) dos registradores de 16 bits ou podemos acessar diretamente o byte mais significativo ou superior (high) ou menos significativo ou inferior (low). Assim, por exemplo, podemos usar instruções com AX (word), AH (byte superior de AX) ou AL (byte inferior de AX), com BX, BH ou BL, etc.

É claro que existem mais registradores, mas não precisaremos deles por enquanto.

A instrução MOV

Esta instrução, uma das mais usadas, copia dados de um local para outro e o mnemônico deriva de MOVer. Veja alguns exemplos de uso:

mov   ax, 1             ; Move 1 para AX, ou seja, AX = 1
mov   bx, ax            ; Move o valor de AX para BAX, ou seja, BX = AX
 
mov   cl, 0x12          ; CL = 12 hex  (CL = o byte baixo de CX)
mov   ch, 0x34          ; CH = 34 hex  (CH = o byte alto de CX)
 
mov   dx, 0x3412        ; DX=3412hex, DH=34hex, DL=12hex

A instrução INT

A instrução INT gera uma interrupção de software. O DOS e a BIOS fornecem muitas funções úteis que podem ser acessadas através desta instrução:

INT   0x10              ; chama uma interrupção 10hex de software


Última atualização ( Seg, 14.04.2008 23:57 )
 

Topo