Está en la página 1de 3

1.

El estudiante desarrolla 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.

CODIGO
;Autor: Rocio Gomez
;Programa: Ingenieri de sistemas
;Grupo: 111

;codigo en lenguaje ensamblador que permita leer un numero de un


digito por teclado

; determinar si el numero es par, impar o cero.

.model small
.stack 64
.data
cadena db 10,13,
mensaje1 db 10,13,'Ingrese por favor un numero:$'
es_impar db 10,13,'El numero ingresado es IMPAR$'
es_par db 10,13,'El numero ingresado es PAR$'
es_cero db 10,13,'El numero ingresado es CERO$'

.code
mov dx,@data ; inicializa posicion del segmento
mov ds,dx ;de datos, carga en dx la direccion del origen de
los caracteres
;para que se pueda direccionar mas adelnate.

Inicio:

lea dx,cadena ; bucle principal que solicita numero compara e


imprime resultado
mov ax,09h ;
int 21h

mov ah,09h
lea dx,mensaje1
int 21h ;mostramos el mensaje 1
call lee_nums
call compara

lee_nums: ; 01 es el numero de una funcion

mov ah,01
int 21h
sub al,30h
ret

Compara:
cmp AL,0h ;Compara si todo es =0
je cero
and AL,01h ;Lee solo bit0, es una simple tecnica de masacara
cmp AL, 01h ;Comprueba el bit0 para 0(par)o 1(impar)
jz impar

jmp par ;Si el bit no es 1, y al no vale 0


;Es par

impar:
lea dx,es_impar

mov ah,09 ;Escribir en la pantalla


int 21h ;que es impar
jmp Inicio
par:
lea dx,es_par
mov ah,09 ;Escribir en la pantalla
int 21h ;que es par
jmp Inicio
cero:
lea dx,es_cero
mov ah,09 ;Escribir en la pantalla
int 21h ;que es cero
jmp Inicio

end
PANTALLAZOS

También podría gustarte