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 dentro del rango"
    msj_arriba_lon equ $ - msj_arriba

    msj_abajo db "el digito esta dentro 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

    ;leemos el numero
    mov rax, 0
    mov rdi, 0
    mov rsi, num
    mov rdx, 2
    syscall
    
    ;utilizamos truco de ascii, lo convertimos a entero
    mov al, [num]
    sub al, "0"

    ;Comparamos
    cmp al, 3
    jb abajo ; jump below(salta si esta mas pequeño de)
    cmp al, 7
    ja arriba ;jump above(salta si es mas grande)
    
    ;imprimir mensaje de adentro
    mov rax, 1
    mov rdi, 1
    mov rsi, msj_dentro
    mov rdx, msj_dentro_lon
    syscall
    jmp salir
    
    ;imprimir mensaje de abajo
abajo:
    mov rax, 1
    mov rdi, 1
    mov rsi, msj_abajo
    mov rdx, msj_abajo_lon
    syscall
    jmp salir

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

    ;salida
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: