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 numero
    mov rax, 1
    mov rdi, 1
    mov rsi, prompt
    mov rdx, prompt_lon
    syscall

    ;leemos el numero
    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: