Lenguaje Ensamblador: Uso, Procesador, Tipos de Ensambladores, Memorias y Arquitectura de Buses
1.1.1. Uso y aplicacions dl lnguaj ensamblador
el uso dl lnguaj ensamblador no s xa la gnt común y corrient, sino xa profsionistas en l ára d computación k stán obliga2 a conocr st lnguaj, ya k proxciona 1a srie d caractrísticas k no s puedn encontrar en ls lnguajs d alto nivl. Algunas d stas caractrísticas sn: s pued accdr a cualkier localidad d la mmoria ram sin ninguna rstricción. S puedn programar virus, dbido a k s tien 1 accso total a casi todo l ardwar d la computadora vía intrrupcions d softwar. S puedn programar drivrs d cualkier dispositivo. S pued accdr dirctamnt a ls rgistros intrnos dl cpu. S pued accdr dirctamnt a ls dispositivos d entrada y/o salida. Ls progra+ objto gnra2 a travs dl ensamblador sn + vlocs k ls gnra2 en cualkier otro lnguaj, dbido a k 1a instrucción en ensam blador corrspond a 1a instrucción en lnguaj mákina.
procsador
la 1idad d procsamiento cntral la 1idad d procsamiento cntral (cpu) s dond s manipulan ls datos. En 1a microcomputadora, l cpu complto stá contnido en 1 xip muy pkño yamado m icroprocsador. Todas ls cpu tienn x lo m enos 2 parts básicas, la 1idad d control y la 1idad aritméticológica. To2 ls rcursos d la computadora sn administra2 dsd la 1idad d control, cuya función s coordinar todas ls actividads d la computadora. La 1idad d control contien ls instruccions d la cpu xa yevar a cabo coman2.L conjunto d instruccions, k stá incluido dntro d ls circuitos d la 1idad d control, s 1a lista d todas ls opracions k raliza la cpu. Cada instrucción enl conjunto d instruccions s acompañado x 1 microcódigo, k sn instruccions muy básicas k l dicn a la cpu cómo ejcutar ls instruccions. Cuando la computadora corr 1 programa, busca ls coman2 dl programa dntro dl conjunto d instruccions d la cpu y ls ejcuta en ordn. La 1idad aritmético-lógico (alu)s cuando la 1idad d control encuentra 1a instrucción k involucra aritmética o lógica, l pasa l control al sgundo componnt d la cpu. La alu incluye 1 grupo d rgistros, s dcir, mmoria construida dirctamnt en la cpu k s usa xa guardar datos k stán siendo procsa2 x la instrucción actual. Unidad cntral d procsam iento (cpu) la cpu d 1a computadora contien la intligncia d la mákina; s dond s ralizan ls cálculs y ls dcisions.L compljo procdimiento k transforma datos nuevos d entrada en información útil d salida s yam a procsamiento. Xa yevar a cabo sta transformación, la computadora usa 2 componnts: l procsador y la m emoria. L procsador s l crbro d la computadora, la part k intrprta y ejcuta las instruccions. L procsador casi siempr s compón d varios circuitos intgra2 o xips, stos stán insrta2 en tarjtas d circuitos, móduls rígi2 rctangulars con circuitos k ls 1en a otros xips y a otras tarjtas d circuitos. El microprocsador modrno contien 1s 20 miyons d transistors y cada
xip trminado análisis dl flujo d datos el análisis dl flujo d datos prmit sabr al microprocsador en k ordn óptimo pued o db ejcutar ls instruccions, ya k sab la dpndncia d unas rspcto a otras.
1.1.3. Tipos d lnguajs ensambladors
aunk to2 ls ensambladors ralizan básicamnt ls mis+ taras, podmos clasificarls d acuerdo a caractrísticas en: ensambladors cruza2 (cross-assmblr). s dnominan así ls ensambladors k s utilizan en 1a computadora k pose 1 procsador difrnt al k tndrán ls computadoras dond va a ejcutarsl programa objto producido. El emplo d st tipo d traductors prmit aprovxar l soxt d mdios físicos (discos, imprsoras, pantayas, etc.), y d programación k ofrcn las mákinas potnts xa dsarroyar progra+ k luego ls van a ejcutar sist+ muy spcializa2 en dtrmina2 tipos d taras. ensambladors rsidnts. sn akyos k prmancn en la mmoria principal d la computadora y cargan, xa su ejcución, al programa objto producido. St tipo d ensamblador tien la vntaja d k s pued comprobar inmdiatamnt l programa sin ncsidad d transxtarlo d 1 lugar a otro, cm s acía en cross-assmblr, y sin ncsidad d progra+ simuladors. Sin embargo, pued prsntar probl+ d spacio d mmoria, ya k l traductor ocupa spacio k no pued sr utilizado xl programador. Asimismo, también ocupará mmorial programa fuent yl programa objto. Sto obliga a tnr 1 spacio d mmoria rlativamnt amplio. Sl indicado xa dsarroyos d pkños sist+ d control y snciyos automatismo emplando microprocsadors(1). La vntaja d stos ensambladors s k prm itn ejcutar inmdiatamnt l programa; la dsvntaja s k dbn mantnrs en la mmoria principal tanto l ensamblador com ol programa fuent yl programa objto.
macroensambladors. sn ensambladors k prmitnl uso d macroinstruccions (macros). Dbido a su potncia, normalmnt sn progra+ robustos k no prmancn en mmoria 1a vz gnradol programa objto. Pued variar la compljidad d ls mismos, dpndiendo d ls posibilidads d dfinición y manipulación d las macroinstruccions, pro normalm ent sn progra+ bastants compljos, x lo k sueln sr ensambladors rsidnts.
microensambladors. gnralmnt, ls procsadors utiliza2 en ls computadoras tienn 1 rprtorio fijo d instruccions, s dcir, k l intérprt d ls m is+ intrprtaba d igual forma 1 dtrminado código d opración.El programa k indica al intérprt d instruccions d la ucp cómo db actuar s dnomina microprograma. L programa k ayuda a ralizar st microprograma s yama microensam blador. Existn procsadors k prmitn la modificación d sus microprogra+, xa lo cual s utilizan microensambladors.ensambladors d 1a fas. stos ensambladors len 1a lína dl programa fuent y la traducn dirctamnt xa producir 1a instrucción en lnguaj mákina o la ejcuta si s trata d 1a psudoinstrucción. También va construyendo la tabla d símbols a mdida k van apar100do ls dfinicions d variabls, etiktas, etc. Dbido a su forma d traducción, stos ensambladors obligan a dfinir ls símbols ants d sr em pla2 xa k, cuando aparzca 1a rfrncia a 1 dtrminado símbolo en 1a instrucción, s conozca la dircción d dixo símbolo y s pueda traducir d forma corrcta. Stos ensambladors sn snciyos, baratos y ocupan poco spacio, pro tienl inconvnient indicado. ensambladors d 2 fass. ls ensambladors d 2 fass s dnominan así dbido a k ralizan la traducción en 2 etapas. En la primra fas, len l programa fuent y construyen 1a tabla d símbols; d sta manra, en la sgunda fas, vuelvn a lerl programa fuent y puedn ir tradu100do totalmnt, pusto k conocn la totalidad d ls símbols utiliza2 y ls posicions k s ls a asignado. Stos ensambladors sn ls + utiliza2 en la actualidad.
1.1.4. ClasificaciÓn d mmorias
• ROM : s usan principalmnt en microprogramaci n d sist+. Ls fabricants ls sueln emplar cuando producn componnts d forma +iva. S 1a mmoria solamnt d lctura s totalmnt inaltrabl sin sta mmoria la makina no arrancaría. La mmoria principal s la convncional k va d 0 a 640 kb.
• prom: (programmabl rad only mmory):l procso d scritura sléctrico. S pued grabar postriormnt a la fabricación dl xip, a difrncia d las antriors k s graba durant la fabricación. Prmit 1a única grabación y s + cara k la ROM. S 1a mmoria digital dond l valor d cad a bit dpnd dl stado d 1 fusibl (o antifusibl), k pued sr km ado 1a sola vz. X sto la mmoria pued sr programada (puedn sr scritos ls datos) 1a sola vz a través d 1 dispositivo spcial, 1 programador prom. Stas mmorias sn utilizadas xa grabar datos prmannts en cantidads mnors a ls roms, o cuando ls datos dbn cambiar en muxos o to2 ls casos.
• eprom (eprom sn ls siglas d erasabl programmabl rad-only mmory (ROM borrabl programabl). S 1 tipo d xip d mmoria ROM invntado x el ingniero dov fro man k rtien ls datos cuando la fuent d enrgía s apaga. En otras palabras, s no volátil. Stá formada x cldas d famos (floating gat avalanxe injction mtal-oxid smiconductor) o transistors d puerta flotant. Cada 1 dyos vien d fábrica sin carga, x lo k s lído cm 1 1 (x so 1a eprom sin grabar s le cm ff en todas sus cldas).
•eepromson ls siglas dlctricayy-erasabl programmabl rad-only mmory (ROM programabl y borrabl léctricamnt), en spañol o castyano s suel rfrir al ablar cm e prom y en inglés “eprom”. S 1 tipo d -squard- mmoria ROM k pued sr programado, borrado y rprogramado eléctricamnt, a difrncia d la eprom k a d borrars mdiant rayos ultravioltas.
• mmoria flas h : stá basada en ls mmorias eeprom pro prmit l borrado blok a blok y s + barata y dnsa. La mmoria flas s 1a forma evolucionada d la mmoria eeprom k prmit k múltipls posicions d mmoria san scritas o borradas en 1a misma opración d programación mdiant impulsos léctricos, frnt a ls antriors k sólo prmit scribir o borrar 1a única clda cada vz. Xyo, flas prmit funcionar a vlocidads muy supriors cuando ls sist+ emplan lctura y scritura en difrnts puntos d sta mmoria al mismo tiempo.
• mmoria ram o mmoria e accso alatorio ( random accs mmory ).Sta mmoria s cm 1 scritorio al igual k ls scritorios tienn cajons dond ordnan la información, cuanto + grand sal scritorio (plano d apoyo) + cajons voy a tnr d tal suert kl micro va a prdr - tiempo en buscar y ordnar la información
la imxtancia d sta mmoria s tan grand k si stá ausnt la pc no arranca, actúa cm si stuviera muerta no ay snido ni cursor en la pantaya ni lucs k s en100dan o apaguen. Xa k sirv: almacna ls instruccions k db ejcutarl micro en cada momnto st s l lugar físico dond db trabajar l procsador cuando abrimos 1 programa sus instruccions s copian autom áticamnt en la mmoria, y cuando crrmosl programa todo s borrara ( volatizara ) también copia ls trabajos k stamos a100do en s programa en la ram s copian progra+ k coordinanl funcionamiento d la pc: la prim era part d la ram stá rsrvada xa guardar ls instruccions d ls dispositivos elctrónicos.
• dram (dynam ic random accss mmory): ls datos s almacnan cm en la carga d 1 condnsador. Tiend a dscargars y, x lo tanto, s ncsario 1 procso d rfrsco priódico. Sn + simpls y baratas k ls sram. St tipo d mmoria s utilizan ds ls años 80 asta a ora en toda las computadoras sta mmoria tien 1a dsvntaja ay k stimularla (rfrsco) prmanntmnt xk s olvida d todo. Cm s stimula: rkier 1 procsador k ordnl envió d cargas léctricas, a st tipo d mmorias s lo conoc cm mmoria státicas otras d ls dsvntajas d sta mmoria s k s lnta y la vntaja s k s barata. Obviamnt al tnr stas dsvntajas s l incorxaron distintas tcnologías xa mjorarlas.
• fpm dram. la vntaja d st mmoria consist en pdir prmiso 1a sola vzu yevars varios datos conscutivos sto comnzó a usars principios d os años novnta y dio buenos rsulta2 a stos móduls s ls dnominaron simm fpm dram y puedn tnr 30 o 72 pins y s la utiliza en ls pntium i lo k logró con sta tcnología s agilizar l procso d lctura, stas m emorias ya no s utilizan +.
• edo dram stas mmorias aparcieron enl 95, y s icieron m uy populars ya k staban prsnts en todas ls pntium i mmx y tnía la posibilidad d localizar 1 dato mientras transfría otro d difrncia d ls antriors k mientras transfría 1 dato s blokaba. Stas edo simm eran d 72 pins
• rdram. s 1a mmoria muy costosa y d complja fabricaci n y la utilizan procsador pntium iv xa arriba corr a vlocidads d 800 m z sus móduls s dnominan rimm d 141 pins y con 1 anxo d 16 bits, xa yenar 1 banco d mmoria d 64 bits ay k instalar 4 mmorias, s posibl k stas mmoria san rtiradas dl mrcado x sr tan costosas
• sdram: sta mmoria entró en l mrcado en ls años 97, y mjoró la vlocidad siendo su ritmo d trabajo igual a la vlocidad d bus (fsb) s dcir k tienn la capacidad d trabajar a la misma vlocidad d la tarjta m adr al k s conctan.
• ddr sdram: en st caso s consigui k pudiera raliza r 2 transfrncia en 1a pulsación o tic-tac d rloj, sta mmoria pud alcanzar vlocidads d 200 a 266m z, tien 1a vntaja + trabaja en sincronía conl bus d la tarjta madr si st aclra la m emoria también pro tien 1a dsvntaja sn muy caras.
• sram (static random accss mmory): ls datos s almacnan formando bistabls, x lo k no rkir rfrsco. Igual k dram s volátil. Sn + rápidas k ls dram y + caras.
• mmoria caxÉ o sram: la mmoria caxé trabaja igual k la mmoria virtual, tnmos caxé enl procsador, en ls discos y enl mot er y nos guarda dirccions d mm oria. Si ejcutamos 1 programa en principio, lo crramos y luego ls volvmos a ejcutar, la mmoria caxé nos guarda la ubicación(dircción) enl disco, cuando lo ejcuté, y lo k icimos con l programa. S muxo + rápida cuando ya usamos 1 programa existn 3 tipos d mmoria caxé:
caxe l1: caxe l2 caxe l3:
1.1.5. 1idads d entrada salida
dispositivos d entrada sn to2 ls lmntos k prmitn la 1ión dl usuario con la 1idad d procsamiento cntral y la mmoria.: entr stos tnmos. Tclado, mous o ratón y joysticks, scánr o digitalizador d imágns, dispositivos ópticos, micrófonos.
dispositivos d salida stos dispositivos prmitn al usuario vr ls rsulta2 d ls cálculs o d las manipulacions d datos d la computadora.L dispositivo d salida + común sl monitor, imprsora, módm.
1.2l microprocsador
1.2.1. Buss
el bus xt yl bus isa (at)
el primro al salir al mrcado comrcial junto conl primr pc d ibm, fuel bus
xt al 1980, funcionaba a la misma vlocidad k ls microprocsadors d la
época, ls 8086 y 8088, a 4.77 m z; y su amplitud d banda era d 8 bits. D aquí
k con l 8088 s compntraran prfctamnt, pro con l 8086 (anxo d
banda d 16 bits) ya no abía tanta compntración y surgíó l concpto y l
exo d ls “cueyos d botya”.
el significado dl acrónimo k nos indica su nom br s: industrial standard
arkitctur, k traducido sría, arkitctura industrial standarizada.
con la introducción dl at, aparció l nuevo bus d datos d 16 bits (isa), y
compatibl con su antcsor. También s ampliól bus d dirccions asta 24
bits, la vlocidad d sñals d frcuencia también s aumntó: d 4.77 m z a
8.33 m z. D nuevo nos encontramos con 1 atasco d información entr la
mmoria y la cpu.
a ls tarjtas d expansión incluso, s l asignaron 1a sñal en stado d spra
(wait stat), l cual daba + tiempo a ls tarjtas lntas xa enviar toda la
información a la mmor ia.
mca (bus micro xannl)
en sí no s ningún tipo d bus, + bien s 1 sistma d canalización, enl k
ls datos no sn enviadas acia al rcptor con 1a simpl instrucción d
dirccionamiento si no k s ést,l rcptor, kién tien k rcogrls. Xa
k sta tara s yev a cabo, s a d informar al rcptor prviamnt con la
dircción dónd stán ls datos a rcibir, y s l dja 1 camino (bus) libr xa él,
xa k transxt ls datos librmnt.
surgíó cuándo ibm trabajaba xa crar 1a nueva tcnología d bus, la sacó con
sus ordnadors k incorxabanl ps/2,l mca (micro xannl arkitctur)
prmitía 1 ratio (transfrncia d datos) máximo d 20 mb/s, x la nueva
dircción d 32 bits, yl aum ento d vlocidad a 10 m z.
ibm incluyó 1 circuito d control spcial a cargo dl bus, k l prmitía oprar
indpndientmnt d la vlocidad dl bus y dl tipo d m icroprocsador.
dntro st tipo d bus, la cpu no s nada + k otro dispositivo dónd
puedn ir y vnir ls datos. La circuitría d control, dnominada cap (punto d
dcisión cntral), s enlaza con 1 procso dnominado controlo d bus xa
dtrminar y rspondr a ls prioridads d cada 1 d ls dispositivos
dominants dl bus.
xa prmitir la conxión d + dispositivos, l mca spcifica intrrupcions
snsibls al nivl, k rsultan + fiabls k l sistma d intrrupcions dl
bus isa. D sta forma s posibl compartir intrrupcions.
sta structura era compltamnt incompatibl con ls tar jtas d expansión dl
tipo isa, concrtamnt la difrncia k tnían 1a rspto dl otro s dbía al
tamaño d ls conctors, + pkños a ls dl tipo mca k ls dl tipo isa.
eisa (extndd isa)
st bus s, tal y cm nos indica su nombr (en ancd industrial standard
arkitctur), 1a extnsión dl primitivo bus isa o at. Tal y cm acíal mca,
su bus d dirccions era d 32 bits basán2e en la ida d controlar 1 bus
dsd l microprocsador. Mantuvo la compatibilidad con ls tarjtas d
expansión d su antcsor isa, motivo xl cual tuvo k adoptar la vlocidad
d ést (8.33 m z).
una d ls vntajas k prsntaba fue la d k era 1 sistma abierto, cantidad
d compañías contribuyeron a su dsarroyo: ast, compaq, epsn, ewltt
packard,, olivtti, tandy, wys, y znit .
fue l primr bus a podr oprar con sist+ d multiprocso (intgrar al
sistma varios buss dntro dl sistma, cada 1 con su procsador).
al igual k al mca, incorxó 1 xip, l isp sistma priférico intgrado,
encargado d controlarl tráfico d datos sñalando prioridads xa cada posibl
punto d colisión o d bloko mdiant rglas d control d la spcificación
eisa.
ni mca ni eisa sustituyeron a su prdcsor isa, a psar d sus vntajas, stos
rprsntaban encarcrl cost dl pc (a mnudo + dl 50%), y no ofrcían
ninguna mjora evidnt en l rndimiento dl sistma, y si s notaba alguna
mjora, tampoco era d+iado ncsaria pusto k ningún dispositivo dabal
máximo d sí, ni enl bus isa.
local bus
vistos ls rsulta2 d ls intntos fayi2 xa rnovar y sustituir al bu s isa,
surgíó st nuevo tipo d bus con 1 concpto d bus difrnt a to2 ls otros
existnts, su mayor consolidación y aprovxamiento lo tuvo en l ára d las
tarjtas gráficas, k eran ls k m ás dsfavorcidas kdaron con ls
antriors buss y vlocidads.
vsa local bus
vl no s arrisgó a padcr otro intnto fayido cm ls d eisa o mca, y no
kiso sustituir al isa, sino k lo complmntó. X lo tanto tnmos k xa
poser 1 pc con vl, ést también tien k tnrl bus isa, y sus rspctivas
tarjtas d expansión, dl vl en cambio, tndrmos 1a o 2 ranuras d
expansión, y sn sólo stas ls k sn conctadas con la cpu mdiant 1 bus
vl; d sta forma tnmos a cada sistma d bus trabajando x su cuenta y sin
storbarsl 1 al otro.
el vl s 1a expansión omognizada dl bus local, k funcionaba a 32 bits
pro podía ralizar opracions d 16 bits. L comité vsa prsntó la primra
vrsión dl vl-bus en Agosto dl 1992, y dado su complta intgración y
compntración con l procsador 80486 s extndió rápidamnt x l
mrcado.
al prsntar intl su nuevo procsador pntium d 64 bits, vsa empzó a
trabajar en la nueva vrsión d su bus,l vl-bus 2.0.
sta nueva spcificación comprnd ls 64 bits posibls dirccionabls dl
procsador, y compatibilidad con la antrior vrsión d 32 bits, su vlocidad y la
cantidad d ranuras d expansión s aumntó y s stablció en 3 ranuras
funcionando a 40 m z, y 2 a 50 m z.
pci (prip eral componnts intrconnct)
st modlo k oy en día rig en ls ordnadors convncionals, y sl +
extndido d to2, lo invntó intl y significa: intrconxión d ls componnts
priféricos.
con la yegada d st 9 bus automatizado en to2 sus procsosl usuario
ya no s tndrá k procupar + d controlar ls dirccions d ls tarjtas o
d otorgar intrrupcions. Intgra control propio d todo l rlacionado con él:
dma, intrrupcions, dirccionamiento d datos.
s indpndient d la cpu, pusto k entr stos 2 dispositivos siem pr
abrá 1 controlador dl bus pci, y da la posibilidad d podr instalarlo a sist+
no basa2 en procsadors intl. Ls tarjtas d expansión s puedn acoplar a
cualkier sistma, y puedn sr intrcambiadas cm s kiera, tan solo ls
controladors d ls dispositivos tienn k sr ajusta2 al sistma anfitrión
( ost), s dcir a la corrspondient cpu.
su vlocidad no dpnd d la d la cpu sino k stá sxada dya xl
controlador dl bus. Solución al problm a dl vl-bus, dónd ls tarjtas dbían
acptar la máxima frcuencia d la cpu o sinó no podían funcionar.
el conctor emplado s stilo micro xannl d 124 pins (128 en caso d
trabajar con 64 bits), aunk sólo s utilizan 47 d ls conxions (49 enl caso
d tratars d 1 conctor bus-+tr), la difrncia s aduda a ls conxions
d toma d tierra y d alimntación.
pci s la liminación d 1 paso al microprocsador; en vz d disponr d su
propio rloj,l bus s adapta al emplado xl microprocsador y su circuitría,
x lo tanto ls componnts dl pci stán sincroniza2 con l procsador. L
actual pci opra con 1a frcuencia d 20 a 33.3 m z.
las tarjtas isa no puedn sr instaladas en 1a ranura pci convncional,
aunk existn ekipos con 1 puent dnominado «pci-to-isa-bridg». Consta
d 1 xip k s concta entr ls difrnts slots isa yl controlador dl bus
pci, su tara s la d transxtar ls sñals provnients dl bus pci capo al
bus isa.
su gran salida y acptación fue en gran part x su vlocidad, asíl ardwar s
podía adaptar a la contínua evolución y l incrmnto d vlocidad d ls
procsadors.
scsi (smay computr systm intrfac)
s origina a principios d ls años oxenta cuando l fabricant d discos
dsarroyó su propio sistma d e/s nominada sasi (s ugart asociats systm
intrfac) k dado su éxito y su gran acptación comrcial fue aprobado x
ansí al 1986.
scsi no s concta dirctamnt a la cpu sino k utiliza d puent 1 d ls
buss antriormnt mnciona2. S podría dfinir cm 1 subsistma d e/s
intlignt, cumplido y bidirccional. 1 solo adaptador ost scsi pued controlar
asta 7 dispositivos scsi concta2 con él.
una d ls vntajas dl scsi en frnt a otros s k ls dispositivos s
dirccionan lógicamnt en vz d físicamnt, st sistma s útil x 2
razons:
1. Limina cualkier limitación k l conjunto pc-bios pueda imponr a las
unidads d disco.
2. L dirccionamiento lógico limina la sobrcarga k podría tnr l ost al
maniobrar ls aspctos físicos dl dispositivo,l controlador scsi lo controla.
aunk varios dispositivos ( asta 7), puedn compartir 1 mismo adaptador scsi,
tan sólo 2 d éstos puedn comunicars sobrl mism o bus a la vz.
pued configurars d 3 manras difrnts k l dan gran vrsatilidad:
1. Único iniciador/Único objtivo: sl + común,l iniciador s 1 adaptador en
una ranura d 1 pc, y l objtivo s l controlador dl disco duro. S 1a
configuración fácil d implmntar pro no aprovxa al máximo ls posibilidads
dl bus, excpto cuando s controlan varios discos duros.
2. Único iniciador/múltipl objtivo: - común y raram ent implmntado, s
bastant parcido al antrior excpto k s controlan difrnts tipos d
dispositivos d e/s. (cd-ROM y 1 disco duro)
3. Múltipl iniciador/múltipl objtivo: muxo - utilizado k ls antriors, s
aprovxan a fondo ls capacidads dl bus.
agp (acclratd grap ics xt)
fue crada x intl xa dar pie a la cración d 1 9 tipo d pc, al cual
prstaron spcial atnción a ls gráficos y la conctividad. Basado en la
spcificación pci 2.1 a 66 m z, incluyó 3 caractrísticas xal aumnto d
su rndimiento: opracions d lctura/scritura en mmoria con piplin,
dmultiplxado d datos y dirccions al propio bus, e incrmnto d la vlocidad
asta ls 100 m z ( l k supón 1 ratio d + d 800 mbyts/s, + d
4 vcs kl pci).
en su caso, cm s 1 bus spcialmnt ddicado a ls gráficos, no tien k
compartir con otros dispositivos l anxo d banda; otra caractrística d sta
structura s la d k posibilita la compartición d la mmoria principal x part
d la tarjta gráfica mdiant 1 modlo dnominado x intl cm dim ( d
irct
?
mmory execut | ejcución dircta a mmoria), la cual ac posibl la
obtnción d mjors txturas en juegos y aplicacions 3d, al almacnar stas en
la ram dl sistma y transfrirlas cuando ls pidan otros dispositivos.
1.2.2. Rgistros
ls rgistros dl procsador s emplan xa controlar instruccions en ejcución,
manjar dirccionamiento d mmoria y proxcionar capacidad aritmética. Ls
rgistros sn spacios físicos dntro dl microprocsador con capacidad d 4 bits
asta 64 bits dpndiendo dl microprocsador k s emple. Ls rgistros sn
dirccionabls x mdio d 1a viñeta, k s 1a dircción d mmoria. Ls
numran d drxa a izkierda (15,14,13…. 3,2,1,0),
bits, x convniencia, s
ls rgistros stán dividi2 en 6 grupos ls cuals tienn 1 fin spcifico. Ls
rgistros s dividn en:
rgistros d sgmnto
rgistros d apuntadors d instruccions
rgistros apuntadors
rgistros d propósitos gnrals
rgistro índic
rgistro d bandra.
rgistros d sgmnto
un rgistro d sgmnto s utiliza xa alinar en 1
limit d párrafo o dixo d otra forma codifica la dircción d inicio d cada
sgmnto y su dircción en 1 rgistro d sgmnto supón 4 bits 0 a su
drxa. 1 rgistro d sgmnto tien 16 bits d longitud y facilita 1 ára d
mmoria xa dirccionamientos conoci2 cm l sgmnto actual. Ls
rgistros d sgmnto sn:
rgistro cs rgistro ds rgistro ss rgistro s rgistro fs y gs
rgistro cs. L 2 almacna la dircción inicial dl sgmnto d código d 1
programa en l rgistro cs. Sta dircción d sgmnto, + 1 valor d
dsplazamiento en l rgistro d apuntado d instrucción (ip), indica la dircción
d 1a instrucción k s buscada xa sí ejcución. Xa propósito d
programación normal, no e ncsita rfrnciarl rgistro cs.
rgistro ds. La dircción inicial d 1 sgmnto d datos d programa s
alm acnada enl rgistro ds. En términos snciyos, sta dircción, + 1 valor
d dsplazamiento en 1a instrucción, gnra 1a rfrncia a la localidad d 1
byts spcifico enl sgmnto d datos.
rgistro ss. L rgistro ss prmit la colocación en mmoria d 1a pila, xa
alm acnamiento tmxal d dirccions y datos. L 2 almacna la dircción
d inicio dl sgmnto d pila d 1 programa enl rgistro ss. Sta dircción d
sgmnto, + 1 valor d dsplazamiento enl rgistro dl apuntador d la pila
(sp), indica la palabra actual en la pila k stá siendo dirccionada. Xa
propósitos d programación normal, no s ncsita rfrnciarl rgistro ss.
rgistro s algunas opracions con cadnas d caractrs (datos d
caractrs) utilizanl rgistro sta d sgmnto xa manjarl dirccionamiento
d mmoria. En st contxto, l rgistro s sta asociado con l rgistro di
(índic) . 1 programa k rkier l uso dl rgistro s pued inicializarlo con
una dircción apropiada.
rgistros fs y gs. Sn rgistros extra d sgmnto en ls procsadors 80386y
postriors a stos procsadors.
rgistro apuntador d instruccions.(ip)
el rgistro apuntador d instruccions
(ip) d 16 bits contien l dsplazamiento d dircción d la siguient instrucción
k s ejcuta.L rgistro ip sta asociado conl rgistro cs enl sntido d k
el ip indica la instrucción actual dntro dl sgmnto d código k s sta
ejcutando actualmnt. Enl ejmplo siguient,l rgistro cs contien 25a4[0]
yl ip contien 412 . Xa encontrar la siguient instrucción k srá ejcutada
el procsa2 combina ls dirccions enl cs yl ip así: sgmnto d dircción
enl rgistro cs: 25a40 dsplazamiento d dircción enl rgistro ip: + 412
dircción d la siguient instrucción: 25e52
rgistros apuntadors. Ls rgistros apuntadors stán asocia2 conl rgistro
ss y prmitn al procsador accsar datos en l sgmnto d pila ls rgistros
apuntadors sn 2:
el rgistro sp l rgistro bp rgistro sp. L apuntador d pila ip d 16 bits sta
asociado con l rgistro ss y proxciona 1 valor d dsplazamiento k s
rfier a la palabra actual k sta siendo procsada en la pila. L ejmplo
siguient l rgistro ss contien la dircción d sgmnto 27b3[0] y l sp l
dsplazamiento 312 xa encontrar la palabra actual k sta siendo procsada
en la pilal microprocsador combina ls dirccions enl ss yl pp: dircción
d sgmnto enl rgistro ss: 27b30 dsplazam iento enl rgistro sp: + 312
dircción en la pila: 27e42
27b3[0] 312 dircción dl sgmnto ss dsplazam iento dl sp
rgistro bp. L rgistro bp d 16 bits facilita la rfrncia d parámtros, ls
cuals sn datos y dirccions transmiti2 vía lapida.
rgistros d propósitos gnrals.
ls rgistros d propósitos gnrals ax, bx, cx y dx sn ls cabayos d bataya
o ls erramientas dl sistma. Sn ls únicos en l sntido d k s pued
dirccionarls cm 1a palabra o cm 1a part d 1 byt.L ultimo byt d la
izkierda s la part “alta”, y l ultimo byt d la drxa s la part “baja” x
ejmplo, l rgistro cx consta d 1a part x (alta) y 1a part cl (baja), y
ustd pued rfrirs a cualkier part x si nombr. Ñas instruccions siguients
muevn cros a ls rgistros cx, x y cl rspctivamnt. Mov cx, 00 mov x,
00 mov cl, 00 ls procsadors 80386 y postriors prmitn l uso d to2
rgistros d propósito gnral, + vrsions d 32 bits; eax, ebx y edcx.
rgistros ax. L rgistro ax, l acumulador principal, s utilizado xa
opracions k implican entrada/salida y la mayor part d la aritm ética. X
ejmplo, ls instruccions xa multiplicar, dividir y traducir suponnl uso dl ax.
también, algunas opracions gnran código + efi100ts si s rfier al ax
en lugar d ls otros rgistros.
rgistro bx.L bx s conocido cml rgistro bas ya k sl único rgistro
d propósitos gnrals k puedn sr 1s índics xa dirccionamiento
indxado. También s común emplar al bx xa cálculs.
rgistro cx. L cx s conocido cm l rgistro contador. Pued contnr 1
valor xa controlar l númro d vcs k 1 ciclo s rpit o 1 valor xa
corrimiento d bits, acia la drxa o acia la izkierda.L cx también s usado
xa m uxos cálculs.
rgistro dx. L dx s conocido cm l rgistro d datos. Algunas opracions
d entrada/salida rkiern su uso, y ls opracions d multiplicación y división
con cifras grands suponn al dx y al ax trabajando juntos. Pued usar ls
rgistros d propósitos xa suma y rsta d cifras d 8, 16, 32 bits.
rgistro índic.
ls rgistros si y di stán disponibls xa dirccionamientos indxa2 y xa
su+ y rstas. K sn la opracions d punta.
rgistro si.L rgistro índic d 16 bits s rkrido x algunas opracions con
cadnas (d caractrs). En st contxto,l si stá asociado conl rgistro ds.
ls procsadors 80386 y postriors prmitnl uso d 1 rgistro ampliado a
32 bits,l si.
rgistro di. L rgistro índic dstino también s rkrido x algunas
opracions con cadnas d caractrs. En st contxto,l di stá asociado con
el rgistro s. Ls procsadors 80386 y postriors prmitn l uso d 1
rgistro ampliado a 32 bits,l edi.
rgistro d bandra. Ls rgistros d bandras sirvn xar indicar l stado
actual d la makina y l rsultado dl procsamiento, cuando algunas
instruccions pidn comxacions o cálculs aritméticos cambianl stado d las
bandras. Ls bandras stán en l rgistro d bandras en ls siguients
posicions: bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
bandra ls bandras + comuns sn ls siguients: of (ovr flow flag,
dsbordamiento). Indica l dsbordamiento d 1 bit d ordn alto (+ a la
izkierda) dspués d 1a opración aritmética. Df (dirction flag, dirccion).
dsigna la dircción acia la izkierda o acia la drxa xa movr o comxar
cadnas d caractrs. If (intrruption flag, intrrupcion). Indica k 1a
intrrupción extrna, cm la entrada dsdl tclado sa procsada o ignorada.
tf (trap flag, trampa). Examinal efcto d 1a instrucción sobr ls rgistros y
la mmoria. Ls progra+ dpuradors cm dbug, activan sta bandra d
manra k pueda avanzar en la ejcución d 1a sola intrrupción a 1 tiempo.
sf (sign flag, signo). Contien l signo rsultant d 1a opración aritmética
(0=positivo y 1= ngativo). Zf (zro flag, zro). Indica l rsultado d 1a
opración aritmética o d comxación (0= rsultado difrnt d cro y
1=rsultado igual a cro). Af (auxiliary carry flag, acarro auxiliar). Contien 1
acarro extrno dl bit 3 en 1 dato d 8 bits, xa aritmética spcializada pf
(parity flag, paridad). Indica paridad par o impar d 1a opración en datos d
8 bits d bajo ordn (+ a la drxa). Cf (carry flag, acarro). Contienl
acarro d ordn + alto (+ a la izkierda) dspués d 1a opración
aritmética; también yeva l contnido dl ultimo bit en 1a opración d
corrimiento o rotación.
tipos d rgistros
rgistros d sgmnto:
un rgistro d sgmnto tien 16 bits d longitud y facilita 1 ára d mmoria
xal dirccionamiento conocida cml sgmnto actual
rgistros d apuntador d instruccions:
st rgistro sta compusto x 16 bits y contien l dsplazamiento d la
siguient instrucción k s va a ejcutar. Ls procsadors 80386 y postriors
tien 1 ip ampliado d 32 bits yamado eip.
rgistros apuntadors:
prmitn al sistma accsar datos al sgmnto d la pila. Ls procsadors
80386 tien 1 apuntador d pila d 32 bits yamado sp. L sistm a manja d
manra automática stos rgistros.
rgistros d propósito gnral:
sn ls cabayos d bataya dl sistma y puedn sr dircciona2 cm 1a
palabra o cm 1a part d 1 byts. Ls procsadors 80386 y postriors
prmitn l uso d to2 ls rgistros d propósitos gnral + sus vrsions
ampliadas d 32 bits yam a2 eax, ebx,ecx y edx.
rgistros indics:
sirvn xal dirccionamiento d indxado y xa ls opracions d su+ y
rstas.
rgistros d bandras:
sirvn xa indicar l stado actual d la makina y l rsultado dl
procsamiento. D ls 16 bits d rgistro d bandra 9 sn comuns a toda la
familia d ls procsadors 8086.
ejmplo d rprsntacion d ls rgistros dspués d abr concptualizado
e intrprtado ls difrnt tipos d rgistro nos vmos en la ncsidad d dar 1
ejmplo no muy practico pro si muy significativo en l cual s rprsntan la
forma structurada d 1 programa enl lnguaj ensam blador y cm s u tilizan
ls difrnts trmino k emos invstigado vmos k enl programa o en 1a
pkña xción d él s mustran cm s colocan dntro ls difrnts tipos
rgistros.
titl p 17 anrd
?
(exe) lctura scuencial d rgistros.
.Modl smay .Stack 64 /----------------------------------------------------------------------
-------------------- ,data endcd db 00 ; fin dl indicardor d procso.
andl dw ? Ioara db 32 dup(´ ´) opnmsg db ´*** opn error ***´ 0d ,
0a pat nam db ´d:\namfil.Srt´, 0 radmsd db ´*** rad error ***´
0d , 0a row db 00 /------------------------------------------------------------------------------
--------------- .Cod bgin proc far mov ax,@data ; inicializa mov ds,ax ;
rgistro d mov s,ax ; sgmnto mov ax,0600
1.2.3. Mo2 d dirccionamiento
la codificación d instruccions dl 68000 contien 2 tipos d datos: la
opración a ralizar y la localización d ls opran2. Sta localización d
opran2 pued acrs d 1a d ls 3 siguients for+:
„spcificaci n d rgistro . En la codificaci n d la instrucci n ay 1 campo en
el k s dtrm ina 1 númro d rgistro.
„dircci n efctiva . St sistma s vrá dtayadamnt a continuaci n.
„rfrncia implícita . X dfinici n d la opraci n a ralizar stá implícito l
uso d dtrmina2 rgistros.
ls 14 mo2 d dirccionamiento s agrupan en 6 tipos básicos:
1.-dirccionamiento dircto a rgistro
* dircto a rgistro d datos
* dircto a rgistro d dirccions
2.- dirccionam iento absoluto
* absoluto corto
* absoluto largo
3.- dirccionam iento rlativo al puntro d programa
* rlativo con dsplazamiento
* rlativo con índic y dsplazamiento
4.-dirccionamiento indircto
* indircto
* indircto con postincrm ento
* indircto con prdcrmnto
* indircto con índic y dsplazamiento
5.- dirccionam iento inmdiato
* inmdiato
* inmdiato rápido
6.- dirccionam iento im plícito
* rgistro implícito
mo2 d dirccionamiento.
2.2.1- formato d ls instruccions.
la codificación d instruccions pued ocupar dsd 1a word asta 5. En la
primra word s spcifica la opración a ralizar yl tamaño d ls opran2.
cuando no s utiliza dirccionam iento x dircción efctiva, la word d opración
pued yevar también la spcificación d rgistros. En caso d utilizarl método
d dircción efctiva s ncsitan otras words d extnsión k en alguna ocasión
puedn sr asta 4.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 word d opración ( spcifica la opración y
el modo ) oprando inm ediato o extnsión d dircción efctiva d orign ( si s
ncsario, 1a o 2 words ) dircción efctiva dl dstino ( si s ncsario, 1a o
2 words ) form ato d ls instruccions
2.2.2- dircción efctiva.
la mayoría d ls dirccionamientos enl 68000 s ralizan mdiantl método
d „dircci n efctiva . St método consist en codificar dntro d la word d
opraciónl tipo d dirccionamiento a usar sgún la pauta d la siguient figura.
codificación d la dircción efctiva codificación: modo d
dirccionamiento notación modo rgistro dircto x rgistr o d datos. Dn
000 númro dircto x rgistro d dirccions an 001 númro indircto x
rgistro d dirccions. (an) 010 númro idm con postincrmnto. (an)+ 011
númro idm con prdcrmnto. -(an) 100 númro idm con dsplazamiento.
(d16,an) 101 númro idm con índic y dsplazamiento. (d8,an,xm) 110 númro
absoluto corto xxx.W 111 000 absoluto largo xxx.L 111 001 pc con
dsplazamiento (d16,pc) 111 010 pc con indic y dsplazamiento (d8,pc,xn)
111 011 inmdiato #<dato>
111 100
dirccionamientos x dircción efctiva
2.2.3- mo2 dirctos a rgistro.
stos mo2 spcifican cm oprando 1 d ls 16 rgistros multifunción dl
68000. L tamaño a utilizar d ls mismos kda spcificado en la word d
opración.
considérs com o ejm plo la instrucción add.W <ea>,d3 k ralizará la
siguent suma con opran2 d tama o word : dn + <ea> dn. K tien
cm formato gnral
la codificación d sta instrucción a falta d dcidirl modo d dirccionamiento
emplado xal oprando fuent srá
dond • bits 15-12 indican l c digo d opracion xa add (1101) • bits 11-
9
indican k l rgistro d datos d3 s l dstino (3 =011) • bits 8-
6 indican l
tama o d oprando (001 = word) • bits 5-
3 indicarán l modo d
dirccionamiento d la fuent • bits 2-
0 indicaranl rgistro(caso d sr ncsario
d la fuent).
2.2.3.1- dircto a rgistro d datos.
sría x ejmplo add.W d1,d3
el oprando fuent sl rgistro d datos indicado enl código.
dond modo=000 indica 1 rgistro d datos y 001 indica k s d1
2.2.3.2- dircto a rgistro d dirccions.
sría x ejmplo add.W a1,d3
el oprando fuent sl rgistro d dirccions indicado enl código.
dond modo=001 indica 1 rgistro d dirccions y 001 indica k s a1
2.2.4- mo2 d dirccionamiento d mmoria.
stos mo2 spcifican cm oprando 1a posición d mmoria mdiant
difrnts cálculs xa obtnr la dircción d la m isma.
2.2.4.1- indircto x rgistro d dirccions.
sría x ejmplo add.W (a0),d3
el oprando s encuentra en mmoria, en 1a posición cuya dircción s
corrspond conl contnido dl rgistro an.
dond modo=010 indica indircto x rgistro d dirccions y 000 indica k sl
rgistro a0
2.2.4.2- indircto con postincrmnto.
sría x ejmplo add.W (a0)+,d3
el oprando s encuentra en mmoria, en 1a posición cuya dircción s
corrspond con l contnido dl rgistro an. 1a vz dtrminada dixa
dircción s incrmnta l contnido dl rgistro an en 1, 2 ó 4 en función d la
longitud d ls opran2 (byt, word ó long word rspctivamnt).
dond modo=011 indica indircto x rgistro d dirccions y 000 indica k sl
rgistro a0
nota: si l rgistro s a7 (stack) y l tamaño d la opración s byt, l
postincrmnto s d 2 1idads xa mantnrl alinamiento en dirccions
pars dl stack. L byt kda almacnado en la dircción par, djando sin
significadol contnido d la dircción impar inm ediatamnt siguient.
2.2.4.3- indircto con prdcrmnto.
sría x ejmplo add.W -(a0),d3
s comienza x dcrmntarl contnido dl rgistro an en 1, 2 ó 4 en función
d la longitud d ls opran2 (byt, word ó long word rspctivamnt). A
continuación s considra k l oprando s encuentra en mmoria, en 1a
posición cuya dircción s corrspond conl contnido dl rgistro an.
dond modo=011 indica indircto x rgistro d dirccions y 000 indica k sl
rgistro a0
nota: si l rgistro s a7 (stack) y l tamaño d la opración s byt, l
prdcrm ento s d 2 1idads xa mantnrl alinam iento en dirccions
parsdl stack. L byt kda almacnado en la dircción impar inmdiatamnt
siguient.
2.2.4.4- indircto con dsplazamiento.
add 4(a0),d3
al contnido dl rgistro an s l suma 1 entro d 16 bits prviamnt
extndido a 32, k db encontrars en la primra word d extnsión (dtrás d
la word d opración).L rsultado d dixa opración s la dircción d mmoria
k dtrminal oprando.
2.2.4.5- indircto con índic y dsplazamiento.
el formato d la instrucción sría
dond • rn sl numro d rgistro emplado cm indic • (1) indical tipo d
rgistro indic , = rgistro d datos y 1 rgistro d dirccions • (2) indica l
indic , 0 = word, 1 = long, •
tamaño dl rgistro emplado cm
dsplazamietno d 8 bits. ( s 1 numro en complmnto a 2) com o x ejmplo
: add 4(a0,d6),d3
al contnido dl rgistro an s l suma 1 entro d 8 bits prviamnt extndido
a 32, k db encontrars en la primra word d extnsión (dtrás d la word d
opración). A continuación, al rsultado obtnido s l suma l rgistro índic
(también codificado en la word d extnsión). Sil rgistro índic stá tomado en
tamaño word, s extndido a 32 bits con antrioridad a la suma. Finalmnt l
rsultado d ambas sum as s la dircción d mmoria k dtrminal oprando.
la opración ralizada sría la suma siguient:
o también pued sr add 4(a0,d6.L),d3
2.2.5- mo2 spcials d dirccionamiento.
stos mo2 d dirccionamiento no s basan en la utilización d rgistros.
2.2.5.1- dirccionamiento absoluto corto.
x ejmplo add etikta,d3
dond modo=111 indic modo spcial y 000 indica k la dirccion spcificada
en la etikta cab en 1 word.
st modo d dirccionamiento s basa en 1a word d extnsión d la k s
obtien la dircción dl oprando 1a vz k s l a extndidol signo asta 32
bits. X tanto st dirccionamiento s pued utilizar dntro d ls 32 kbyts
primros d la m emoria (0000
-
7fff) y dntro d ls 32 kbyts finals (ff 8000
?
-
ffffff).
2.2.5.2- dirccionamiento absoluto largo.
x ejmplo add etikta,d3
dond modo=111 indic modo spcial y 001 indica k la dirccion spcificada
en la etikta cab en 1 long.
st modo d dirccionam iento utiliza 2 words d extnsión d ls k s
obtien la dircción dl oprando x concatnación, situando la primra cm
part alta d la dircción y la sgunda cm part baja.
2.2.5.3- indircto x pc con dsplazamiento.
al contnido dl puntro d programa (program countr) s l suma 1 entro d
16 bits prviamnt extndido a 32, k db encontrars en la primra word d
extnsión (dtrás d la word d opración).L rsultado d dixa opración s la
dircción d mmoria k dtrmina l oprando. La dircción k contien l
puntro d programa al tomar su contnido xa acr la suma s la d la word d
extnsión.
2.2.5.4- indircto x pc con índic.
al contnido dl contador d program a (program countr) s l suma 1 entro d
8 bits prviamnt extndido a 32, k db encontrars en la primra word d
extnsión (dtrás d la word d opración). A continuación, al rsultado obtnido
s l sum a l rgistro índic (también codificado en la word d extnsión). Si l
rgistro índic stá tomado en tamaño word, s extndido a 32 bits con
antrioridad a la suma. Finalmntl rsultado d ambas su+ s la dircción d
mmoria k dtrmina l oprando. La dircción k contien l puntro d
programa al tom ar su contnido xa acr la suma s la d la word d extnsión.
el formato d la instrucción tien la misma structura k la explicada con
antrioridady dircionamiento indircto con índic y dsplazamiento.
2.2.5.5- dato inmdiato.
con st tipo d dirccionamientol oprando s encuentra en 1a o 2 words
d extnsión, dpndiendo d la longitud d la opración. Si la opración s d
byt s utiliza 1a word d extnsión cuyos bits 0
-
7 snl oprando y ls 8
-
15 s
ponn a cro. Enl caso d 1a opración d tamaño word s utiliza también 1a
sola word y toda ya s l oprando. X último, en l caso d 1 tamaño d
opración long word, l oprando s forma x concatnación d 2 words d
extnsión; la primra s la part alta (bits 16
-
31) y la sgunda la part baja (bits
0
-
15).
x ejm plo addi #7,d3
el formato gnral d sta instrucción s
k enl caso dl ejmplo s
un caso particular s l direcionamiento inmdiato rápido addq #7,d3 con l
siguient form ato gnral
k s rduc x tanto a
2.2.6- dirccionamiento implícito.
algunas instruccions yevan implícitol uso d dtrmina2 rgistros. Stas sn
las siguients:
mnmónico instrucción rgistros afcta2 bcc, bra salto condicional e
incondicional pc bsr salto a subrutina pc, sp xk xeko d rgistros entr
límits ssp, sr d bcc
?
tst d condición, dcrmnto y salto pc divs división
con signo ssp, sr divu división sin signo ssp, sr jmp salto pc jsr salto a
subrutina pc, sp link encadna y rsrva spacio sp mov ccr movr ls
códigos d condición sr mov sr movrl rgistro d stado sr mov usp
movr l apuntador d pila d usuario usp pa apilar la dircción efctiva sp
rt rtorno d 1a excpción pc, sp, sr rtr rtorno rstablcido códigos
condición pc, sp, sr rts rtorno d subrutina pc, sp trap trap ssp, sr
trapv trap si ay rbos ssp, sr 1lk dsncadnar sp
1.3.1. Intrrupcions d ardwar
las intrrupcions extrnas ls gnran ls dispositivos prifricos, cm puedn
sr: tclado, imprsoras, tarjtas d comunicacions, etc. También sn gnradas
x ls coprocsadors.
no s posibl dsactivar a ls intrrupcions extrnas.
stas intrrupcions no sn enviadas dirctamnt a la ucp, sino k s mandan
a 1 circuito intgrado cuya función s exclusivamnt manjar st tipo d
intrrupcions. L circuito, yamado pic 8259a, si s controlado x la ucp
utilizando xa tal control 1a srie d vías d comunicación yamadas puertos.
intrrupción 10
propósito: yamar a divrsas funcions d vido dl bios.
sintaxis:
int 10
sta intrrupción tien divrsas funcions, todasyas nos sirvn xa controlar la
entrada y salida d vido, la forma d accso a cada 1a d ls opcions s x
mdio dl rgistro a .
en st tutorial 1icamnt vrmos algunas d ls funcions d sta
intrrupción.
funcions comuns d la intrrupción 10 .
02 slcción d posición dl cursor
09 scrib atributo y caractr enl cursor
0a scrib caractr en la posición dl cursor
0e scritura d caractrs en modo alfanum érico
función 02
uso:
posicional cursor en la pantaya dntro d ls coordnadas válidas d txto.
rgistros d yamada:
a = 02 b = página d vido en la k s posicionarál cursor. D = fila dl =
columna
rgistros d rtorno:
ning1. Ls posicions d localización dl cursor sn dfinidas x coordnadas
iniciando en 0,0, k corrspond a la skina suprior izkierda asta 79,24
corrspondients a la skina infrior drxa. Tnmos entoncs k ls valors
k puedn tomar ls rgistros d y dl en modo d txto d 80 x 25 sn d 0
asta 24 y d 0 asta 79 rspctivamnt.
función 09
uso:
dsplgar 1 caractr 1 dtrm inado númro d vcs con 1 atributo dfinido
empzando en la posición actual dl cursor.
rgistros d yamada:
a = 09 al = caractr a dsplgar b = página d vido en dond s
dsplgará bl = atributo a usar númro d rpticions.
rgistros d rtorno:
ning1 sta función dspliega 1 caractr l númro d vcs spcificado en
cx pro sin cambiar la posición dl cursor en la pantaya.
función 0a
uso:
dsplgar 1 caractr en la posición actual dl cursor.
rgistros d yamada:
a = 0a al = caractr a dsplgar b = página en dond dsplgar bl = color
a usar (sólo en gráficos). Cx = númro d rpticions
rgistros d rtorno:
ning1. La única difrncia entr sta función y la antrior s k ésta no
prmit modificar ls atributos, sim plmnt usa ls atributos actuals.
tampoco s altra la posición dl cursor con sta función.
función 0e
uso:
dplgar 1 caractr en la pantaya actualizando la posición dl cursor.
rgistros d yamada:
a = 0e al = caractr a dsplgar b = página dond s dsplgara l
caractr bl = color a usar (solo en gráficos)
rgistros d rtorno:
ning1
intrrupción 16
propósito: manjar la entrada/salida dl tclado.
sintaxis:
int 16
vrmos 2 opcions d la intrrupción 16 , stas opcions, al igual k ls d
otras intrrupcions, sn yamadas utilizandol rgistro a .
funcions d la intrrupción 16
00 le 1 caractr d tclado
01 le stado dl tclado
función 00
uso:
ler 1 caractr dl tclado.
rgistros d yamada:
a = 00
rgistros d rtorno:
a = código d barrido (scan cod) dl tclado al = valor ascii dl caractr.
cuando s utiliza sta intrrupción s dtien la ejcución dl programa asta k
s introduzca 1 caractr dsd l tclado, si la tcla prsionada s 1 caractr
ascii su valor srá guardado enl rgistro a , d lo contrariol código d barrido
srá guardado en al y a contndrál valor 00 .
el código d barrido fué crado xa manjar ls tclas k no tienn 1a
rprsntación ascii cm [alt], [control], ls tclas d función, etc.
función 01
uso:
ler stado dl tclado.
rgistros d yamada:
a = 01
rgistros d rtorno:
si la bandra d cro, zf, stá apagada significa k ay información enl buffr,
si s encuentra prndida s k no ay tclas pndients. En caso d existir
información l rgistro a contndrá l código d la tcla guardada en l buffr.
intrrupción 17 propósito: manjar la entrada/salida d la imprsora.
sintaxis:
int 17
sta intrrupción s utilizada xa scribir caractrs a la imprsora, inicializarla y
ler su stado.
funcions d la intrrupción 16
00 imprim 1 caractr ascii
01 inicializa la imprsora
02 proxcional stado d la imprsora
función 00
uso:
scribir 1 caractr a la imprsora.
rgistros d yamada:
a = 00 al = caractr a imprim ir dx = puerto a utilizar
rgistros d rtorno:
a = stado d la imprsora.L puerto a utilizar, dfinido en dx, s spcifica así:
lpt1 = 0, lpt2 = 1, lpt3 = 2 …
el stado d la im prsora s codifica bit x bit cm sigue:
bit 1/0 significado
0 1 s agotól tiempo d spra 1 - 2 - 3 1 error d entrada/salida 4 1 imprsora
slccionada 5 1 papl agotado 6 1 rconocimiento d comunicación 7 1 la
imprsora s encuentra libr ls bits 1 y 2 no sn rlvants.
la mayoría d ls bios 1icamnt soxtan 3 puertos xalls aunk existn
alg1s k soxtan 4.
función 01
uso:
inicializar 1 puerto d imprsión.
rgistros d yamada:
a = 01 dx = puerto a utilizar
rgistros d rtorno:
a = status d la imprsoral puerto a utilizar, dfinido en dx, s spcifica así:
lpt1 = 0, lpt2 = 1, etc.
el stado d la im prsora s codifica bit x bit cm sigue:
bit 1/0 significado
0 1 s agotól tiempo d spra 1 - 2 - 3 1 error d entrada/salida 4 1 imprsora
slccionada 5 1 papl agotado 6 1 rconocimiento d comunicación 7 1 la
imprsora s encuentra libr ls bits 1 y 2 no sn rlvants.
la mayoría d ls bios 1icamnt soxtan 3 puertos xalls aunk existn
alg1s k soxtan 4.
función 02
uso:
obtnrl stado d la imprsora.
rgistros d yamada:
a = 01 dx = puerto a utilizar
rgistros d rtorno:
a = status d la imprsora.L puerto a utilizar, dfinido en dx, s spcifica así:
lpt1 = 0, lpt2 = 1, etc.
el stado d la im prsora s codifica bit x bit cm sigue:
bit 1/0 significado
0 1 s agotól tiempo d spra 1 - 2 - 3 1 error d entrada/salida 4 1 imprsora
slccionada 5 1 papl agotado 6 1 rconocimiento d comunicación 7 1 la
imprsora s encuentra libr ls bits 1 y 2 no sn rlvants.
la mayoría d ls bios 1icamnt soxtan 3 puertos xalls aunk existn
alg1s k soxtan 4.
1.3.2. Intrrupcions d softwar
las intrrupcions d softwar puedn sr activadas dirctamnt x l
ensamblador invocando al númro d intrrupción dsada con la instrucción int.
el uso d ls intrrupcions nos ayuda en la cración d progra+, utilizándolas
nustros progra+ sn + cortos, s + fácil entndrls y usualmnt tienn
un mjor dsmpño dbido en gran part a su mnor tam año.
st tipo d intrrupcions podmos sxarlas en 2 catgorias: las
intrrupcions dl sistma oprativo 2 y ls intrrupcions dl bios.
la difrncia entr ambas s k ls intrrupcions dl sistm a oprativo sn +
fácils d usar pro también sn + lntas ya k stas intrrupcions acn
uso dl bios xa lograr su comtido, en cambio ls intrrupcions dl bios sn
muxo + rápidas pro tienn la dsvntaja k, cm sn part dl ardwar
sn muy spcíficas y puedn variar dpndiendo incluso d la marca dl
fabricant dl circuito.
la lcción dl tipo d intrrupción a utilizar dpndrá 1icam ent d las
caractristicas k l kiera dar a su programa: vlocidad (utilizando ls dl bios)
o xtabilidad (utilizando ls dl 2).
intrrupción 21 propósito: yamar a divrsas funcions dl 2.
sintaxis:
int 21
nota: cuando trabajamos en +m s ncsario spcificar k l valor k
stamos utilizando s exadcimal.
sta intrrupción tien varias funcions, xa accsar a cada 1a d yas s
ncsario ky rgistro a s encuentrl númro d función k s rkiera
al momnto d yamar a la intrrupción.
funcions xa dsplgar información al vido.
02 ex ib salida 09 im prsión d cadna (vido) 40 scritura en
dispositivo/arxivo
strong
función 02 uso:
dspliega 1 caractr a la pantaya.
rgistros d yamada:
a = 02 dl = valor dl caractr a dsplgar.
rgistros d rtorno:
ning1
sta función nos dspliega l caractr cuyo código exagsimal corrspond al
valor almacnado en l rgistro dl, no s modifica ningún rgistro al utilizar st
comando.
s rcomndado l uso d la función 40 d la mism a intrrupción en lugar d
sta función.
emp asizdfunción 09
uso:
dspliega 1a cadna d caratrs en la pantaya.
rgistros d yamada:
a = 09 ds:dx = dircción d inicio d 1a cadna d caractrs
rgistros d rtorno:
ning1.
sta función dspliega ls caractrs, 1 a 1, dsd la dircción indicada enl
rgistro ds:dx asta encontrar 1 caractr $, k s intrprtado cml final d
la cadna.
s rcom ienda utilizar la función 40 en lugar d sta función.
emp asizdfunción 40
uso:
scribir a 1 dispositivo o a 1 arxivo.
rgistros d yamada:
a = 40 bx = vía d comunicación cx = cantidad d byts a scribir ds:dx =
dircción dl inicio d ls datos a scribir
rgistros d rtorno:
cf = 0 si no ubo error ax = númro d byts scritos cf = 1 si ubo error ax =
código d errorl uso d sta función xa dsplgar información en pantaya s
raliza dandol al rgistro bxl valor d 1 k sl valor prasignado al vido x
el sistma oprativo ms-2.
emp asizdfunción 01
uso:
ler 1 caractr dl tclado y dsplgarlo.
rgistros d yamada:
a = 01
rgistros d rtorno:
al = caractr lído con sta función s muy snciyo ler 1 caractr dl tclado,
el código exadcimal dl caractr lído s guarda en l rgistro al. En caso d
k sa 1 caractr extndido l rgistro al contndra l valor d 0 y srá
ncsario yamar d nuevo a la función xa obtnrl código d st caractr.
emp asizdfunción 0a
uso:
ler caractrs dl tclado y almacnarls en 1 buffr.
rgistros d yamada:
a = 0a ds:dx = dircción dl ára d almacnamiento byt 0 = cantidad d
byts enl ára byt 1 = cantidad d byts lí2 dsd byt 2 asta byt 0
+ 2 = caractrs lí2
rgistros d rtorno:
ning1 ls caractrs sn lí2 y almacna2 en 1 spacio prdfinido d
mmoria. La structura d st spacio l indica k enl primr byt dl mismo
s indican cuantos caractrs srán lí2. En l sgundo byt s almacna l
númro d caractrs k ya s lyeron, y dl trcr byt en adlant s scribn
ls caractrs lí2.
cuando s an almacnado to2 ls caractrs indica2 - 1 la bocina
suena y cualkier caractr adicional s ignorado. Xa trminar la captura d la
cadna s ncsario darl [entr].
emp asizdfunción 3f
uso:
ler información d 1 dispositivo o arxivo.
rgistros d yamada:
a = 3f bx = númro asignado al dispositivo cx = núm ero d byts a procsar
ds:dx = dircción dl ára d almacnamiento
rgistros d rtorno:
cf = 0 si no ay error y ax = númro d byts li2. Cf = 1 si ay error y ax
contndral código dl error. Función 0f
uso:
abrir arxivo fcb
rgistros d yamada:
a = 0f ds:dx = apuntador a 1 fcb
rgistros d rtorno:
al = 00 si no ubo problma, d lo contrario rgrsa 0ff emp asizdfunción
14
uso:
ler scuencialmnt 1 arxivo fcb.
rgistros d yamada:
a = 14 ds:dx = apuntador a 1 fcb ya abierto.
rgistros d rtorno:
al = 0 si no ubo errors, d lo contrario s rgrsaral código corrspondient
d error: 1 error al final dl arxivo, 2 error en la structura dl fcb y 3 error d
lctura parcial. Sta función lo k ac s k le l siguient blok d
información a partir d la dircción dada x ds:dx, y actualiza st rgistro.
emp asizdfunción 15
uso:
scribir scuencialmnt a 1 arxivo fcb
rgistros d yamada:
a = 15 ds:dx = apuntador a 1 fcb ya abierto
rgistros d rtorno:
al = 00 si no ubo errors, d lo contrario contndral código dl error: 1 disco
yeno o arxivo d solo lctura, 2 error en la formación o spcificación dl fcb. La
función 15 dspués d scribirl rgistro al blok actual actualizal fcb.
emp asizdfunción 16
uso:
crar 1 arxivo fcb.
rgistros d yamada:
a = 16 ds:dx = apuntador a 1 fcb ya abierto.
rgistros d rtorno:
al = 00 si no ubo errors, d lo contrario contndral valor 0ff s basa en
la información próvida en 1 fcb xa crar 1 arxivo enl disco.
emp asizdfunción 21
uso:
ler en forma alatoria 1 arxivo fcb.
rgistros d yamada:
a = 21 ds:dx = apuntador a 1 fcb ya abierto.
rgistros d rtorno:
a = 00 si no ubo error, d lo contrario a contndral código dl error: 1 si s
fin d arxivo, 2 si exist error d spcificación d fcb y 3 si s lyó 1 rgistro
parcial ol apuntador dl arxivo s encuentra al final dl mismo. Sta función le
el rgistro spcificado x ls campos dl blok actual y rgistro actual d 1
fcb abierto y coloca la información en l dta (ára d transfrncia d disco o
disk transfr ara).
emp asizd función 22
uso:
scribir en forma alatoria en 1 arxivo fcb.
rgistros d yamada:
a = 22 ds:dx = apuntador a 1 fcb abierto.
rgistros d rtorno:
al = 00 si no ubo error, d lo contrario contndrá l código dl error: 1 si l
disco stá yeno o s arxivo d solo lctura y 2 si ay error en la spcificación d
fcb. Scribl rgistro spcificado x ls campos dl blok actual y rgistro
actual d 1 fcb abierto. Scrib dixa información a partir dl contnido dl dta
(ára d transfrncia d disco).
emp asizd función 3x
uso:
crar 1 arxivo si no exist o djarlo en longitud 0 si exist. ( andl)
rgistros d yamada:
a = 3x x = atributo d arxivo ds:dx = apuntador a 1a spcificaión
asciiz
rgistros d rtorno:
cf = 0 y axl númro asignado al andl si no ay error, en caso d abrlo cf
srá 1 y ax contndral código d error: 3 ruta no encontrada, 4 no ay andls
disponibls xa asignar y 5 accso ngado. Sta función sustituye a la 16 . L
nombr dl arxivo s spcificado en 1a cadna asciiz, la cual tien cm
caractrística la d sr 1a cadna d byts convncional trminada con 1
caractr 0.
el arxivo crado contndra ls atributos dfini2 en l rgistro cx en la
siguient form a:
valor atributos 00 normal 02 scondido 04 sistma 06 scondido y d
sistmal arxivo s cra con ls prmisos d lctura y scritura. No s posibl
crar dirctorios utilizando sta función.
emp asizd función 3d
uso:
abr 1 arxivo y rgrs 1 andl
rgistros d yamada:
a = 3d al = modo d accso ds:dx = apuntador a 1a spcificación asciiz
rgistros d rtorno:
cf = 0 y ax = númro d andl si no ay errors, d lo contrario cf = 1 y ax =
código d error: 01 si no s válida la función, 02 si no s encontról arxivo,
03 si no s encontr´o la ruta, 04 si no ay andls disponibls, 05 en caso d
accso ngado, y 0x sil código d accso no s válido.L andl rgrsado s
d 16 bits.
el código d accso s spcifica en la siguient forma:
bits 7 6 5 4 3 2 1 . . . . 0 0 0 solo lctura . . . . 0 0 1 solo scritura . . . . 0 1 0
lctura/scritura . . . X . . . Rsrvado
emp asizdfunción 3e
uso:
crrar arxivo ( andl).
rgistros d yamada:
a = 3e bx = andl asignado
rgistros d rtorno:
cf = 0 si no ubo errors, en caso contrario cf srá 1 y ax contndrá l código
d error: 06 si l andl s inválido. Sta función actualiza l arxivo y libra o
dja disponibll andl k staba utilizando.
emp asizdfunción 3f
uso:
ler d 1 arxivo abierto 1a cantdad dfinida d byts y ls almacna en 1
buffr spcífico.
rgistros d yamada:
a = 3f bx = andl asignado cx = cantidad d byts a ler ds:dx =
apuntador a 1 ára d trabajo.
rgistros d rtorno:
cf = 0 y ax = númro d byts li2 si no ubo error, en caso contrario cf = 1 y
ax = código d error: 05 si accso ngado y 06 si no s válidol andl.
emp asizd función 40
uso:
scrib a 1 arxivo ya abierto 1a cierta cantidad d byts a partir dl buffr
dsignado.
rgistros d yamada:
a = 40 bx = andl asignado cx = cantidad d byts a scribir. Ds:dx =
apuntador al buffr d datos.
rgistros d rtorno:
cf = 0 y ax = númro d byts scritos si no ay errors, en caso d existir cf =
1 y ax = código dl error: 05 si l accso s ngado y 06 si l andl s
inválido.
emp asizdfunción 42
uso:
movr apuntador al arxivo ( andl)
rgistros d yamada:
a = 42 al = método utilizado bx = andl asignado cx = la part +
significativa dl offst dx = la part - significativa dl offst
rgistros d rtorno:
cf = 0 y dx:ax = la nueva posición dl apuntador. En caso d error cf srá 1 y
ax = código d error: 01 si la función no s válida y 06 si l andl no s
válido.L método utilizado s configura cm sigue:
valor d al método 00 a partir dl principio dl arxivo 01 a partir d la
posición actual 02 a partir dl final dl arxivo