emmenezes / sb_ia32

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Estudo de Assembly IA-32

Como rodar com makefile

Compilar sem gdb:

make file=diretorio/arquivo.asm

Ou

make file=diretorio/arquivo.asm gdb=0

Compilar com gdb:

make file=diretorio/arquivo.asm gdb=1

Como rodar manualmente

Para compilar:

nasm -f elf -o teste.o arquivo.asm

Para ligar:

ld -m elf_i386 -o teste teste.o

Se for feito uso do módulo io.mac, é importante incluí-lo.

ld -m elf_i386 -o teste teste.o io.o

Para usar o gdb:

gdb arquivo

Para usar o gdb, é importante de não esquecer de adicionar labels para criar os breakpoints durante a execução pelo terminal.

Comandos usados:

b label     // seta breakpoint
r           // run
i r         // informações sobre todos os registradores
c           // continue
display %r  // configura para mostrar o registrador r a cada passo

Lista de questões

Questões simples

Arquivo Função
X numeros Converte string para int um número de até 4 dígitos
X string_reversa Programa que reverte uma string, por @gss214
X divisao Exemplo simples de uso da função de idiv (divisão com sinal)
X carry Exemplo do uso do jump condicional do carry com multiplicação
X multiplica_dez Multiplica inteiro com dez com deslocamento e soma

Questões complexas

Arquivo Função
X multiplicacao_matriz Multiplicação de duas matrizes, 1x10 e 10x10, com uso de passagem de ponteiros para a função
X escolhe_numero Função que usa variáveis locais para alterar número, escolhendo A aumenta 1, escolhendo B diminui 1
calculadora Faz uma calculadora que realiza operações de +-*/ simples entre dois operandos
haikai Editor de haikais, que são poesias de três frases. É possível reescrever cada linha feita, e quando estiver pronto, o haikai é impresso na tela
cal_polinomial Calculadora de equações polinomiais, é inserido os coeficientes, e a calculadora mostra a equação e imprime o valor da equação para x = 0, x = 1, x = 2

Questões com arquivos

Mais informações podem ser obtidas em Arquivos

Arquivo Função
X cria_fecha Cria um arquivo chamado teste.txt e fecha

Questões dos slides

As questões podem ser encontradas na pasta slides

Arquivo Slide Função
X hello Aula 13 - Slide 23 Imprime Hello World
X kangaroo Aula 13 - Slide 24 Imprime KANGAROO e depois imprime kangaroo
X welcome Aula 13 - Slide 25,26 Recebe nome e número n, imprime apresentação e n vezes a mensagem de boas-vindas
X struct Aula 14 - Slide 26,27,28,29 Usa estrutura de dados
X matrix Aula 14 - Slide 35 Faz soma de duas matrizes
X iomac Aula 15 - Slide 12 Execução básica com io.mac
X soma64bits Aula 15 - Slide 42 Soma de 64 bits com registradores dde 32
X condicional_aninhado Aula 16 - Slide 14 Recebe número em binário e retorna número por escrito
X loop Aula 16 - Slide 18 Exemplo com loop
X while Aula 16 - Slide 19 While usando loop
X loop_in_loop Aula 16 - Slide 20 Loops dentro de loop
X break Aula 16 - Slide 22 Exemplo com break
X continue Aula 16 - Slide 23 Exemplo com continue
X soma_funcao Aula 17 - Slide 4 Exemplo com chamada de procedimento
X soma_funcao_pilha Aula 17 - Slide 18,19,20 Exemplo com procedimento passando parâmetros pela pilha
X fibonacci_pilha Aula 17 - Slide 29 Exemplo com fibonacci usando funções e pilhas

About


Languages

Language:Assembly 99.8%Language:Makefile 0.2%