You are on page 1of 5

UNIVERSIDAD NACIONAL DEL CALLAO-FIEE

PROBLEMAS RESUELTOS DE EMU8086


15.-realizar un programa que ingrese dos nmeros por teclado de 0 a 9 y me
compare si es mayor ,menor o si es igual:
por ejemplo:
si yo ingreso por teclado lo siguiente
A=4 , B=8
me debe mostrar por pantalla B>A
OBS: utilizando la funcin call para resumir cdigo
SOLUCION:
.MODEL SMALL
.STACK
.DATA
MEN1 DB 13,10,'INGRESE VALOR PARA A= $'
MEN2 DB 13,10,'INGRESE VALOR PARA B= $'
MEN3 DB 13,10,'A=B $'
MEN4 DB 13,10,'A>B $'
MEN5 DB 13,10,'A<B $'
.CODE
INICIO:
MOV AX,@DATA
MOV DS,AX
LEA DX,MEN1
CALL IMPRIMIR
CALL TECLEAR
MOV BL,AL
LEA DX,MEN2
CALL IMPRIMIR
CALL TECLEAR
MOV CL,AL
CALL COMPARAR

IMPRIMIR:
MOV AH,09H
INT 21H
RET
TECLEAR:
MOV AH,01H
INT 21H

UNIVERSIDAD NACIONAL DEL CALLAO-FIEE


RET
COMPARAR:
CMP BL,CL
JE IGUAL
JL MENOR
JGE MAYOR
IGUAL:
LEA DX,MEN3
CALL IMPRIMIR
JMP SALIR
MENOR:
LEA DX,MEN5
CALL IMPRIMIR
JMP SALIR
MAYOR:
LEA DX,MEN4
CALL IMPRIMIR
JMP SALIR
SALIR:
MOV AH,4CH
INT 21H
END INICIO
1.- ESCRIBIR UN PROGRAMA QUE DIBUJE UNA DIAGONAL EN LA PANTALLA
MOV CX,1
MOV AL, 13H
MOV AH, 0
INT 10H ; SET GRAPHICS VIDEO MODE.
BUCLE1:
MOV DX, CX
MOV AL, COLOR ;AL = PIXEL COLOR
MOV AH, 0CH ;CHANGE COLOR FOR A SINGLE PIXEL
INT 10H ;SET PIXEL
CMP CX, 101 ;LLEGAR HASTA 100 X 100 (VA EN DIAGONAL)

UNIVERSIDAD NACIONAL DEL CALLAO-FIEE


JZ FIN
INC CX ;DX = ROW.
ADD COLOR, 2 ;PARA CAMBIAR COLORES
JMP BUCLE1 ;CX = COLUMN
FIN:
RET
COLOR DB 1
16.- Realizar un programa que limpie la pantalla dejando el fondo
ROJO
SI SE SABE QUE QUE CUANDO SE MUEVE AL REGISTRO MOV AX,4000H
;FONDO ROJO
;-----------------------------------------------------------------------------;DEFINICIN DEL SEGMENTO DE PILA
;-----------------------------------------------------------------------------PILA SEGMENT STACK "STACK"
DB 40H DUP(0)
PILA ENDS
;-----------------------------------------------------------------------------;DEFINICIN DEL SEGMENTO EXTRA
;-----------------------------------------------------------------------------EXTRA SEGMENT
RESULT DW 0,0
EXTRA ENDS
;-----------------------------------------------------------------------------;DEFINICIN DEL SEGMENTO DE CODIGO
;-----------------------------------------------------------------------------CODE SEGMENT
ASSUME CS:CODE,ES:EXTRA,SS:PILA
START PROC
CLD
MOV
MOV
XOR
MOV
MOV

; DF=0 (INCREMENTAR DI)


AX,PANTALLA
ES,AX
DI,DI
AX,4000H
;FONDO ROJO
CX,2000

UNIVERSIDAD NACIONAL DEL CALLAO-FIEE


REP STOSW
MOV AX,4C00H
INT 21H
START ENDP
CODE ENDS
END START

;REPETIRLO LAS 2000 VECES


;
;TERMINAR EL PROGRAMA

17.- REALIZAR UN PROGRAMA QUE MUESTRE LA TABLA DE CARACTERES


ASCII POR PANTALLA
PANTALLA EQU 0B800H
;-----------------------------------------------------------------------------; PROGRAMA QUE MUESTRA LA TABLA DE CARACTERES ASCII POR
PANTALLA
;-----------------------------------------------------------------------------PANTALLA EQU 0B800H
;-----------------------------------------------------------------------------;DEFINICION DEL SEGMENTO DE PILA
;-----------------------------------------------------------------------------PILA SEGMENT STACK "STACK"
DB 40H DUP(0)
PILA ENDS
;-----------------------------------------------------------------------------;DEFINICION DEL SEGMENTO DE CODIGO
;-----------------------------------------------------------------------------CODE SEGMENT
ASSUME CS:CODE, SS:PILA
START:
MOV AX,PANTALLA
MOV DS,AX
XOR BX,BX
XOR AL,AL
MOV CX,256
TABLA ASCII

;NUMERO DE CARACTERES QUE CONTIENE LA

MOSTRAR_ASCII:
MOV [BX],AL
;ESCRIBIRLO EN LA COORDENADA DE LA PANTALLA
INC BX
;
INC BX
;PASAR A LA SIGUIENTE COORDENADA
INC AL
;PASAR AL SIGUIENTE CARACTER
LOOP MOSTRAR_ASCII

UNIVERSIDAD NACIONAL DEL CALLAO-FIEE


MOV AX,4C00H
INT 21H
CODE ENDS
END START

;
;TERMINAR EL PROGRAMA

You might also like