section .data
    prompt db "Introduce un digito (0-9): ", 10
    prompt_lon equ $ - prompt

    msj_dentro db "El digito está DENTRO del rango", 10
    msj_dentro_lon equ $ - msj_dentro

    msj_arriba db "El digito está ENCIMA del rango", 10
    msj_arriba_lon equ $ - msj_arriba

    msj_abajo db "El digito está ABAJO del rango", 10
    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 jmp je jb jbe ja jae
    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 adentro
    mov rax, 1
    mov rdi, 1
    mov rsi, msj_abajo
    mov rdx, msj_abajo_lon
    syscall
    jmp salir

arriba:
    ;imprimir mensaje adentro
    mov rax, 1
    mov rdi, 1
    mov rsi, msj_arriba
    mov rdx, msj_arriba_lon
    syscall

salir:
    mov rax, 60
    mov rdi, 0
    syscall

; jb -> jl
; ja -> jg

Embed on website

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