From 62cbc969c7f930a86d7c9cbab254b3293f3c3f18 Mon Sep 17 00:00:00 2001 From: Vinicius Silva Date: Wed, 26 Jun 2024 14:58:48 +0000 Subject: [PATCH] @ Changes to be committed: modified: 05_calc/calc.s --- 05_calc/calc.s | 62 ++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 9 deletions(-) diff --git a/05_calc/calc.s b/05_calc/calc.s index e497cbb..f23a98b 100644 --- a/05_calc/calc.s +++ b/05_calc/calc.s @@ -2,36 +2,80 @@ .section .rodata -prompt_msg: .ascii "Calculator:\n Type [+]: SUM\n Type [-]: SUB\n Type [*]: MUL\n" -prompt_size: .byte .-prompt_msg +prompt_msg: .string "Calculator:\n Type [+]: SUM\n Type [-]: SUB\n Type [*]: MUL\n" +prompt_size: .byte .-prompt_msg + +first_number: .string "Type the first number:\n" +second_number: .string "Type the second number:\n" + +second_number_size: .byte .-second_number +first_number_size: .byte .-first_number + +buffer_size: .byte .-buffer +buffer_first_number_size: .byte .-buffer_first_number +buffer_second_number_size: .byte .-buffer_second_number_size + -operand_size: .data .section .bss -operand: .space 255 +buffer: .space 255 +buffer_first_number: .space 255 +buffer_second_number: .space 255 .section .text .global _start _start: + la a1, prompt_msg + lbu a2, prompt_size + call prompt + + la a1, buffer + lbu a2, buffer_size + call read + + la a1, first_number + lbu a2, first_number_size + + call prompt + + la a1, buffer_first_number + lbu a2, buffer_first_number_size + + call read + + la a1, second_number + lbu a2, second_number_size + + call prompt + + la a1, buffer_second_number + lbu a2, buffer_second_number_size + + call read + #call switch_case #call print call exit +#print: +# addi a0, zero, 1 +# mov a1, t0 +# add a2, zero, t1 +# addi a7, zero, 64 +# ecall +# ret + read: addi a0, zero, 0 - la a1, operand - lbu a2, operand_size addi a7, zero, 63 ecall ret prompt: - addi a0, zero, 1 - la a1, prompt_msg - lbu a2, prompt_size + addi a0, zero, 1 addi a7, zero, 64 ecall ret