https://github.com/ranixx1/assembly
Arquitetura de computadores - TADS
https://github.com/ranixx1/assembly
assembly mips
Last synced: 9 months ago
JSON representation
Arquitetura de computadores - TADS
- Host: GitHub
- URL: https://github.com/ranixx1/assembly
- Owner: ranixx1
- Created: 2025-09-19T15:01:31.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2025-09-27T18:19:36.000Z (9 months ago)
- Last Synced: 2025-09-27T18:24:57.523Z (9 months ago)
- Topics: assembly, mips
- Language: Assembly
- Homepage:
- Size: 13.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
RESUMÃO DE APOIO
SOMA
```assembly
.text
main: addi $8,$0,5 # soma 0 com 5 e adiciona no registrador 8
addi $9,$0,6 # soma 0 com 6 e adiciona no registrador 9
add $10,$8,$9 # soma os valores armazenados nos registradores
```
Questao aula
Somar 4 números
```assembly
main: addi $8,$0,6
addi $9,$0,9
addi $10,$0,4
addi $11,$0,4
add $20,$8,$9
add $20,$20,$10 # mesma lógica que x = x+1
add $20,$20,$11
```
Syscall
Soma com duas entradas
```assembly
.text
main:
# --- Etapa 1: Ler o primeiro número do usuário ---
addi $2, $0, 5 # Carrega o código da syscall 5 (read_int) em $v0
syscall # Executa a syscall. O inteiro lido fica em $v0
add $8, $0, $2 # Copia o inteiro lido de $v0 para $t0 ($8)
# --- Etapa 2: Ler o segundo número do usuário ---
addi $2, $0, 5 # Carrega novamente o código 5 em $v0
syscall # Executa a syscall. O novo inteiro fica em $v0
add $9, $0, $2 # Copia o segundo inteiro de $v0 para $t1 ($9)
# --- Etapa 3: Calcular a soma ---
add $10, $8, $9 # Soma $t0 e $t1, guarda o resultado em $t2 ($10)
# --- Etapa 4: Imprimir o resultado na tela ---
add $4, $0, $10 # Move o resultado (de $t2) para $a0 ($4) para impressão
addi $2, $0, 1 # Carrega o código da syscall 1 (print_int) em $v0
syscall # Executa a syscall, imprimindo o valor de $a0
```
Quadrado de um número
```assembly
.text
main: addi $2,$0,5
syscall
add $8,$0,$2 # input
mult $8,$8
mflo $10 # Multiplica por ele mesmo e adiciona no reg 10
add $4, $0, $10 # Cria uma cópia do reg 10 para o reg 4
addi $2,$0,1
syscall
```
Média de dois números
```assembly
.text
main: addi $2,$0,5
syscall
add $8,$0,$2
addi $2,$0,5
syscall
add $9, $0, $2
addi $7,$0,2
add $10,$8,$9
div $10,$7
mflo $10
add $4,$0,$10
addi $2,$0,1
syscall
```
Principais serviços
```text
1 - imprime valor do $4
5 - lê inteiros do $2
10 - fim da execução
11 - imprimir um char do $4
12 - ler um char do $2
```