Ensamblador - Código ensamblador

 
Vista:

Código ensamblador

Publicado por Jacksson Yamil Montoya Asprilla (1 intervención) el 24/04/2021 20:50:57
Hola buenas tardes.
Un saludo cordial
Solicito de su ayudad para desarrollar un código en lenguaje ensamblador que
permita leer un número de un digito por teclado y determinar si
el número es par, impar o cero.



INTRO db "Ingrese un número y presione Enter: $"

PAR db "El numero es par$"

IMPAR db "El numero es impar$"

CERO db "El numero es cero$" ;Mensajes a mostrar en pantalla.


mov ah, 01h

int 21h ;Aquí va a esperar entrada por teclado.


cmp al, 30h ; Lo compara con el ascii del cero que es 0x30.

jnz no_cero

mov ah, 09h

mov dx, Offset CERO ; El número es cero

int 21h

jmp fin ;Salta al fin para no ejecutar lo de abajo.


no_cero:

mov bl, 01h;

and al,bl ; Aquí usamos una máscara que ponemos en bl, el registro al queda modificado, el último bit nos dice si el número es par o impar.

cmp al, 01h

jnz es_impar

mov ah, 09h

mov dx, offset PAR ; Si llegó acá el número es par

int 21h

jmp fin


es_impar:

mov ah, 09h

mov dx, offset PAR ; Si llegó acá el número es impar

int 21h


fin:

mov ax,4c00h

int 21h ; finaliza el proceso y vuelve al DOS.


Me sale un mensaje cuando lo corro: "unknown opcode skipped: 67
not 8086 instruction - not supported yet."
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder