section .data
prompt db "Introduce un digito (0-9): ", 0
prompt_lon equ $ - prompt
msj_dentro db "El digito esta DENTRO del rango"
msj_dentro_lon equ $ - msj_dentro
msj_arriba db "El digito esta POR ENCIMA del rango"
msj_arriba_lon equ $ - msj_arriba
msj_abajo db "El digito esta POR DEBAJO del rango"
msj_abajo_lon equ $ - msj_abajo
num times 2 db 0
section .text
global _start
_start:
; Pedimos el número
mov rax, 1
mov rdi, 1
mov rsi, prompt
mov rdx, prompt_lon
syscall
; Leemos el número
mov rax, 0
mov rdi, 0
mov rsi, num
mov rdx, 2
syscall
; Convertimos a entero
mov al, [num]
sub al, "0"
; Comparamos
cmp al, 3
jb abajo
cmp al, 7
ja arriba
; Imprimir mensaje adentro
mov rax, 1
mov rdi, 1
mov rsi, msj_dentro
mov rdx, msj_dentro_lon
syscall
jmp salir
abajo:
; Imprimir mensaje abajo
mov rax, 1
mov rdi, 1
mov rsi, msj_abajo
mov rdx, msj_abajo_lon
syscall
jmp salir
arriba:
; Imprimir mensaje arriba
mov rax, 1
mov rdi, 1
mov rsi, msj_arriba
mov rdx, msj_arriba_lon
syscall
salir:
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: