Você está na página 1de 2

Atividade assíncrona de programação ASSEMBLY

Disciplina: Arquitetura de Computadores


Aluna: Eduarda Maria de Albuquerque Chagas

1. imparoupar.c // imparoupar.ASM

2.

O Tamanho varia de 4 bytes para 8 bytes do int para o long int.


DWORD = 32bits para o int e QWORD = 64 bits (long int)

3.
4. raizquadrada.c // raizquadrada.ASM
5. float - 4 bytes; double - 8 bytes; long double - 16 bytes. (independente da
arquitetura).
6. contarcaracteres.c // contarcaracteres.ASM
HEADER
.intel_syntax
.global main
.text
STRINGS UTILIZADAS NO PROGRAMA
.LC0:
.string "Insira um numero inteiro:"
.LC1:
.string "%d"
.LC2:
.string "O numero eh par!"
.LC3:
.string "O numero eh impar!"
main:
push %rbp
mov %rbp, %rsp
sub %rsp, 16 (quantidade de dígitos)
mov %edi, OFFSET FLAT:.LC0
call puts
lea %rsi, [%rbp-4] (tamanho de bytes da variável)
mov %edi, OFFSET FLAT:.LC1
mov %eax, 0
call scanf (função de leitura: scanf)
mov %eax, DWORD PTR [%rbp-4] (tamanho da variável)
and %eax, 1
test %eax, %eax
jne .L2
mov %edi, OFFSET FLAT:.LC2
call puts
jmp .L4
.L2:
mov %edi, OFFSET FLAT:.LC3
call puts
.L4:
mov %eax, 0
leave
ret
7.
8. senha.c // senha.ASM (função getch(); da erro no código assembly)
9. senha.c // senha.ASM (função getch(); da erro no código assembly)
10. questao10.c (tentativa pelo método criptografar de césar)

Você também pode gostar