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
To embed this project on your website, copy the following code and paste it into your website's HTML: