Hardware-PC-XT-8088-8086
-
Upload
rousver-ruben-quicana-garay -
Category
Documents
-
view
255 -
download
4
Transcript of Hardware-PC-XT-8088-8086
-
7/21/2019 Hardware-PC-XT-8088-8086
1/40
UNIVERSIDAD NACIONAL DE SAN AGUSTIN DE AREQUIPAFACULTAD DE INGENIERA DE PRODUCCIN
Y SERVICIOSESCUELA PROFESIONAL DE INGENIERIA ELECTRNICA
CURSO:ARQUITECTURA DE COMPUTADORAS (LABORATORIO)
TURNO:VIERNES 7:00 a 9:00 am
TTULO:
Ensamblador 8088/8086, direccionamiento yprogramacin, juego de instrucciones manual INTEL
PRCTICA NRO:3
DOCENTE:ING. ERASMO SULLA
FECHA:Vie!e" #$ %e Ma&' %e 0#$
AREQUIPA * PER+
HARDWARE COMPUTADORA PERSONAL
INTEGRANTES: CUI: FIRMA:
QUICA,A GARA- ROUSVER RUB/N 0093
RAM1RE2 LLERENA NILTON RUD- 00$037$
2AVALA RIVEROS VLADIMIR IVN 0033
-
7/21/2019 Hardware-PC-XT-8088-8086
2/40
1
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
PC XT 8088-8086
NDICE
! SISTEMAS QUE COMPONEN LA COMPUTADORAXT"""""""""""""!"""! #
#! CARACTERSTICAS DEL PROCESADOR8088$8086""""""""""""""!!!"""! %
%! FUNCIONAMIENTO ENGENERAL"""""""""""""""""""!!""""!"""!6
&! SISTEMA DESCRITO POR 'LOQUESY PORCIRCUITOS"""""""""""""""""""""""""""
"!""""""!"! 8(! ESQUEMTICO DEL SISTEMA COMPLETO SISTEMA DEAPLICACIN""""""!" #
6! MUESTRA DE UNA MAIN'OARD XT CON IDENTIFICACIN DEDISPOSITIVOS) ETIQUETADO Y ACCESORIOS""""""""""""""""!!!!""!! %
*! REGISTROS DEL8088""""""""""""""""""""""""""""""""!" &
8! MODOS DEDIRECCIONAMIENTO""""""""""""""""""""""
"!!""!! *+! SET DE INSTRUCCIONES DEL
8088""""""""""""""""""""""""""! #0! LENGUA,E MQUINA) MACROENSAM'LADOR DEL
8088"""""""""""""! #6! DE'UGER Y SIMULADORES DEL
8088""""""""""""""""""""""""! %%#! 'I'LIOGRAFA""""""""""""""""""""""""
""""""""""""" %&
-
7/21/2019 Hardware-PC-XT-8088-8086
3/40
(
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
HARDWARE COMPUTADORA PERSONALPC XT 8088-8086
! SISTEMAS QUE COMPONEN LA COMPUTADORA XT:
En el a)o de 1*81, +io su aparicin el I-. "ersonal #omputer, conocidocomnmente como I-. "# 2en espa)ol #omputadora u 3rdenador"ersonal I-.4, como un paso de la multinacional estadounidense I-.por incorporarse al campo de los microcomputadores personales5
in embargo, en 1*87, tres a)os despus del lanamiento del I-. "#original, la compa)9a introduce el modelo "# $T 2"ersonal #omputer!it+ eXtended Tec+nology45 En donde lo m:s rele;ante pansin, una
-
7/21/2019 Hardware-PC-XT-8088-8086
4/40
7
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
En primer lugar, la computadora personal "# $T ten9a como coran almicroprocesador 8088 de Intel, lo cual ;endr9a a ser la unidad central deproceso o #"C5 El 8088 era en s9 una ;ersin simpliDcada de suantecesor, el 8086 'ue contaba con registros y bus de datos de 16 bits5El 8088 contaba con registros de 16 bits, con un bus de datos de 8 bits yde direcciones de (0 bits5 La ;entaja se encontraba en 'ue el bus de 8bits coincid9a con el bus de datos de la placa base5 in embargo sere'uer9a la ayuda de un #oprocesador Intel 808 para operacionesaritmticas de coma Fotante5
La computadora contaba con una dis'uetera o unidad de dis'uetes2Foppy dis? o disco Fe>ible4 de tama)o A G de pulgada, de doble caray con una capacidad de 760H- 2Hilobytes45 Lo 'ue +ac9a destacar a estacomputadora de su predecesor, el I-. "# 3riginal, en cuanto aalmacenamiento, era el uso de un =isco =uro de eagate Tec+nology T%1( de unos 10 .- 2.egabytes4 de capacidad5 .:s tarde las unidadesde dis'uetes ;endr9an instaladas de pansin del tipo I& de 8 bits5 e llegaron a tener +asta (;ersiones de la placa base del $T, donde la original pod9a admitir +asta(A6 H- en la misma placa 2 bancos de c+ips de 6H-4, capacidad 'ue
llegar9a +asta los 60 H- con las tarjetas de e>pansin5 La segunda;ersin ;endr9a +asta el a)o 1*86 en 'ue se pod9a admitir +asta 60H-enteros en la placa madre gracias a dos bancos de c+ips de (A6H- y losdos de 6H-5 &lgo 'ue se incluy en esta segunda ;ersin
-
7/21/2019 Hardware-PC-XT-8088-8086
5/40
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
e'uipos m:s modernos 2el &T o superior45 Cna diDcultad al respecto erael uso de di
-
7/21/2019 Hardware-PC-XT-8088-8086
6/40
A
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
Cna manera de aprender acerca del 8088 es conocer las
-
7/21/2019 Hardware-PC-XT-8088-8086
7/40
6
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
RQ$GT0K Es una se)al bidireccional usada por otros maestros de buslocal para solicitar el uso del bus local5 En la "#, esta l9nea se conectaa un enc+uiliar, compatible con el coprocesadornumrico 8085
RQ$GTK @ealia la misma
-
7/21/2019 Hardware-PC-XT-8088-8086
8/40
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
El procesador opera a 5 .,
-
7/21/2019 Hardware-PC-XT-8088-8086
9/40
8
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
&l principio de cada ciclo de instruccin, la #"C busca o trae unainstruccin de memoria5 En una #"C t9pica, se utilia un registro llamadocontador de programa 2"# program counter4 para apuntar a lainstruccin 'ue debe traerse a continuacin5 & no ser 'ue se indi'ueotra cosa, la #"C siempre incrementa el "# despus de traer unainstruccin para determinar de dnde traer la siguiente instruccin de lasecuencia 2siguiente direccin de memoria45
La instruccin tra9da se almacena en un registro de la #"C conocidocomo registro de instruccin 2I@ instruction register45 La #"C interpretala instruccin y realia la accin re'uerida5 En general, sta puede serde cuatro tiposK
% #"C % .emoriaK =eben trans
-
7/21/2019 Hardware-PC-XT-8088-8086
10/40
*
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
Clculo de la direccin de instruccin (iac, instruction addresscalculation): =etermina la direccin de la siguiente instruccin aejecutar5Bsqueda de instruccin (if, instruction fetch): La #"C lee lainstruccin desde su posicin de memoria5Decodicacin de la operacin indicada en la instruccin (iod,instruction operation decoding): &nalia la instruccin paradeterminar el tipo de operacin a realiar y el 2los4 operando2s4 autiliar5
Clculo de la direccin del operando (oac, operand addresscalculation):i la instruccin implica una reternamente dos manejadores de disco Fe>ible5La "# original us el microprocesador 8088 de Intel corriendo a 5.5 & continuacin se muestra la "# original descrita por blo'uesK
-
7/21/2019 Hardware-PC-XT-8088-8086
11/40
10
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
"ara estar a la ;anguardia de las tecnolog9as competentes en eseentonces, la I-. "# r:pidamente re'uiri ;arias mejoras, paramantenerse a la par con el desarrollo de so
-
7/21/2019 Hardware-PC-XT-8088-8086
12/40
11
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
La I-. "# $T no increment el rendimiento del procesador manteniendoel 8088 a 5 .5 El rendimiento de la "# $T se e>tendiincrementando la ;elocidad del reloj a 8 y 10 .5 En algunascompatibles, al aumentar la ;elocidad del reloj, se agregaron estados deespera para los ciclos de memoria del procesador para permitir el uso dec+ips de @&. menos caros5 El 8088 re'uiere cuatro ciclos para ejecutarun ciclo de memoria, con la adicin de un estado de espera, sere'uieren cinco ciclos de reloj5 & 5 ., un ciclo de reloj es de (10 nsy sin estado de espera el ciclo de memoria es ;eces (10 ns, o 80 ns5
& 10 ., los ciclos de reloj son de 100 ns y con cero estados de esperael ciclo de memoria es de 00 ns, o (51 ;eces m:s r:pido 'ue la "#original de 5 .5
En cuanto a la &r'uitectura de la "# $T, debemos decir 'ue esta esoriginal de I-. y
-
7/21/2019 Hardware-PC-XT-8088-8086
13/40
1(
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
% "osee oc+o canales de interrupciones mascarables y una nomascarable, controladas por el controlador de interrupciones8(A* y el microprocesador 8088 respecti;amente5
% "osee canales de acceso directo a memoria, todos controladospor el circuito integrado 2I#4 8(7 de la INTEL5
% "osee las se)ales de control b:sicas de lectura y escritura dememoria y puerto5
% "osee cuatro alimentaciones deK 1(O, %1(O, AO y %AO5% Todas las se)ales son 100V compatibles con TTL menos las
se)ales de 1(O y %1(O5% Es una ar'uitectura sincrnica, cuya primera ;ersin
-
7/21/2019 Hardware-PC-XT-8088-8086
14/40
17
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
CODIGO DEL
INTEGRADO
FUNCION
74LS373 8 BIT LATCH ACTIVADO PORNIVEL
74LS245 8 BIT AMPLIFICADOR
BIDIRECCIONAL
74LS244 8 BIT AMPLIFICADOR
74LS138 DECODIFICADOR 3/8
75477 AMPLIFICADOR INVERSOR
74LS175 FLIP FLOP D
74LS280 GENERADOR DE PARIDAD
74LS08 6 x INVERSOR
74LS32 4 x OR
74LS07 6 x BUFFER
74LS08 4 x AND
(! ESQUEMTICO DEL SISTEMA COMPLETO SISTEMADE APLICACIN:
-
7/21/2019 Hardware-PC-XT-8088-8086
15/40
1
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
6! MUESTRA DE UNA MAIN'OARD XT CONIDENTIFICACIN DE DISPOSITIVOS) ETIQUETADO YACCESORIOS:
-
7/21/2019 Hardware-PC-XT-8088-8086
16/40
1A
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
.ainboard de "# $T con I= de dispositi;os
=isco =uro de "# $T y #ontrolador
-
7/21/2019 Hardware-PC-XT-8088-8086
17/40
16
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
=is'uetera de "# $T y #ontrolador
#ase o &rmario del "# $T con su #ontenido
*! REGISTROS DEL 8088:
"ara ayudar al
-
7/21/2019 Hardware-PC-XT-8088-8086
18/40
1
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
'X >R12345 '3@: e usa principalmente para indicarposiciones de memoria 2oXset45
CX >R12345 Ciliar enoperaciones complejas donde se necesitan dos punteros dedatos simult:neos5
*!%! R123453 7 P2:
La pila es un :rea de memoria importante5 Tiene, en ;e de uno, dosregistros 'ue se usan como desplaamiento 2oXset4 para apuntar sucontenido5 e usan como complemento al registro y sonK
SP >!tac" %ointer@:Es el registro 'ue se reser;a el procesadorpara uso propio en instrucciones de manipulacin de la pila5
'P >Base %ointer@:e usa como registro au>iliar5
*!&! R123453
-
7/21/2019 Hardware-PC-XT-8088-8086
19/40
18
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
SI >!ource inde$@:e usa como puntero origen en operacionesde desplaamiento de datos entre dos onas de memoria5
DI >Destination inde$@:e usa como destino en operacionesde desplaamiento de datos5
*!(! R123453 7 I
-
7/21/2019 Hardware-PC-XT-8088-8086
20/40
1*
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
8! MODOS DE DIRECCIONAMIENTO:El 8088 puede direccionar m:s de los 6AA76 bytes de datosespeciDcados por los 16 bits5 El 8088 tiene una direccin de (0 bits 'uepermite un tama)o de memoria
-
7/21/2019 Hardware-PC-XT-8088-8086
21/40
(0
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
El ;alor del segmento se le llama direccin base, y una direccin dentrode un segmento se le llama o"set5 &s9, cual'uier direccin en el espaciode 1 .- se puede identiDcar especiDcando una base y un oXset5 "or lotanto, se puede tener 'ue muc+as combinaciones de base y oXsetpueden usarse para especiDcar una direccin de memoria5
MODOS DE DIRECCIONAMIENTO:& continuacin pasamos a describir ambos modos de =ireccionamientoKel de =atos y el de .emoria de "rograma5 P! "#$%!&'&! ()$ *)")$ se +ar:uso de( &+$,!-%%&.+ MOV "#$,&+) )!+
M73 7 D25;;2
-
7/21/2019 Hardware-PC-XT-8088-8086
22/40
(1
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
% =ireccionamiento directo 'ue solo se aplica a una .3O entreuna localidad de memoria y &L &$5 on instrucciones muycomunes y tienen 7 bytes de longitud5
% =ireccionamiento directo por desplaamientoK 9dem anteriorpero de bytes5
MOV A1234H A DS x 10H 1234H9
d) Direccionaiento indirecto por registro:
TransDere un dato entre un registro y una direccin de memoriadireccionada por un registro 9ndice o baseBP E DI SL
MOV A B9 Ax DS x 10H B9
#uando se utilia este modo de direccionamiento y se emplean losregistros -$, =I o I, se asume 'ue el dato est: en el segmento dedatos5 i se usa -" se toma 'ue el dato est: en el segmento de pila5
e) Direccionaiento Base s *ndice:
=irecciona en
-
7/21/2019 Hardware-PC-XT-8088-8086
23/40
((
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
e usa para direccionar un arreglo bidireccional5
M73 7 D25;;2
-
7/21/2019 Hardware-PC-XT-8088-8086
24/40
(7
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
+! SET DE INSTRUCCIONES DEL 8088:
-
7/21/2019 Hardware-PC-XT-8088-8086
25/40
(
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
-
7/21/2019 Hardware-PC-XT-8088-8086
26/40
(A
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
-
7/21/2019 Hardware-PC-XT-8088-8086
27/40
(6
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
-
7/21/2019 Hardware-PC-XT-8088-8086
28/40
(
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
-
7/21/2019 Hardware-PC-XT-8088-8086
29/40
(8
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
0! LENGUA,E MQUINA) MACROENSAM'LADOR DEL8088:
El lenguaje m:'uina es el nico 'ue entiende directamente lacomputadora, utilia el al
-
7/21/2019 Hardware-PC-XT-8088-8086
30/40
(*
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
M;5 E>/80>865 En su ;ersin50 este soporta desde el 8086 al 80(86 y los coprocesadores 808 y80(85 @e'uiere 1(8H- de memoria y sistema operati;o .%=3 ;(50 osuperior5 Trabaja con un arc+i;o de cdigo
-
7/21/2019 Hardware-PC-XT-8088-8086
31/40
70
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
LI'!EXE .icrosoistir, se dejan los par:metros con los 'ue se estaba llamando lamacro y no con los 'ue +ab9a sido deDnida5 Es importante se)alar 'ueno se deja una llamada, como a una subrutina o procedimiento, sino 'ue
se incorporan todas las instrucciones 'ue deDnen a la macro5
FORMATO DE LAS INSTRUCCIONES
#ada instruccin en lenguaje ensamblador del -.-- est: compuesta de &camposK
E42?4 =5;2< =5
-
7/21/2019 Hardware-PC-XT-8088-8086
32/40
71
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
#ampo operacinK #ontiene el neot1cnico de la instruccin, 'ue es de # a6 caracteres5
#ampo operandoK #ontiene la posicin o posiciones donde est:n los datos'ue ;an a ser manipulados
por la instruccin5
#ampo coentarioK e utilia para docuentar el cdigo &+&%&.+ "# $?*')()$
EQUK =eDne nombres simblicos 'ue representan ;alores u otros ;aloressimblicos5 Las dos )!*@ nombre"
expresin
D#>&+&%&.+ "# ",)$Cbica memoria para un 9tem de datos y opcionalmente asocia un nombresimblico con esa direccin de memoria y/o genera el ;alor inicial para ese9tem5
[nombre]D$valor_inicial [, valor_inicial...]
")+"# valor_inicial=-#"# $#! -+ %"#+ ) -+ #x=!#$&.+ +-*!&% %-) !#$-(,") #$, #+,!# 255
255
[nombre]D%valor_inicial [, valor_inicial...]
")+"# valor_inicial=-#"# $#! -+ #x=!#$&.+ +-*!&% %-) !#$-(,") #$, #+,!# 65535 65535 )
-+ )=#!+") "# *#*)!& #+ %-) %$) $# (*%#+! #( )>>$#, "#( *&$*)
[nombre]DDvalor_inicial [, valor_inicial...]
")+"# valor_inicial=-#"# $#! -+ %)+$,+,# %-) ()! #$, #+,!# 4246725 4246725 -+
#x=!#$&.+ +-*!&% %-) ()! '$)(-,) +) $-=#!# 65535 ) '+ -+ )=#!+") "# *#*)!& #+ %-)
%$) $# (*%#+!+ #( )>>$#, #( $#*#+,) "#( *&$*) #+ #$# )!"#+
S& $# "#$# -# +) ()! &+&%&( "#'#! -,&(&!$# #( $?*')() &
O,! >)!* "# #x=!#$! #( ()! &+&%&( #$@
cuentaDU'(valor_inicial [, valor_inicial...])")+"# cuenta#$ ( %+,&"" "# #%#$ -# "#'#
!#=#,&!$# () -# #$, #+,!# =!+,#$&$
-
7/21/2019 Hardware-PC-XT-8088-8086
33/40
7(
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
D#>&+&%&.+ "# $#*#+,)$3rganian el programa para utiliar los segmentos de memoria delmicroprocesador 80885 Estos son SEGMENT, ENDS, DOSSEG, ASSUME,GROUP5
no#bre%seg# SEGMENT'alineaci$n('co#binaci$n(')clase)(
sentencias
no#bre%seg# ENDS
Alineacin@ "#>&+# #( !+) "# "&!#%%&)+#$ "# *#*)!& =! #( %-( =-#"# #(#&!$# #( &+&%&) "#(
$#*#+,) H %&+%) =)$&'(#$@
15 'YTEK El segmento comiena en el siguiente byte5
(5 WORDK El segmento comiena en la siguiente direccin par5
75 DWORDK #omiena en la siguiente direccin mltiplo de 5
5 PARAK #omiena en la siguiente direccin mltiplo de 165
A5 PAGEK #omiena en la siguiente direccin mltiplo de (A65
i no se indica la alineacin sta ser: PARA5
Combinacin@ "#>&+# %.*) %)*'&+! $#*#+,)$ -# ,#++ #( *&$*) +)*'!# H %&+%) =)$&'(#$@
15 PU'LICK #oncatena todos los segmentos 'ue tienen el mismo nombre parapresin contenida endireccinZdeZsegmento5 Este segmento no puede contener cdigo o datoscon ;alores iniciales5 Todos los s9mbolos 'ue presindirecci$n%de%seg#entodeben conocerse en el primer paso de ensamblado5
i no se indica co#binaci$n, el segmento no se combinar: con otros del mismonombre 2combinacin [pri;ada[45
Clase@ E$ -+ >)!* "# $)%&! $#*#+,)$ %)+ "&>#!#+,#$ +)*'!#$ =#!) %)+ =!)=.$&,)$ $&*&(!#$
S&!# ,*'&+ =! &"#+,&>&%! #( $#*#+,) "# %."&) D#'# #$,! #+%#!!") #+,!# %)*&(($ $&*=(#$
-
7/21/2019 Hardware-PC-XT-8088-8086
34/40
77
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
E( (&+#! =)+# ()$ $#*#+,)$ -# ,#++ ( *&$* %($# -+) %)+,&+-%&.+ "# ),!) $& '+ $&-#+
$+") $#*#+,)$ "&>#!#+,#$ A"#*$ $-=)+# -# ()$ $#*#+,)$ "# %."&) ,+# %($# CODE) -+
+)*'!# %)+ #( $->&J) CODE
DOSSEG@ E$, "&!#%,& #$=#%&>&% -# ()$ $#*#+,)$ "#'#+ )!"#+!$# $#K+ ( %)+#+%&.+ "#
DOS E$, #$ ( %)+#+%&.+ -$" =)! ()$ %)*=&(")!#$ "# (#+-J#$ "# (,) +(
GROU'@ S&!# =! "#>&+&! !-=)$ "# $#*#+,)$ U+ !-=) #$ -+ %)(#%%&.+ "# $#*#+,)$
$)%&")$ %)+ ( *&$* "&!#%%&.+ &+&%&( D# #$, *+#! -+-# ()$ ",)$ #$,+ #+ "&>#!#+,#$
$#*#+,)$ ,)")$ =-#"#+ %%#"#!$# *#"&+,# #( *&$*) !#&$,!) "# $#*#+,) L)$ $#*#+,)$ "# -+
!-=) +) +#%#$&,+ $#! %)+,&-)$
S&+,x&$@ nombre_grupoGROU'segmento [, segmento...]
ASSUE@ S&!# =! &+"&%! ( #+$*'(")! - !#&$,!) "# $#*#+,) %)!!#$=)+"# %)+ -+
$#*#+,) "#,#!*&+") C-+") #( #+$*'(")! +#%#$&, !#>#!#+%&! -+ "&!#%%&.+ "#'# $'#! #+ -
!#&$,!) "# $#*#+,) () =-+,
S&+,x&$@ ASSUEreg_segm:nombre [, reg_segm:nombre...]
")+"# #( +)*'!# =-#"# $#! "# $#*#+,) ) "# !-=) -+ #x=!#$&.+ -,&(&+") #( )=#!")! SEG ) (
=('! NOTHING -# %+%#( ( $#(#%%&.+ "# !#&$,!) "# $#*#+,) #% %)+ -+ ASSUME
+,#!&)!
C)+,!)( "#( #+$*'(")!
ORGexpresi$nK El oXset del cdigo o datos a continuacin ser: la indicada porla e>presin5 Todos los s9mbolos 'ue presin deben conocerse en elprimer paso de ensamblado5
EVEN@ H%# -# ( =!.x&* &+$,!-%%&.+ ) ",) $# #+$*'(# #+ ( $&-+,# =)$&%&.+ =!
END[etiqueta]@ D#'# $#! ( K(,&* $#+,#+%& "#( %."&) >-#+,# L etiqueta&+"&% ".+"# "#'#
%)*#+! ( #J#%-%&.+ "#( =!)!* S& #( =!)!* $# %)*=)+# "# !&)$ *."-()$ $.() #( *."-()
-# %)+,+# ( "&!#%%&.+ "# !!+-# "#( =!)!* "#'# %)+,#+#! ( "&!#%,& ENDetiqueta L)$
"#*$ *."-()$ "#'#!+ ,#!*&+! %)+ ( "&!#%,& END$&+ etiqueta
D#>&+&%&.+ "# =!)%#"&*+,)$
Los procedimientos son secciones de cdigo 'ue se pueden llamar para suejecucin desde distintas partes del programa5
eti*ueta PROC +,-A./FA.0
sentencias
eti*ueta ENDP
E+$*'(") %)+"&%&)+(
OeriDcan una condicin determinada y si se cumple, ensambla una porcin decdigo5 3pcionalmente puede ensamblarse otra porcin de cdigo si lacondicin no se cumple5 on los siguientesK IF, IF, IF#, IF', IFDEF, IFDIF,IFE, IFIDN, IFN', IFNDEF, ENDIF, ELSE5
+IF/IFE0 condici$n
sentencias Qe ejecutan si es cierta 2IF4 o
-
7/21/2019 Hardware-PC-XT-8088-8086
35/40
7
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
sentencias( Qe ejecutan si es -#+,# L-#) $# =-#"#
-$! "&%) +)*'!# =! !#=!#$#+,! #$$ $#+,#+%&$ O=%&)+(*#+,# $# =-#"#+ "#>&+&! =!*#,!)$
=! !#=!#$#+,! !-*#+,)$ =! ( *%!)
D#>&+&%&.+ "# *%!)$
no#bre%#acro MACRO 'Par1#etro '2par1#etro333((
'LOCAL no#bre%local'2no#bre%local333(
sentencias
ENDM
L)$ =!*#,!)$ $)+ )=%&)+(#$ S& #x&$,#+ #+,)+%#$ ,*'&+ =!#%#!+ #+ (-+$ "# ($ $#+,#+%&$#+ ( "#>&+&%&.+ "# ( *%!) A( &+)%! ( *%!) *#"&+,#@
nombre_macro [argumento [,argumento..]]
$# #+$*'(!+ ($ $#+,#+%&$ &+"&%"$ #+ ( *%!) ,#++") #+ %-#+, -# %" (-! ")+"#
=!#% -+ =!*#,!) $# !##*=(! =)! #( !-*#+,) %)!!#$=)+"+,#
E( nombre_local"# ( "&!#%,& LOCAL#$ -+ +)*'!# $&*'.(&%) ,#*=)!!&) -# $#! !##*=(")
=)! -+ K+&%) +)*'!# $&*'.(&%) "# ( >)!* ##n$mero %-+") ( *%!) $# &+)-#
T)"$ ($ #,&-#,$ "#+,!) "# ( *%!) "#'#!+ #$,! &+"&%"$ #+ ( "&!#%,& LOCAL=! -# #(#+$*'(")! +) #+#!# -+ #!!)! &+"&%+") -# -+ $?*')() #$, "#>&+&") !&$ #%#$
-
7/21/2019 Hardware-PC-XT-8088-8086
36/40
7A
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
L "&!#%,& E+IT-$" "#+,!) "# ( "#>&+&%&.+ "# ( *%!) $&!# =! -# +) $# #+$*'(#+
*$ $#+,#+%&$ "# ( *%!) $# -$ "#+,!) "# '()-#$ %)+"&%&)+(#$
'URGEnombre_macro [,nombre_macro...]@ B)!! ($ *%!)$ &+"&%"$ "# ( *#*)!& =! =)"#!
-,&(&! #$,# #$=%&) =! ),!)$ $?*')()$
D#>&+&%&.+ "# '()-#$ "# !#=#,&%&.+
on tresK REPT, IRPe IRPC5 #omo en el caso de la directi;a MACRO, se puedeincluir las sentencias LOCALy EXITMy deben terminarse con la directi;aENDM5
RE'Texpresin
sentencias
END
L expresin"#'# =)"#! $#! #(-" #+ #( =!&*#! =$) "#( #+$*'(") #( !#$-(,") "#'#! #$,!
#+,!# 0 65535
E$, expresin&+"&% ( %+,&"" "# #%#$ -# "#'# !#=#,&!$# #( '()-#
IR'par%metro, #!#+%& -# #( =!*#,!) $# !##*=( =)! %" %!%,#! "# ( %"#+ S&
$, %)+,+# %)*$ #$=%&)$ - ),!)$ %!%,#!#$ #$=#%&(#$ "#'#! #+%#!!!$# %)+ =!+,#$&$
+-(!#$ :
'rocesaor@ I+"&%+ #( ,&=) "# =!)%#$")! %)=!)%#$")! #+ #( -# $# #J#%-,! #( =!)!*
L)$ "# =!)%#$")! $)+@ ,-.-/ ,)-/ ,*-/ ,0-/ ,1-/ ,2-/=! &+$,!-%%&)+#$ #+ *)") !#( ,*-/' ,
0-/' ,1-/' ,2-/'=! &+$,!-%%&)+#$ =!&&(#&"$ ,-.-3 ,*-3 ,0-3=! %)=!)%#$")!#$
D#'#+ -'&%!$# ( =!&+%&=&) "#( %."&) >-#+,# H'&(&,+ ($ &+$,!-%%&)+#$ %)!!#$=)+"+,#$ (
=!)%#$")! %)=!)%#$")! &+"&%") S&+ #$,$ "&!#%,&$ $.() $# =-#"#+ #+$*'(! &+$,!-%%&)+#$ "#(
8086 8087
R#>#!#+%&$ #x,#!+$ ( *."-()
ir;e para poder particionar un programa en ;arios arc+i;os
-
7/21/2019 Hardware-PC-XT-8088-8086
37/40
76
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
'U$LICnombre[, nombre...]@ E$,)$ +)*'!#$ $&*'.(&%)$ $# #$%!&'#+ #+ #( !%&) )'J#,) D-!+,#
-+ $#$&.+ %)+ #( (&+#! ()$ $?*')()$ #+ "&>#!#+,#$ *."-()$ =#!) %)+ ()$ *&$*)$ +)*'!#$ ,#+"!+
( *&$* "&!#%%&.+
E+TRNnombre:tipo [,nombre:tipo...]@ D#>&+# -+ !&'(# #x,#!+ %)+ #( nombre tipoNEAR
FAR $4TE %ORD D%ORD) A$S+K*#!) %)+$,+,# #$=#%&>&%") %)+ ( "&!#%,& E#U) "#$=#%&>&%") E( ,&=) "#'# $#! #( *&$*) -# #( "#( ?,#* &+"&%") %)+ ( "&!#%,& 'U$LIC#+ ),!)
*."-()
INCLUDEnombre_&e_arc'ivo@ E+$*'( ($ $#+,#+%&$ &+"&%"$ #+ "&%) !%&)
S#*#+,)$ $&*=(&>&%")$"ermite deDnir los segmentos sin necesidad de utiliar las directi;as desegmentos 'ue aparecen m:s arriba5
,ODELmo&elo@ D#'# #$,! -'&%" +,#$ "# ),! "&!#%,& "# $#*#+,) E( mo&elo=-#"# $#! -+)
"# ()$ $&-+,#$@
15 TINYK Los datos y el cdigo juntos ocupan menos de 6 H- por lo 'ue entranen el mismo segmento5 e utilia para programas 5#3.5 &lgunosensambladores no soportan este modelo5
(5 SMALLK Los datos caben en un segmento de 6 H- y el cdigo cabe en otrosegmento de 6 H-5 "or lo tanto todo el cdigo y los datos se puedenacceder como NEAR5
75 MEDIUMK Los datos entran en un slo segmento de 6 H-, pero el cdigopuede ser mayor de 6 H-5 "or lo tanto, cdigo es FAR, mientras 'ue losdatos se acceden como NEAR5
5 COMPACTK Todo el cdigo entra en un segmento de 6 H-, pero los datos no2pero no pueden +aber matrices de m:s de 6 H-45 "or lo tanto, cdigo esNEAR, mientras 'ue los datos se acceden como FAR5
A5 LARGEK Tanto el cdigo como los datos pueden ocupar m:s de 6 H- 2perono pueden +aber matrices de m:s de 6 H-4, por lo 'ue ambos se accedencomo FAR5
65 HUGEK Tanto el cdigo como los datos pueden ocupar m:s de 6 H- 2y lasmatrices tambin4, por lo 'ue ambos se acceden como FARy los punterosa los elementos de las matrices tambin son FAR5
,STAC5[sie]@ D#>&+# #( $#*#+,) "# =&( "# ( ()+&,-" #$=#%&>&%"
,CODE[name]@ D#>&+# #( $#*#+,) "# %."&)
,DATA@ D#>&+# -+ $#*#+,) "# ",)$ NEAR %)+ ()!#$ &+&%&(#$
,DATA&@ D#>&+# -+ $#*#+,) "# ",)$ NEAR $&+ ()!#$ &+&%&(#$
,FARDATA[name]@ D#>&+# -+ $#*#+,) "# ",)$ FAR %)+ ()!#$ &+&%&(#$
,FARDATA&[name]@ D#>&+# -+ $#*#+,) "# ",)$ FAR $&+ ()!#$ &+&%&(#$
-
7/21/2019 Hardware-PC-XT-8088-8086
38/40
7
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
,CONST@ S#>&+# -+ $#*#+,) "# ",)$ %)+$,+,#$
L)$ $&-+,#$ $?*')()$ #$,+ "#>&+&")$ %-+") $# -$+ ($ "&!#%,&$ +,#!&)!#$@
;?531K Tiene el nombre del segmento 'ue se est: ensamblando5
K
-
7/21/2019 Hardware-PC-XT-8088-8086
39/40
78
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
#ambiar el punto de ejecucin, de manera 'ue el programacontine su ejecucin en un punto di
-
7/21/2019 Hardware-PC-XT-8088-8086
40/40
ard!are "# $T 8088%8086&r'uitectura de #omputadoras
+ttpK//members5tripod5com/!ingseZliu/trabajosZ&85+tm+ttpK//!!!5in