You are on page 1of 25

LECTOR DE

CARACTERES EN
UN DISPLAY DE 7
SEGMENTOS
INFORME N3
Curso:

Microcomputadoras I

Profesor:
Pinedo

Ing. Luis Caldern

Integrantes: Gian Marco Arellano


Siancas
Luis Felipe Barba Sosa
Jean Carlo Honores Castillo
Ciclo:
Facultad:

IX Ciclo
Ingeniera Informtica

2014

INDICE

OBJETIVO
I
PLANTEAMIENTO DEL
PROBLEMA.II
MATERIALES
.III
MARCO
TEORICO
....IV
4.1 DESCRIPCION DEL PUERTO PARALELO

ACCESO AL
PUERTO
V
DESARROLLO
.VI
6.1 MONTAJE DEL CIRCUITO
6.2 DIAGRAMA DE FLUJO
6.3 CODIGO ENSAMBLADOR
2|P g i n a

CONCLUSIONES
..VII

I.

OBJETIVOS

OBJETIVOS GENERALES

El objetivo de nuestro proyecto es la utilizacin y manejo de un


display de siete segmentos va puerto paralelo de una
computadora, dicho manejo de este hardware se tendr que lograr
utilizando lenguaje ensamblador el cual estamos viendo en el
transcurso del semestre, tambin mediante ste proyecto
queremos hacer notar el gran uso que puede tener el puerto
paralelo de una computadora, el cual cada vez est siendo menos
utilizado e incluso eliminado de las computadoras personales de
hoy en da.

En cuanto al funcionamiento del display de siete segmentos, se


pretende utilizarlo para mostrar todas las letras posibles del
alfabeto espaol, dichas letras sern ledas de un archivo y
mandadas al display va el puerto paralelo, con un pequeo
retardo para mejorar la visualizacin de las letras ledas.

3|P g i n a

En lo que concierne a la lectura del archivo y el envo de los datos


al display va el puerto paralelo, se pretender lograrlo mediante
el uso del lenguaje Turbo ensamblador.

OBJETIVOS ESPECIFICOS

Realizar cada uno de los procedimientos por partes.


Estudiar la estructura de sus componentes como son el puerto
paralelo, el display, etc.
Estudiar la teora necesaria para cada uno de los componentes del
proyecto.
Lograr el ensamblado del puerto paralelo con los cables y
conectarlos a las patillas del led ctodo comn.
Aprender cada da ms nuevas pautas y comandos del lenguaje
ensamblador.

II. PLANTEAMIENTO DEL PROYECTO


DISPLAY DE 7 SEGMENTOS
Se haba planteado en el equipo el trabajar en el montaje de un circuito
que usara un mnimo de componentes y proporciona un test funcional de
8 bits. Cada bit de la entrada poda ser individualmente controlado y
visualizado en los LED de salida. Tomando en cuenta los diodos LED que
actan en un Display, estos se alimentan nicamente con la corriente
proporcionada por las propias salidas del puerto paralelo, por lo tanto se
tendra que alimentar los LED y utilizar la corriente absorbida para
iluminarlos, pero el conector no proporciona una seal de alimentacin
(Vcc) suficiente, de modo que se necesitara una fuente externa, ante tal
necesidad se pens en sustituir en los montajes anteriores el sistema de
visualizacin mediante 8 diodos LED por un display numrico de 7
segmentos ms un punto decimal. El circuito resulta as ms compacto y
seguro en cuanto al cuidado del puerto paralelo y por lo tanto de la
tarjeta madre de nuestra computadora.

4|P g i n a

Figura 1.
Ahora bien tomando en cuenta, si se trata de un display de nodo
comn hay que alimentar con Vcc= +5 V las dos lneas sealadas como
comunes en la figura, y es preciso poner a tierra la lnea correspondiente
al segmento que se quiere iluminar. Si se trata de un display de
ctodo (que sera el objeto de trabajo) comn, hay que alimentar con
+5 V el segmento que se desea iluminar y poner a tierra las dos lneas
comunes.
As, en un display de ctodo comn, las lneas 1-8 se pueden conectar
directamente a las lneas de datos del puerto (pines 2-9 del conector
DB25), y las dos lneas comunes se pueden conectar a cualquiera de las
patillas de tierra del conector, por ejemplo, la 25.

III. MATERIALES
1.- Protoboard

2.-Un cable extensin de puerto paralelo (opcional).

5|P g i n a

4.- Display de 7 segmentos de ctodo comn.

5.- conector macho DB25 para cable plano.

6.- Y por consiguiente la implementacin del cdigo en lenguaje


ensamblador, el cual consta de leer un archivo y desplegar carcter por
carcter a travs del display, tomando en cuenta que no se podra
visualizar caracteres como M, X, etc.

IV. MARCO TEORICO

Introduccin
El puerto paralelo se utiliza generalmente para manejar las impresoras.
Sin embargo, puesto que este puerto tiene un grupo de entradas y de
salidas digitales, que podemos hacer experimental prctico de la lectura
de datos y del control de dispositivos. Este trabajo intenta darle ms
relevantes los aspectos del puerto paralelo, de modo que usted pueda
utilizar como un interfaz de la salida de la entrada, que trabaja de una
manera subordinada a las rutinas del software.

6|P g i n a

Hace aos, IBM dise el puerto paralelo para manejar impresoras desde
su gama de microcomputadores PC/XT/AT. Un conector estndar macho
de 25 pines apareca en la parte trasera del PC con el solo propsito de
servir de interfaz con la impresora. El sistema operativo DOS cargado en
dichos PC soporta hasta tres puertos paralelos asignados a los
identificadores LPT1, LPT2 y LPT3, y cada puerto requiere tres
direcciones consecutivas del espacio de E/S (entrada-salida) del
procesador para seleccionar todas sus posibilidades.
Desde el punto de vista del hardware, el puerto consta de un conector
hembra DB25 con doce salidas latch (poseen memoria/buffer
intermedio) y cinco entradas, con ocho lneas de tierra.
Desde el punto de vista del software, el puerto paralelo consta de tres
registros (datos, estado y control) de 8 bits cada uno, que ocupan tres
direcciones de E/S (I/O) consecutivas de la arquitectura x86.
La funcin normal del puerto consiste en transferir datos a una
impresora mediante 8 lneas de salida de datos, usando las seales
restantes como control de flujo. Sin embrago, puede ser usado como un
puerto E/S de propsito general por cualquier dispositivo o aplicacin
que se ajuste a sus posibilidades de entrada/salida.

4.1 Descripcin del Puerto Paralelo


La conexin del puerto paralelo al mundo exterior se realiza mediante un
conector hembra DB25. Observando el conector de frente y con la parte
que tiene mayor nmero de pines hacia arriba, se numera de derecha a
izquierda y de arriba a abajo, del 1 al 13 (arriba) y del 14 al 25 (abajo).

7|P g i n a

El DB25 tiene para conexin de dispositivos como led y display del pin 2
al 9 que son de D0 a D7, y un pin destinado para tierra que puede ser el
pin 25, los dems que se muestran en el grfico son para conexiones de
impresora ya que el DB25 es un conector usado para la conexin entre
una computadora y su impresora.

En este conector:

8 lneas (pines) son para salida de datos (bits de DATOS). Sus


valores son nicamente modificables a travs de software, y van
del pin 2 (dato 0, D0) al pin 9 (dato 7, D7).
5 lneas son de entrada de datos (bits de ESTADO), nicamente
modificables a travs del hardware externo. Estos pines son: 11,
10, 12, 13 y 15, del ms al menos significativo.

4 lneas son de control (bits de CONTROL), numerados del ms


significativo al menos: 17, 16, 14 y 1. Habitualmente son salidas,
aunque se pueden utilizar tambin como entradas y, por tanto, se
pueden modificar tanto por software como por hardware.

las lneas de la 18 a la 25 son la tierra.


8|P g i n a

V. ACCESO ALPUERTO
El puerto paralelo se identifica por su direccin de E/S (entrada/salida,
I/O) base y se reconoce en sistemas MS-DOS por el nmero LPT (lp en
Unix/Linux). Cuando arranca la mquina, la BIOS (Basic Input Output
System) chequea direcciones especficas de E/S en busca de puertos
paralelos y construye una tabla de las direcciones halladas en la posicin
de memoria 40h:8h (o 0h:0408h) .
Esta tabla contiene hasta tres palabras de 16 bits, cada palabra con el
byte bajo primero seguido por el byte alto. Cada palabra es la direccin
de E/S base del puerto paralelo (que denominaremos LPT_BASE en lo
sucesivo). La primera corresponde a LPT1, la segunda a LPT2 y la tercera
a LPT3. Hay que agregar que, en MS-DOS tenemos el dispositivo PRN
que es un alias a uno de los dispositivos LPT (generalmente es LPT1,
pero se puede cambiar con la orden MODE).
Las direcciones base estndar para los puertos paralelos son:

LPT1: 03BCh
LPT2: 0378h

LPT3: 0278h

Checadas en este orden.


En este caso para la realizacin de nuestro proyecto utilizaremos el
puerto 378h ya que sirve para enviar datos.

La siguiente tabla muestra, como ejemplo, la memoria en un PC con dos


puertos paralelos instalados en las direcciones hexadecimales 378 y
278.

Byt
Byt
Identificad
e
Hexadeci Decim
Direccin
e
or DOS
baj
mal
al
alto
o
9|P g i n a

LPT1

0000:0408/
78
9

03

378

888

LPT2

0000:040A/
78
B

02

278

632

LPT3 (no 0000:040C/


00
instalado)
D

00

Objeto de Estudio
Registro de datos (D)
El registro de estado se halla en LPT_BASE. Se puede leer y escribir.
Escribir un dato en el registro causa que dicho dato aparezca en los
pines 2 a 9 del conector del puerto. Al leer el registro, se lee el ltimo
dato escrito (NO lee el estado de los pines; para ello hay que usar un
puerto bidireccional).

VI. DESARROLLO
10 | P g i n a

6.1 Montaje del circuito

El circuito se puede montar sobre una placa tipo "protoboard" y utilizar


cablecillos para realizar las conexiones necesarias entre los
componentes.
Las entradas/salidas del circuito hacia el PC se pueden reunir en un
conector DB25 macho unido a la placa por lneas de cable rgido. A su
vez, el conector macho se puede unir directamente al conector hembra
11 | P g i n a

del PC mediante un cable de extensin paralelo, lo que normalmente


resulta ms cmodo para acceder a la parte trasera del PC donde se
sita el conector hembra.
Para poder aperturar los puertos del DB25 hacemos uso del programa
UserPorts y copiamos el archivo Userports.sys en la carpeta del sistema
que se llama System32 y ubicamos la carpeta drivers como sigue
c:\windows\System32\drivers. Luego ejecutamos UserPort.exe y Listo los
puertos ser aperturados.

Para conectar el circuito al puerto apguese en primer lugar la


computadora. Conctese el cable al puerto paralelo asegurndose que el
12 | P g i n a

conector est firme en su lugar. Alimntese el circuito (si procede) y por


ltimo encindase la computadora. Por regla general, el circuito de
restablecimiento de la computadora coloca inicialmente en las lneas de
datos del puerto paralelo un valor igual a 0x0h. Por tanto, todos los
diodos deben estar apagados una vez que la computadora ha terminado
su proceso de arranque. Sin embargo, si algn diodo permanece
encendido esto no indica necesariamente un fallo, y es responsabilidad
del software de control que se escriba inicializarlo con un valor adecuado
antes de realizar cualquier otra operacin.
Luego de haber compilado el Archivo DISPLAY.ASM que contiene el
ensamblador y de haberlo linkeado nos habr generado un conjunto de
archivos y en el cual se genera un archivo DISPLAY.EXE el cual ser
utilizado para ejecutar directamente el cdigo como se muestra en la
imagen:

13 | P g i n a

Aqu nos pedir el nombre del archivo de texto que contiene los
caracteres a leer como se muestra en la figura:

14 | P g i n a

En esta imagen se representa la salida de un carcter que es la letra F


mayscula .

6.2 Diagrama de Flujo

INICIO

PIDE NOMBRE DEL


ARCHIVO

ABREARCHIVO

LEE ARCHIVO
Si
DL=1AH

Si

FIN

15 | P g i n a

DL=NUME
RO

Si
DL=LETRA
MAYUSCULA

Si

IMPRME:
NUM/MAY/MIN

DL=LETR
AMINUSC
ULA

LEE ARCHIVO

VI.3 CODIGO ENSAMBLADOR


Este es el cdigo hecho en lenguaje ensamblador que permite hacer
todo el proceso de lectura y muestreo de los caracteres en el display.
Para llevar a cabo la ejecucin y programacin hacemos uso del Turbo
assembler que est en la carpeta C:\ Tasm, y ser ejecutado desde la
consola de Windows.

.MODEL SMALL
.STACK
.DATA

; Directiva, define el tamao en memoria


;Asigna tamao al segmento de Pila
;Reserva un espacio para DS

; Declaracin de los segmentos para imprimir en display


; NUMERACION
; NOMBRE
HEX.
CERO
EQU 7EH ;
UNO
EQU 48H ;
DOS
EQU 3DH ;
TRES
EQU 6DH ;

SEGMENTOS
BIN.
,7,6,5,4,3,2, ,: 01111110B
,7, , ,4, , , : 01001000B
, ,6,5,4,3, ,1: 00111101B
,7,6, ,4,3, ,1: 01101101B
16 | P g i n a

CUATRO EQU 4BH ; ,7, , ,4, ,2,1: 01001011B


CINCO EQU 67H ; ,7,6, , ,3,2,1: 01100111B
SEIS
EQU 77H ; ,7,6,5, ,3,2,1: 01110111B
SIETE EQU 4EH ; ,7, , ,4,3,2,,: 01001110B
OCHO
EQU 7FH ; ,7,6,5,4,3,2,1: 01111111B
NUEVE EQU 6FH ; ,7,6, ,4,3,2,1: 01101111B
PUNTO EQU 80H ; 8, , , , , , ,,: 10000000B
APAGADO EQU 0H ; , , , , , ,,,,: 00000000B
; ABECEDARIO MAYUSCULAS
AM
EQU 5FH ; ,7,,5,4,3,2,1:
01011111B
BM
EQU 7FH ; ,7,6,5,4,3,2,1: 01111111B
CM
EQU 36H ; ,,6,5,,3,2,,:
00110110B
EM
EQU 37H ; ,,6,5,,3,2,1:
00110111B
FM
EQU 17H ; ,,,5,,3,2,1:
00010111B
GM
EQU 77H ; ,7,6,5,,3,2,1:
01110111B
HM
EQU 5BH ; ,7,,5,4,,2,1:
01011011B
IM
EQU 48H ; ,7,,,4,,,,:
01001000B
JM
EQU 68H ; ,7,6,,4,,,,:
01101000B
LM
EQU 32H ; ,,6,5,,,2,,:
00110010B
OM
EQU 7EH ; ,7,6,5,4,3,2,,: 01111110B
PM
EQU 1FH ; ,,,5,4,3,2,1:
00011111B
SM
EQU 67H ; ,7,6,,,3,2,1:
01100111B
TM
EQU 16H ; ,,,5,,3,2,,:
00010110B
UM
EQU 7AH ; ,7,6,5,4,,2,,:
01111010B
;ABECEDARIO MINUSCULAS
AMIN
EQU 7DH ; ,7,6,5,4,3,,1:
01111101B
BMIN
EQU 73H ; ,7,6,5,,,2,1:
01110011B
CMIN
EQU 31H ; ,,6,5,,,,1:
00110001B
DMIN
EQU 79H ; ,7,6,5,4,,,1:
01111001B
EMIN
EQU 3FH ; ,,6,5,4,3,2,1:
00111111B
GMIN
EQU 6FH ; ,7,6,,4,3,2,1:
01101111B
HMIN
EQU 53H ; ,7,,5,,,2,1:
01010011B
IMIN
EQU 40H ; ,7,,,,,,,:
01000000B
LMIN
EQU 12H ; ,,,5,,,2,,:
00010010B
NMIN
EQU 51H ; ,7,,5,,,,1:
01010001B
OMIN
EQU 71H ; ,7,6,5,,,,1:
01110001B
RMIN
EQU 11H ; ,,,5,,,,1:
00010001B
UMIN
EQU 70H ; ,7,6,5,,,,,:
01110000B

NOMARCH DB ?
; A guardar nombre del archivo
HANDLE DW ?
; Manipulador
NOMBRE DB 'NOMBRE DEL ARCHIVO A LEER:',10D,13D,'$'
OEMSG DB 'NO SE PUEDE ABRIR$'
RFMSG DB 'NO SE PUEDE LEER$'
CFMSG DB 'NO SE PUEDE CERRAR$'
17 | P g i n a

FBUFF DB ?
B
DB ?
.CODE
DESP MACRO A
;Macro que despliega caracter en display
MOV DX,378H ;Direccion del puerto paralelO en DX
MOV AL,A
;Se posiciona en AL lo que se va enviar
OUT DX,AL ;Envio de datos a trves OUT
CALL DELAY ;Temporizador
ENDM
;Fin de macro

INICIO:
;Define etiqueta de inicio
MOV AX,@DATA
;Referencia al registro de datos
MOV DS,AX
;Pasa de AX a DS
CALL PIDE
;Llamada al proceso para pedir nombre del archivo
JC FIN
;En caso de no poder pedir nombre salta a la etiqueta FIN
CALL ABREARCH
;Llamada al proceso para abrir archivo
JC FIN
;En caso de no poderse abrir salta a la etiqueta FIN
CALL LEEARCH
;Llamada al preoceso para leer archivo
JC FIN
;En caso de no poderse leer salta a la etiqueta FIN
CALL CIERRARCH ;Llamada al preoceso para cerrar archivo
JC FIN
;En caso de no poderse cerrar salta a la etiqueta FIN
FIN:
MOV AH,4CH
INT 21H
DELAY PROC
MOV CX,54C0H
D1:
PUSH CX
D2:
LOOP D2
POP CX
LOOP D1
RET
DELAY ENDP

;Interrupcion, devuelve el control al usuario

;Temporizador
;4FCOH

PIDE PROC
;Proceso que pide el nombre del archivo a leer
LEA DX,NOMBRE
;Pasa a DX la direccion efectica del la cadena a imprimir
MOV AH,9H
;Mensaje que solicita ingresar el nombre del archivo a leer
INT 21H
MOV SI,0
;Inicializa SI
18 | P g i n a

NEXT:
MOV AH,1H
;Entrdada por teclado
INT 21H
MOV NOMARCH[SI],AL;Guarda caracter a caracter en la variable NOMARCH
INC SI
;Incrementa SI
CMP AL,13D
;Compara si AL es igual a [ENTER] 13D
JNE NEXT
;Si no es igual se repite el ciclo NEXT
DEC SI
;Decrementa SI
MOV NOMARCH[SI],0 ;Implementacin de cadena ASCII Z
RET
;Regresa a donde fue llamado el proceso
PIDE ENDP
;Fin de proceso PIDE

ABREARCH PROC
;Proceso que realiza la apertura del archivo
MOV AH,3DH
;Abre archivo. DS:DX;apunta al archivo.AL=0 (slo lectura)
;1 (slo escritura) 2 (escritura/lectura)
LEA DX,NOMARCH ;Da la direccin efectiva del archivo
MOV AL,0
;Atributo del archivo: 0 = Archivo de slo lectura
INT 21H
JC ERRORABR
;Salto en caso de no poderse abrir
MOV HANDLE,AX
;Uso del manipulador para guardar las propiedades del archivo
RET
;Regresa el control a donde fue llamado el proceso
ERRORABR:
LEA DX,OEMSG
;Pasa a DX la direccin efectiva del la cadena a imprimir
MOV AH,9H
;Mensaje de error de apertura
INT 21H
RET
;Regresa a donde fue llamado el proceso
ABREARCH ENDP
;Fin del proceso ABREARCH

LEEARCH PROC

;Proceso que realiza la lectura de archivo especificado

MOV AH,3FH
;Lectura desde archivo. BX:Manejador de archivo
;CX: numero de bytes a leer
;DS=DX=buffer a ser cargado AX:numero de bytes ledos
MOV BX,HANDLE
;Manejador de archivo
LEA DX,FBUFF
;Buffer a ser cragado
MOV CX,1
;Numro de bytes a leer
INT 21H
JC ERRORLEE
;Salto para en caso de no poderse leer
CMP AX,0
;Bytes ledos=0?
JZ EOFF
;Si es igual a cero salta la etiqueta EOFF
MOV DL,FBUFF
;Pasa a DL lo que hay en el bufer
CMP DL,1AH
;Verifica si es fin de archivo
JZ EOFF
;Si es igual salta la etiqueta EOFF
MOV AH,2H
INT 21H

;Imprime caracteres ledos en pantalla

19 | P g i n a

CALL
CALL
CALL
CALL
CALL

COMPARANUM
COMPARAMAY
COMPARAMAY2
COMPARAMIN
COMPARAMIN2

;Llama al Proceso COMPARA


;Llama al Proceso COMPARA
;Llama al Proceso COMPARA

JMP LEEARCH
;Repite el ciclo para pedir el siguiente caracter
ERRORLEE:
LEA DX,RFMSG
MOV AH,9H
;Mensaje de error de lectura
INT 21H
EOFF:
DESP APAGADO
;Llamada al MACRO DESP para apagar display
RET
;Regresa a donde fue llamado el proceso
LEEARCH ENDP
;Fin del proceso LEEARCH
CIERRARCH PROC
;Proceso que cierra el archivo
MOV AH,3EH
;Cierra manejador de archivo. BX; manejador de archivos.
MOV BX,HANDLE
;Manipulador en BX
INT 21H
RET
;Regresa a donde fue llamado el proceso
CIERRARCH ENDP
;Fin del proceso CIERRARCH
COMPARANUM PROC
CMP DL,'9'

;Compara si el carater que hay en DL es igual a su


;correspondiente en el abecedario o numero decimal.
JE IMPRIME9
;Si es igual Salta a la Etiqueta Correspondiente, si no
;sigue comparando
CMP DL,'8'
JE IMPRIME8
CMP DL,'7'
JE IMPRIME7
CMP DL,'6'
JE IMPRIME6
CMP DL,'5'
JE IMPRIME5
CMP DL,'4'
JE IMPRIME4
CMP DL,'3'
JE IMPRIME3
CMP DL,'2'
JE IMPRIME2
CMP DL,'1'
JE IMPRIME1
CMP DL,'0'
JE IMPRIME0
20 | P g i n a

CMP DL,'.'
JE IMPRIMEPUN
RET
;Regresa a donde fue llamado el proceso, solo
;en caso de no cumplirse ninguna comparacin
IMPRIME9:
DESP NUEVE
JMP LEEARCH
IMPRIME8:
DESP OCHO
JMP LEEARCH
IMPRIME7:
DESP SIETE
JMP LEEARCH
IMPRIME6:
DESP SEIS
JMP LEEARCH
IMPRIME5:
DESP CINCO
JMP LEEARCH
IMPRIME4:
DESP CUATRO
JMP LEEARCH
IMPRIME3:
DESP TRES
JMP LEEARCH
IMPRIME2:
DESP DOS
JMP LEEARCH
IMPRIME1:
DESP UNO
JMP LEEARCH
IMPRIME0:
DESP CERO
JMP LEEARCH
IMPRIMEPUN:
DESP PUNTO
JMP LEEARCH

;Llamada al MACRO DESP para imprimir carcter en el dispaly


;Salta para leer nuevo carcter

COMPARANUM ENDP
COMPARAMAY PROC
CMP DL,'A'
JE IMPRIMEA
CMP DL,'B'
JE IMPRIMEB
CMP DL,'C'
JE IMPRIMEC
21 | P g i n a

CMP DL,'E'
JE IMPRIMEE
CMP DL,'F'
JE IMPRIMEF
CMP DL,'G'
JE IMPRIMEG
CMP DL,'H'
JE IMPRIMEH
CMP DL,'I'
JE IMPRIMEI
CMP DL,'J'
JE IMPRIMEJ
CMP DL,'L'
JE IMPRIMEL
CMP DL,'O'
JE IMPRIMEO
RET
IMPRIMEA:
DESP AM
JMP LEEARCH
IMPRIMEB:
DESP BM
JMP LEEARCH
IMPRIMEC:
DESP CM
JMP LEEARCH
IMPRIMEE:
DESP EM
JMP LEEARCH
IMPRIMEF:
DESP FM
JMP LEEARCH
IMPRIMEG:
DESP GM
JMP LEEARCH
IMPRIMEH:
DESP HM
JMP LEEARCH
IMPRIMEI:
DESP IM
JMP LEEARCH
IMPRIMEJ:
DESP JM
JMP LEEARCH
IMPRIMEL:
DESP LM
JMP LEEARCH
22 | P g i n a

IMPRIMEO:
DESP OM
JMP LEEARCH

COMPARAMAY ENDP
COMPARAMAY2 PROC
CMP DL,'P'
JE IMPRIMEP
CMP DL,'S'
JE IMPRIMES
CMP DL,'T'
JE IMPRIMET
CMP DL,'U'
JE IMPRIMEU
RET
IMPRIMEP:
DESP PM
JMP LEEARCH
IMPRIMES:
DESP SM
JMP LEEARCH
IMPRIMET:
DESP TM
JMP LEEARCH
IMPRIMEU:
DESP UM
JMP LEEARCH
COMPARAMAY2 ENDP
COMPARAMIN PROC
CMP DL,'a'
JE IMPRIMEam
CMP DL,'b'
JE IMPRIMEbm
CMP DL,'c'
JE IMPRIMEcm
CMP DL,'d'
JE IMPRIMEdm
CMP DL,'e'
JE IMPRIMEem
CMP DL,'g'
JE IMPRIMEgm
CMP DL,'h'
JE IMPRIMEhm
23 | P g i n a

CMP DL,'i'
JE IMPRIMEim
CMP DL,'l'
JE IMPRIMElm
CMP DL,'n'
JE IMPRIMEnm
CMP DL,'o'
JE IMPRIMEom
RET
IMPRIMEam:
DESP AMIN
JMP LEEARCH
IMPRIMEbm:
DESP BMIN
JMP LEEARCH
IMPRIMEcm:
DESP CMIN
JMP LEEARCH
IMPRIMEdm:
DESP DMIN
JMP LEEARCH
IMPRIMEem:
DESP EMIN
JMP LEEARCH
IMPRIMEgm:
DESP GMIN
JMP LEEARCH
IMPRIMEhm:
DESP HMIN
JMP LEEARCH
IMPRIMEim:
DESP IMIN
JMP LEEARCH
IMPRIMElm:
DESP LMIN
JMP LEEARCH
IMPRIMEnm:
DESP NMIN
JMP LEEARCH
IMPRIMEom:
DESP OMIN
JMP LEEARCH
COMPARAMIN ENDP
COMPARAMIN2 PROC
CMP DL,'r'
JE IMPRIMErm
24 | P g i n a

CMP DL,'u'
JE IMPRIMEum
RET
IMPRIMEum:
DESP UMIN
JMP LEEARCH
IMPRIMErm:
DESP RMIN
JMP LEEARCH
COMPARAMIN2 ENDP

END INICIO

;Fin etiqueta

VII. CONCLUSIONES
Nos pudimos percatar de la importancia de tener un buen nivel de
conocimiento en lenguaje ensamblador

25 | P g i n a

You might also like