Notas de Aula - MAC 211 - Laboratório de Programação
Aula 4 - 13/3/2001
-
Soma de numeros em binario
-
exercicio: 11011011 + 10001111 = 101101010 <=> 219 + 143 = 362
-
Numeros negativos
-
usando so bit de sinal e mantendo numeros do mesmo jeito
-
usando complemento de 2: mais facil de fazer operacoes aritmeticas
-
dois passos: 1) inverte todos os bits (NOT) 2) soma 1
-
no 80x86 isso pode ser feito direto com NEG
-
exercicio: calcular -5 em binario e depois somar a 5
-
exercicio: calcular 133 + (-33) em binario
-
7FFFh: +32767, o maior positivo em 16 bits.
-
8000h: -32768, o menor negativo em 16 bits.
-
MUL op
-
IMUL op
-
DIV op
-
IDIV op
-
INC op
-
DEC op
-
Chamadas ao Sistema Operacional (citar BIOS e ensinar Linux)
-
1) colocar numero da chamada ao sistema em eax
-
2) colocar 3 primeiros argumentos em ebx, ecx, edx (mais esi e edi se necessario).
-
3) INT $0x80
-
4) o valor retornado volta em eax
-
Declaracao de variaveis e strings
-
Nosso primeiro programa completo em assembly. (retirado do Linux Assembly
HOWTO)
-
mostrar primeiro versão com sintaxe Intel
Página de MAC211
Página do Fabio
Página do DCC