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
    

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: