ccufcg / oac24.1

OAC 2024.1
GNU General Public License v3.0
1 stars 0 forks source link

GRUPO 02 #2

Open nobregat opened 1 month ago

nobregat commented 1 month ago

@paulormac e @erikdionisio

Vocês podem me fornecer algum .asm para testar o conversor1_ass_bin.py?

paulormac commented 1 month ago

Olá professor, Erik não faz parte desse grupo comigo. Faz parte apenas do grupo da apresentação que fizemos quinta. O código de teste abaixo, testa se a soma entre dois números fornecidos é igual, maior ou menor que 0:

addi x3, x0, 0 # Inicializa o registrador x3 com o valor 0. Este será usado como valor de comparação.

x0 é o registrador zero (contém sempre o valor 0).

add x4, x1, x2 # Soma os valores dos registradores x1 e x2, e armazena o resultado em x4.

O valor de x4 agora é x1 + x2.

beq x4, x3, igual # Se o valor de x4 (soma) for igual a zero (x3), pula para o rótulo "igual".

Se x4 == 0, o programa continua no rótulo "igual".

blt x4, x3, menor # Se o valor de x4 for menor que zero, pula para o rótulo "menor".

Se x4 < 0, o programa continua no rótulo "menor".

Se nenhum dos saltos anteriores for executado, a soma é maior que zero.

j maior # Se x4 > 0, pula para o rótulo "maior".

igual: # Rótulo que indica que a soma é igual a zero.

Aqui o programa imprime a mensagem "A soma é igual a 0".

la a0, mensagem_igual # Carrega o endereço da string "A soma é igual a 0" em a0. li a7, 4 # Chamada de sistema para imprimir string. ecall # Executa a chamada de sistema para imprimir. j fim # Pula para o final do programa.

menor: # Rótulo que indica que a soma é menor que zero.

Aqui o programa imprime a mensagem "A soma é menor que 0".

la a0, mensagem_menor # Carrega o endereço da string "A soma é menor que 0" em a0. li a7, 4 # Chamada de sistema para imprimir string. ecall # Executa a chamada de sistema para imprimir. j fim # Pula para o final do programa.

maior: # Rótulo que indica que a soma é maior que zero.

Aqui o programa imprime a mensagem "A soma é maior que 0".

la a0, mensagem_maior # Carrega o endereço da string "A soma é maior que 0" em a0. li a7, 4 # Chamada de sistema para imprimir string. ecall # Executa a chamada de sistema para imprimir.

fim: # Rótulo para o final do programa. nop # Instrução final para encerrar o programa.

Definição das mensagens em português.

.data mensagem_igual: .asciiz "A soma é igual a 0\n" mensagem_menor: .asciiz "A soma é menor que 0\n" mensagem_maior: .asciiz "A soma é maior que 0\n"