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