You are on page 1of 11

la impresora.

El sistema operativo DOS cargado en dichas PC soporta hasta tres puertos paralelos asignados a los identificadores del espacio
E/S del procesador para relacionar todas sus posibilidades.
Desde el puerto de vista de hardware, el puerto consta de un conector hembra DB! con doce salidas latch "poseen memoria,
buffer intermedio# $ ! entradas con % l&neas de tierra.
Desde el punto de vista del hardware, el puerto consta de tres registros "datos, estado $ control# de % bits cada uno, 'ue ocupan (
direcciones de E/S consecutivas de la ar'uitectura )%*.
+a funci,n normal del paralelo consiste en transferir datos a una impresora mediante % l&neas de salida de datos, usando las
se-ales restantes como control de flu.o. Sin embargo puede ser usado como un puerto E/S de prop,sito general por cual'uier
dispositivo o aplicaci,n 'ue se a.uste a sus posibilidades de E/S.
Este pro$ecto pretende dar a conocer lo aspectos m/s relevantes del puerto paralelo, de modo 'ue se puede utili0ar como una
interfa0 de E/S 'ue funcione de modo subordinado a rutinas de software.
Este traba.o surge de la necesidad de una gu&a para la pr/ctica de control de dispositivos de modo 'ue se pueden hacer
e)perimentos con sistemas en tiempo real.
1234OD5CC1O26 En esta primera presentaci,n de nuestro pro$ecto 'ueremos e)presar una introducci,n acerca de los temas
relacionados con nuestro tema. +a computadora se encuentra se encuentra interconectada con dispositivos e)ternos a trav7s de
ciertos circuitos llamados puertos, los cuales permiten 'ue la computadora tenga una ventana al e)terior.
+a ar'uitectura del procesador %8%* determina una cantidad de hasta *!!(* puertos, sim embargo solo se usan 98:. ;hora bien,
si hablamos de programaci,n en assembler diremos 'ue es una serie de instrucciones 'ue causan 'ue el microcontrolador realice
una tarea especial estos programas est/n por secuencias de introducciones o sentencias, se escriben utili0ando una notaci,n
formal conveniente, pueden se escritos por programadores mediante una herramienta adecuada $ se encuentra en la memoria
principal.
El lengua.e es un lengua.e de ba.o nivel, es decir, cercano a la ar'uitectura de la ma'uina< est/n dise-ados para sacar el m/)imo
partido de las caracter&sticas f&sicas del computador. Son programas mu$ largos $ tiene c,digos de operaci,n datos $ referencias
en binario.
En pocas palabras el lengua.e ensamblador es la representaci,n simb,lica de la codificaci,n binaria de un computador. E)iste una
correspondencia biun&voca entre las instrucciones de m/'uina $ las instrucciones de un lengua.e ensamblador el cual ser/
utili0ado para la programaci,n de nuestro pro$ecto .unto con la participaci,n del puerto paralelo.
OB=E31>OS6 El ob.etivo de nuestro pro$ecto es la utili0aci,n $ mane.o de un displa$ de ? segmentos v&a puerto paralelo de una
computadora, dicho mane.o de este hardware se tendr/ 'ue lograr utili0ar lengua.e ensamblador el cual hemos aprendido del
semestre, tambi7n mediante este pro$ecto fu7semos hacer notar el gran uso 'ue puede tener el puerto paralelo de una
computadora, el cual cada ve0 est/ siendo menos utili0ado e incluso eliminado de las computadoras personales de ho$ en d&a.
Es por tal motivo 'ue llegamos a los siguientes ob.etivos6
Objetivos Especficos:
1.- Poder mane.ar el puerto paralelo est/ndar con turbo assembler.
2.@ Configurar el puerto paralelo para escribir $ leer datos.
3.@ 3ransferir datos por medio del puerto paralelo, utili0ando un lengua.e de ba.o nivel "lengua.e ensamblador#.
Objetivos Generales:
1.- 5tili0ar de manera clara $ correcta los conceptos de los elementos o componentes 'ue ha$amos conocido.
2.@ 3ratar de conocer $ aprender las instrucciones b/sicas 'ue usaremos en nuestro turbo assembler
DEFINICIN DE! "#O$EC%o
Se hab&a planteado, en el e'uipo, el traba.ar en el monta.e de un circuito fue 'ue usara un m&nimo de componentes $ proporciona
un test funcional de % bits.
Cada bit de entrada pod&a ser individualmente controlado $ visuali0ado entre los led de salida. 3omando en cuenta los diodos led
'ue actAan en un displa$, estos se alimentan Anicamente con la corriente proporcionada por las propias salidas del puerto paralelo,
por lo tanto se tendr&a 'ue alimentar los led $ utili0ar la corriente absorbida para iluminarlos, pero el conector no proporciona una
se-al de alimentaci,n ">cc# suficiente, de modo 'ue se necesitara una fuente e)terna, ante tal necesidad se pens, en sustituir en
los monta.es anteriores el sistema de visuali0aci,n mediante % diodos +ED por un displa$ num7rico de ? segmentos m/s un punto
decimal.
El circuito resulta as& m/s compacto $ seguro en cuanto al cuidado del puerto paralelo $ por lo tanto de la tar.eta madre de nuestra
computadora.
;hora bien tomando en cuenta, si se trata de displa$ de /nodo comAn ha$ 'ue alimentar con >cc B C! las dos l&neas se-aladas
como comunes $ es preciso poner a tierra la l&nea correspondiente al segmento 'ue se 'uiere iluminar. Si se trata displa$ de
c/todo "'ue ser&a ob.eto del traba.o# comAn, ha$ 'ue alimentar con C!v el segmento 'ue se desea iluminar $ poner a tierra las dos
l&nea comunes.
;s& en un Displa$ de c/todo comAn, las l&neas 9@% "del displa$# se pueden conectar directamente a las l&neas de datos del puerto
"pines @D del conector DB!#, $ las dos l&neas comunes se pueden conectar a cual'uiera de las patillas de tierra del conector, por
e.emplo, la !.
DE&C#I"CIN ' F(NCION)*IEN%O
En cuanto al funcionamiento del displa$ de siete segmentos, se pretende utili0arlo para mostrar todas las letras posibles del
alfabeto espa-ol, dichas letras ser/n le&das de un archivo $ mandados al displa$ v&a puerto paralelo, con un pe'ue-o retardo para
me.orar le visuali0aci,n de las letras le&das.
En lo 'ue concierne a la lectura del archivo $ el env&o de los datos al displa$ v&a puerto paralelo, se pretender/ lograrlo mediante el
uso del lengua.e ensamblador utili0ando los recursos necesarios, tales como el mane.o de archivos, macros, procedimientos,
notaci,n, sinta)is $ lo 'ue es m/s importante el mane.o de puertos.
Cabe hacer notar 'ue entre parte l,gica $ la f&sica de una computadora ha$ una relaci,n mu$ estrecha de la 'ue hacemos uso
para lograr nuestro ob.etivo $ aprovecharla tambi7n para mostrar los conocimientos ad'uiridos durante el curso para superar los
contratiempos 'ue pueden resultar durante la elaboraci,n del pro$ecto.
F!(+O-G#)*)&
121C1O
121C1O
Vector [],
cadena_teclado
Ingresar cadena
por teclado
Cadena_teclado
cadena
Abrir archivo
BD.txt
eer caracteres de
l!nea.
Veri"car
si a#n
ha$
caracter
es
Veri"car
si a#n
ha$
caracter
es
Vector [] car%cter
Vector [] &
cadena_teclado
'(
I)*A

'(
I)*A

I+,-I+I-
cadena_teclado
>erificar
si aAn
ha$
palabras
en BD.t)t
>erificar
si aAn
ha$
palabras
en BD.t)t
(alto de !nea.
I.pri.ir
/AI
01
(I
(I
01
CODIGO PARA COMPARAR CADENAS
<EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
< 521>E4S1D;D 2;C1O2;+ DE P154;
<
< 123EF4;23ES6 @;2D4;DE S1+>; D;4G12 =OE+
< @>1E4; P;+;C1OS H5+I1
< @4;I14EH CO4O2;DO +51S F51++E4IO
<
< I1C4OCOIP53;DO4;S 1
<
<EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
.model small
.stacJ
.data
ms. db KEEEEE ;P+1C;C1O2 P;4; COIP;4;4 C;DE2;S EEEEEK,KLK
ms.9 db 9(,98,KCadena 96K,KLK
ms. db 9(,98,KCadena 6K,KLK
ms.( db 9(,98,K+;S C;DE2;S SO2 1F5;+ESK,KLK
ms.: db 9(,98,K+;S C;DE2;S SO2 D1ME4E23ESK,KLK
vec db !8 dup"K K#,KLK
vec9 db !8 dup"K K#,KLK
.code
.startup
mov ah,88h
mov al,8(h
int 98h
mov ah,8Dh
lea d),ms.
int 9h
mov ah,8Dh
lea d),ms.9
int 9h
lea si,vec <Cargamos en el registro si al primer vector
pedir96
mov ah,89h <Pedimos un car/cter
int 9h
mov NsiO,al <Se guarda en el registro inde)ado al vector
inc si
cmp al,8dh <Se cicla hasta 'ue se digite un Enter
.a pedir9
.b pedir9
<P;4; E+ SEF52DO >EC3O4
mov ah,8Dh
lea d),ms.
int 9h
lea si,vec9 <Cargamos en el registro si al primer vector
pedir6
mov ah,89h <Pedimos un car/cter
int 9h
mov NsiO,al <Se guarda en el registro inde)ado al vector
inc si
cmp al,8dh <Se cicla hasta 'ue se digite un Enter
.a pedir
.b pedir

mov c),!8 <Determinamos la cantidad de datos a leer/comparar
mov ;P,DS <mueve el segmento datos a ;P
mov ES,;P <Iueve los datos al segmento e)tra
compara6
lea si,vec <cargamos en si la cadena 'ue contiene vec
lea di,vec9 <cargamos en di la cadena 'ue contiene vec
repe cmpsb <compara las dos cadenas
=ne diferente <si no fueron igual
.e iguales <Si fueron iguales
iguales6
mov ah,8D
lea d),ms.( <1mprime 'ue son iguales $ finali0a el programa.
int 9h
mov ah,8:ch
int 9h
diferente6
mov ah,8D
lea d),ms.: < 1mprime 'ue son diferentes $ finali0a el programa.
int 9h
mov ah,8:ch
int 9h
end
CODIGO ")#) !EE# C)DEN) DE! )#C,I-O E I*"#I*I# EN DI&"!)$
.------------------------------------------------------------------------------
.FI!E: DI&"!)$.)&*
."ro/ra0a en !. ensa0bla1or 23e lee 3n arc4ivo 5 co0para ca1enas6
.1esplie/a caracter a caracter en 3n 1ispla5 1e 7 se/0entos 1e c8to1o co09n. .
.
.*IC#OCO*"(%)DO#)& I-(NI-E#&ID)D N)CION)! DE "I(#)
.
.
.IN%EG#)N%E&:
.)ND#)DE &I!-) D)#:IN +OE!
.-IE#) ")!)CIO& ;(!*I
.#)*I#E; CO#ON)DO !(I& G(I!!E#*O
.------------------------------------------------------------------------------
.*ODE! &*)!! .Directiva6 1efine el ta0a<o en 0e0oria
.&%)C= .)si/ana ta0a<o al se/0ento 1e "ila
.D)%) .#eserva 3n espacio para D&
. >3
. 2 ? >1 ? @
. A ? > ? 7
. B C D
. DEclaracion 1e los se/0entos para i0pri0ir en 1ispla5
. N(*E#)CION
. NO*E#E ,EF. &EG*EN%O& EIN.
CE#O EG( 7E, . 676B6A6@63626 6: H111111HE
(NO EG( @D, . 676 6 6@6 6 6 : H1HH1HHHE
DO& EG( 3D, . 6 6B6A6@636 61: HH1111H1E
%#E& EG( BD, . 676B6 6@636 61: H11H11H1E
C()%#O EG( @E, . 676 6 6@6 6261: H1HH1H11E
CINCO EG( B7, . 676B6 6 636261: H11HH111E
&EI& EG( 77, . 676B6A6 636261: H111H111E
&IE%E EG( @E, . 676 6 6@636266: H1HH111HE
OC,O EG( 7F, . 676B6A6@636261: H1111111E
N(E-E EG( BF, . 676B6 6@636261: H11H1111E
"(N%O EG( DH, . D6 6 6 6 6 6 66: 1HHHHHHHE
)")G)DO EG( H, . 6 6 6 6 6 6666: HHHHHHHHE
. )EECED)#IO *)$(&C(!)&
)* EG( AF, . 6766A6@636261: H1H11111E
E* EG( 7F, . 676B6A6@636261: H1111111E
C* EG( 3B, . 66B6A6636266: HH11H11HE
E* EG( 37, . 66B6A6636261: HH11H111E
F* EG( 17, . 666A6636261: HHH1H111E
G* EG( 77, . 676B6A6636261: H111H111E
,* EG( AE, . 6766A6@66261: H1H11H11E
I* EG( @D, . 67666@6666: H1HH1HHHE
+* EG( BD, . 676B66@6666: H11H1HHHE
!* EG( 32, . 66B6A666266: HH11HH1HE
O* EG( 7E, . 676B6A6@636266: H111111HE
"* EG( 1F, . 666A6@636261: HHH11111E
&* EG( B7, . 676B66636261: H11HH111E
%* EG( 1B, . 666A6636266: HHH1H11HE
(* EG( 7), . 676B6A6@66266: H1111H1HE
. )EECED)#IO *IN(&C(!)&
)*IN EG( 7D, . 676B6A6@63661: H11111H1E
E*IN EG( 73, . 676B6A666261: H111HH11E
C*IN EG( 31, . 66B6A66661: HH11HHH1E
D*IN EG( 7I, . 676B6A6@6661: H1111HH1E
E*IN EG( 3F, . 66B6A6@636261: HH111111E
G*IN EG( BF, . 676B66@636261: H11H1111E
,*IN EG( A3, . 6766A666261: H1H1HH11E
I*IN EG( @H, . 676666666: H1HHHHHHE
!*IN EG( 12, . 666A666266: HHH1HH1HE
N*IN EG( A1, . 6766A66661: H1H1HHH1E
O*IN EG( 71, . 676B6A66661: H111HHH1E
#*IN EG( 11, . 666A66661: HHH1HHH1E
(*IN EG( 7H, . 676B6A66666: H111HHHHE
NO*)#C, DE J . ) /3ar1ar no0bre 1el arc4ivo
,)ND!E D: J . *anip3la1or
NO*E#E DE KNO*E#E DE! )#C,I-O ) !EE#:K61HD613D6KLK
OE*&G DE KNO &E "(EDE )E#I#LK
#F*&G DE KNO &E "(EDE !EE#LK
CF*&G DE KNO &E "(EDE CE##)#LK
FE(FF DE J
E DE J
.CODE
DE&" *)C#O ) .*acro 23e 1esplie/a caracter en 1ispla5
*O- DF637D, .Direccion 1el p3erto paralelO en DF
*O- )!6) .&e posiciona en )! lo 23e se va enviar
O(% DF6)! .Envio 1e 1atos a tr8ves O(%
C)!! DE!)$ .%e0poriMa1or
END* .Fin 1e 0acro
INICIO: .Define eti23eta 1e inicio
*O- )F6ND)%) .#eferencia al re/istro 1e 1atos
*O- D&6)F ."asa 1e )F a D&
C)!! "IDE .!la0a1a al proceso para pe1ir no0bre 1el arc4ivo
+C FIN .En caso 1e no po1er pe1ir no0bre salta a la eti23eta FIN
C)!! )E#E)#C, .!la0a1a al proceso para abrir arc4ivo
+C FIN .En caso 1e no po1erse abrir salta a la eti23eta FIN
C)!! !EE)#C, .!la0a1a al preoceso para leer arc4ivo
+C FIN .En caso 1e no po1erse leer salta a la eti23eta FIN
C)!! CIE##)#C, .!la0a1a al preoceso para cerrar arc4ivo
+C FIN .En caso 1e no po1erse cerrar salta a la eti23eta FIN
FIN:
*O- ),6@C, .Interr3pcion6 1ev3elve el control al 3s3ario
IN% 21,
DE!)$ "#OC .%e0poriMa1or
*O- CF6A@CH, .@FCO,
D1:
"(&, CF
D2:
!OO" D2
"O" CF
!OO" D1
#E%
DE!)$ END"

"IDE "#OC ."roceso 23e pi1e el no0bre 1el arc4ivo a leer
!E) DF6NO*E#E ."asa a DF la 1ireccion efectica 1el la ca1ena a i0pri0ir
*O- ),6I, .*ensaje 23e solicita in/resar el no0bre 1el arc4ivo a leer
IN% 21,
*O- &I6H .InicialiMa &I
NEF%:
*O- ),61, .Entr1a1a por tecla1o
IN% 21,
*O- NO*)#C,O&IP6)!.G3ar1a caracter a caracter en la variable NO*)#C,
INC &I .Incre0enta &I
C*" )!613D .Co0para si )! es i/3al a OEN%E#P Q 13D
+NE NEF% .&i no es i/3al se repite el ciclo NEF%
DEC &I .Decre0enta &I
*O- NO*)#C,O&IP6H .I0ple0entacion 1e ca1ena )&CII ;
#E% .#e/resa a 1on1e f3e lla0a1o el proceso
"IDE END" .Fin 1e proceso "IDE
)E#E)#C, "#OC ."roceso 23e realiMa la apert3ra 1el arc4ivo
*O- ),63D, .)bre arc4ivo. D&:DF.ap3nta al arc4ivo.)!RH SsQlo lect3raT
.1 SsQlo escrit3raT Q 2 Sescrit3raUlect3raT
!E) DF6NO*)#C, .Da la 1ireccion efecctia 1el arc4ivo
*O- )!6H .)trib3to 1el arc4ivo: H R )rc4ivo 1e sQlo lect3ra
IN% 21,
+C E##O#)E# .&alto en caso 1e no po1erse abrir
*O- ,)ND!E6)F .(so 1el 0anip3la1or para /3ar1ar las propie1a1es 1el arc4ivo
#E% .#e/resa el control a 1on1e f3e lla01o el proceso
E##O#)E#:
!E) DF6OE*&G ."asa a DF la 1ireccion efectica 1el la ca1ena a i0pri0ir
*O- ),6I, .*ensa/e 1e error 1e apert3ra
IN% 21,
#E% .#e/resa a 1on1e f3e lla0a1o el proceso
)E#E)#C, END" .Fin 1el proceso )E#E)#C,
!EE)#C, "#OC ."roceso 23e realiMa la lect3ra 1e arc4ivo especifica1o
*O- ),63F, .!ect3ra 1es1e arc4ivo. EF:*aneja1or 1e arc4ivo
.CF: n30ero 1e b5tes a leer
.D&RDFRb3ffer a ser car/a1o )F:n30ero 1e b5tes lei1os
*O- EF6,)ND!E .*aneja1or 1e arc4ivo
!E) DF6FE(FF .E3ffer a ser cra/a1o
*O- CF61 .N30ro 1e b5tes a leer
IN% 21,
+C E##O#!EE .&alto para en caso 1e no po1erse leer
C*" )F6H .E5tes lei1osRHJ
+; EOFF .&i es i/3al a cero salta la eti23eta EOFF
*O- D!6FE(FF ."asa a D! lo 23e 4a5 en el b3fer
C*" D!61), .-erifica si es fin 1e arc4ivo
+; EOFF .&i es i/3al salta la eti23eta EOFF
*O- ),62, .I0pri0e caracteres lei1os en pantalla
IN% 21,
C)!! CO*")#)N(* .!la0a al "roceso CO*")#)
C)!! CO*")#)*)$ .!la0a al "roceso CO*")#)
C)!! CO*")#)*)$2
C)!! CO*")#)*IN .!la0a al "roceso CO*")#)
C)!! CO*")#)*IN2

+*" !EE)#C, .#epite el ciclo para pe1ir el si/3iente caracter
E##O#!EE:
!E) DF6#F*&G
*O- ),6I, .*ensaje 1e error 1e lect3ra
IN% 21,
EOFF:
DE&" )")G)DO .!a0a1a al *)C#O DE&" para apa/ar 1ispla5
#E% .#e/resa a 1on1e f3e lla0a1o el proceso
!EE)#C, END" .Fin 1el proceso !EE)#C,
CIE##)#C, "#OC ."roceso 23e cierra el arc4ivo
*O- ),63E, .Cierra 0aneja1or 1e arc4ivo. EF. 0aneja1or 1e arc4ivos.
*O- EF6,)ND!E .*anip3la1or en EF
IN% 21,
#E% .#e/resa a 1on1e f3e lla0a1o el proceso
CIE##)#C, END" .Fin 1el proceso CIE##)#C,

CO*")#)N(* "#OC
C*" D!6KIK .Co0para si el carater 23e 4a5 en D! es i/3al a s3
.correspon1iente en el abece1ario o n30ero 1eci0al.
+E I*"#I*EI .&i es i/3al &alta a la Eti23eta Correspon1iente6 si no
.si/3e co0paran1o
C*" D!6KDK
+E I*"#I*ED
C*" D!6K7K
+E I*"#I*E7
C*" D!6KBK
+E I*"#I*EB
C*" D!6KAK
+E I*"#I*EA
C*" D!6K@K
+E I*"#I*E@
C*" D!6K3K
+E I*"#I*E3
C*" D!6K2K
+E I*"#I*E2
C*" D!6K1K
+E I*"#I*E1
C*" D!6KHK
+E I*"#I*EH
C*" D!6K.K
+E I*"#I*E"(N
#E% .#e/resa a 1on1e f3e lla0a1o el proceso6solo
.en caso 1e no c30plirse nin/3na co0paracion
I*"#I*EI:
DE&" N(E-E .!la0a1a al *)C#O DE&" para i0pri0ir caracter en el 1ispal5
+*" !EE)#C, .&alata para leer n3evo caracter
I*"#I*ED:
DE&" OC,O
+*" !EE)#C,
I*"#I*E7:
DE&" &IE%E
+*" !EE)#C,
I*"#I*EB:
DE&" &EI&
+*" !EE)#C,
I*"#I*EA:
DE&" CINCO
+*" !EE)#C,

I*"#I*E@:
DE&" C()%#O
+*" !EE)#C,
I*"#I*E3:
DE&" %#E&
+*" !EE)#C,
I*"#I*E2:
DE&" DO&
+*" !EE)#C,
I*"#I*E1:
DE&" (NO
+*" !EE)#C,
I*"#I*EH:
DE&" CE#O
+*" !EE)#C,
I*"#I*E"(N:
DE&" "(N%O
+*" !EE)#C,

CO*")#)N(* END"
CO*")#)*)$ "#OC
C*" D!6K)K
+E I*"#I*E)
C*" D!6KEK
+E I*"#I*EE
C*" D!6KCK
+E I*"#I*EC
C*" D!6KEK
+E I*"#I*EE
C*" D!6KFK
+E I*"#I*EF
C*" D!6KGK
+E I*"#I*EG
C*" D!6K,K
+E I*"#I*E,
C*" D!6KIK
+E I*"#I*EI
C*" D!6K+K
+E I*"#I*E+
C*" D!6K!K
+E I*"#I*E!
C*" D!6KOK
+E I*"#I*EO
#E%
I*"#I*E):
DE&" )*
+*" !EE)#C,
I*"#I*EE:
DE&" E*
+*" !EE)#C,
I*"#I*EC:
DE&" C*
+*" !EE)#C,
I*"#I*EE:
DE&" E*
+*" !EE)#C,
I*"#I*EF:
DE&" F*
+*" !EE)#C,

I*"#I*EG:
DE&" G*
+*" !EE)#C,
I*"#I*E,:
DE&" ,*
+*" !EE)#C,
I*"#I*EI:
DE&" I*
+*" !EE)#C,
I*"#I*E+:
DE&" +*
+*" !EE)#C,
I*"#I*E!:
DE&" !*
+*" !EE)#C,
I*"#I*EO:
DE&" O*
+*" !EE)#C,
CO*")#)*)$ END"
CO*")#)*)$2 "#OC
C*" D!6K"K
+E I*"#I*E"
C*" D!6K&K
+E I*"#I*E&
C*" D!6K%K
+E I*"#I*E%
C*" D!6K(K
+E I*"#I*E(
#E%
I*"#I*E":
DE&" "*
+*" !EE)#C,
I*"#I*E&:
DE&" &*
+*" !EE)#C,
I*"#I*E%:
DE&" %*
+*" !EE)#C,
I*"#I*E(:
DE&" (*
+*" !EE)#C,
CO*")#)*)$2 END"
CO*")#)*IN "#OC
C*" D!6KaK
+E I*"#I*Ea0
C*" D!6KbK
+E I*"#I*Eb0
C*" D!6KcK
+E I*"#I*Ec0
C*" D!6K1K
+E I*"#I*E10
C*" D!6KeK
+E I*"#I*Ee0
C*" D!6K/K
+E I*"#I*E/0

C*" D!6K4K
+E I*"#I*E40
C*" D!6KiK
+E I*"#I*Ei0
C*" D!6KlK
+E I*"#I*El0
C*" D!6KnK
+E I*"#I*En0
C*" D!6KoK
+E I*"#I*Eo0
#E%
I*"#I*Ea0:
DE&" )*IN
+*" !EE)#C,
I*"#I*Eb0:
DE&" E*IN
+*" !EE)#C,
I*"#I*Ec0:
DE&" C*IN
+*" !EE)#C,
I*"#I*E10:
DE&" D*IN
+*" !EE)#C,
I*"#I*Ee0:
DE&" E*IN
+*" !EE)#C,
I*"#I*E/0:
DE&" G*IN
+*" !EE)#C,
I*"#I*E40:
DE&" ,*IN
+*" !EE)#C,
I*"#I*Ei0:
DE&" I*IN
+*" !EE)#C,
I*"#I*El0:
DE&" !*IN
+*" !EE)#C,
I*"#I*En0:
DE&" N*IN
+*" !EE)#C,
I*"#I*Eo0:
DE&" O*IN
+*" !EE)#C,
CO*")#)*IN END"
CO*")#)*IN2 "#OC
C*" D!6KrK
+E I*"#I*Er0
C*" D!6K3K
+E I*"#I*E30
#E%
I*"#I*E30:
DE&" (*IN

+*" !EE)#C,
I*"#I*Er0:
DE&" #*IN
+*" !EE)#C,
CO*")#)*IN2 END"
END INICIO .Fin eti23eta
DI&EVO& EN )(%OC)D
CONC!(&IONE&
En este, nuestro primer informe de nuestro pro$ecto del curso hemos tratado de informarnos detalladamente de manera anal&tica
los conceptos 'ue vamos a ir utili0ando $ sobre los cuales vamos a traba.ar en e'uipo arduamente para sacar adelante el
pro$ecto.
;s& mismo podemos concluir diciendo 'ue el puerto paralelo consta de tres segmentos6 datos, estado $ control $ la programaci,n
assembler 'ue es un lengua.e de ba.o nivel 'ue nos a$udara a desarrollar nuestro pro$ecto $a 'ue haciendo uso de estas
podemos lograr un resultado e)itoso.