section .data
msg1 db "Digite o primeiro numero: "
len1 equ $-msg1
msg2 db "Digite o segundo numero: "
len2 equ $-msg2
soma db 10,"Soma: "
lensoma equ $-soma
subtracao db 10,"Subtracao: "
lensub equ $-subtracao
multi db 10,"Multiplicacao: "
lenmulti equ $-multi
section .bss
n1 resb 2
n2 resb 2
resultado resb 2
section .text
global _start
_start:
; Primeiro numero
mov rax, 1
mov rdi, 1
mov rsi, msg1
mov rdx, len1
syscall
mov rax, 0
mov rdi, 0
mov rsi, n1
mov rdx, 2
syscall
; Segundo numero
mov rax, 1
mov rdi, 1
mov rsi, msg2
mov rdx, len2
syscall
mov rax, 0
mov rdi, 0
mov rsi, n2
mov rdx, 2
syscall
; ----------------
; SOMA
; ----------------
mov al, [n1]
sub al, '0'
mov bl, [n2]
sub bl, '0'
add al, bl
add al, '0'
mov [resultado], al
mov rax, 1
mov rdi, 1
mov rsi, soma
mov rdx, lensoma
syscall
mov rax, 1
mov rdi, 1
mov rsi, resultado
mov rdx, 1
syscall
; ----------------
; SUBTRAÇÃO
; ----------------
mov al, [n1]
sub al, '0'
mov bl, [n2]
sub bl, '0'
sub al, bl
add al, '0'
mov [resultado], al
mov rax, 1
mov rdi, 1
mov rsi, subtracao
mov rdx, lensub
syscall
mov rax, 1
mov rdi, 1
mov rsi, resultado
mov rdx, 1
syscall
; ----------------
; MULTIPLICAÇÃO
; ----------------
mov al, [n1]
sub al, '0'
mov bl, [n2]
sub bl, '0'
mul bl
add al, '0'
mov [resultado], al
mov rax, 1
mov rdi, 1
mov rsi, multi
mov rdx, lenmulti
syscall
mov rax, 1
mov rdi, 1
mov rsi, resultado
mov rdx, 1
syscall
; Encerrar
mov rax, 60
mov rdi, 0
syscall
To embed this project on your website, copy the following code and paste it into your website's HTML: