Tópico anterior

Aula 7: Exponenciação modular

Próximo tópico

Calcular o fatorial apenas com somas (Aula 1)

Esta Página

SASM: O Montador Simples

É muito importante ter uma idéia de como o seu programa em C é transformado em linguagem de máquina pelo computador. Isso pode mudar sua forma de programar.

Para ter uma melhor idéia de como ocorre esse processo de tradução, é interessante escrever alguns pequenos programas em linguagem de montagem. As linguagens de montagem reais podem ser bem complicadas e técnicas, pois os processadores são complicados. Por isso, criei uma linguagem de montagem simples e um montador para ela, o SASM (Simple Assembler). Essa linguagem de montagem é muito próxima ao pouco que vimos na primeira aula.

Minha sugestão é que você escreva vários pequenos programas para essa linguagem de montagem durante o curso. É particularmente instrutivo resolver um exercício em C e depois pensar em como fazer a mesma coisa em linguagem de montagem. Isso vai melhorar seu raciocínio algorítmico e mudar a maneira como você programa.

Para instalar o SASM no seu computador você precisa de um compilador C (SASM foi escrito em C) e do programa make. Se você usa o Linux ou o Mac OS, tanto o compilador quanto o make são fáceis de instalar (eles provavelmente já vêm instalados no Linux; no Mac OS você deve instalar o XCode). Se você usa o Windows, eu sugiro fortemente que você deixe de usá-lo.

Daí basta baixar o SASM:

  • SASM v0.1, released 2015-03-11, sasm-0.1.tar.bz2 (23K)
  • Manual de referência sasm.pdf (94K)

Entre no diretório que contém o arquivo e digite no terminal:

tar -xvf sasm-0.1.tar.bz2

Isso cria um diretório chamado sasm-0.1. Agora você deve compilar o SASM:

cd sasm-0.1
make

Se tudo correr bem, dentro do diretório sasm-0.1 haverá um arquivo chamado sasm, que é o nosso montador. Para executar um programa SASM você deve escrever algo como:

./sasm programa.sasm

Aqui, suponho que programa.sasm esteja no diretório em que o executável sasm se encontra e que você esteja dentro desse diretório. Se você quiser, pode incluir o diretório do sasm no caminho do sistema, para poder invocá-lo de qualquer diretório (use o Google para descobrir como).

Para começar a usar o SASM, você deve ler o manual de referência cujo link se encontra acima. Depois, explore alguns dos exemplos incluídos. Durante o curso vou disponibilizar alguns outros exemplos.