Top Banner

of 34

34282083 Analisis Diseno y Programacion de Sistemas

Jul 21, 2015

Download

Documents

Eli Tedesqui
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

ANLISIS,DISEO Y PROGRAMACIN DISEO Y PROGRAMACIN

DE SISTEMAS DE SISTEMASPrincipio de funcionamiento del Software de Sistemas

ANLISIS,DISEO Y PROGRAMACIN DISEO Y PROGRAMACIN

DE SISTEMAS DE SISTEMASPrincipio de funcionamiento del Software de Sistemas

ISBN 970764803-1

Autor: M.C. Norma Ramrez Hernndez M.S.I Graciela Lara Lpez M.A.S.I. Salomn Eduardo Ibarra Chvez Revisor Tcnico: Ing. Valentn Martnez Lpez9 789707 648036

ANALISIS,DISEOYPROGRAMACINDESISTEMAS

CONTENIDO 1 INTRODUCCIN 1. ESTRUCTURADELACOMPUTADORA 1.1. HISTORIA 1.1.1. 3000ACBACOCHINA 1.1.2. SIGLOXVIIREGLADECLCULONAPIER,GUNTHER,PASCAL,LEIBNIZ 1.1.3. SIGLOXIXMAQUINADIFERENCIALBABBAGE,BYRON,JACQUARD(TARJETAS PERFORADAS) 1.1.4. 1944MARKIAIKEN 1.1.5. 1944ENIACECKERT,MAUCHLY 1.1.6. 1946EDVACJOHNVONNEUMANN 1.2. GENERACIONES 1.2.1. GENERACIN0(19421945) 1.2.2. PRIMERAGENERACIN(19511958) 1.2.3. SEGUNDAGENERACIN(19591954) 1.2.4. TERCERAGENERACIN(19641971) 1.2.5. CUARTAGENERACIN(19721984) 1.3. ARQUITECTURADELACOMPUTADORA 1.3.1. ARQUITECTURADEJOHNVONNEUMANN 1.3.2. ARQUITECTURADEHARVARD 1.4. ESTRUCTURALGICADELPROCESADOR 1.4.1. LENGUAJEMQUINA 1.4.2. SISTEMASDENUMERACIN 1.5. CONJUNTODEREGISTROSYMODELODEPROGRAMACIN 1.5.1. CONCEPTOSDEMODELODEPROGRAMACIN 1.5.2. DIRECCIONAMIENTOSSIMPLES.(INHERENTE,INMEDIATO,DIRECTOYEXTENDIDO) 1.5.3. DIRECCIONAMIENTORELATIVODE8BITS 1.5.4. DIRECCIONAMIENTORELATIVODE16BITS. 1.5.5. DIRECCIONAMIENTOINDEXADO. 1.5.6. OTROSDIRECCIONAMIENTOS. 1.5.6.1. RELATIVODE9 1.5.6.2. MLTIPLES 1.5.6.3. MSCARA 1.6. EJERCICIOSDEFINDECAPITULO 7 11 11 11 11 12 13 14 14 16 16 16 17 17 18 20 25 34 37 39 41 45 45 51 53 55 56 58 58 59 59 61

3

nrh 2. ENSAMBLADORES 2.1. RELACINARQUITECTURADEMQUINASYENSAMBLADOR 2.1.1. CARACTERSTICASDEPENDIENTESDELAMAQUINA. 2.1.2. CARACTERSTICASINDEPENDIENTESDELAMAQUINA. 2.2. MODALIDADESDEENSAMBLADO 2.3. TCNICASDEENSAMBLADO 2.3.1. ENSAMBLADORDEUNPASO. 2.3.2. ENSAMBLADORDEDOSOMSPASOS. 2.3.2.1. PRIMERPASO(TABSIM:TABLADESMBOLOS) 2.3.2.2. SEGUNDOPASO(S19) 2.4. GESTINDEMEMORIAENELENSAMBLADOR 2.5. DISEOYPROGRAMACINDELENSAMBLADORDEDOSPASOS 2.5.1. ALGORITMODEPROGRAMACIN 2.5.2. ALGORITMOSYPSEUDOCDIGOSEJEMPLOS 2.5.3. FORMATODEARCHIVOOBJETO. 2.6. EJEMPLOS 2.7. FUNCIONAMIENTODELENSAMBLADOR 2.8. EJERCICIOSDEFINDECAPITULO 3. CARGADORLIGADOR 3.1. CLASESDECARGADOR 3.1.1. LIGADODINMICO 3.1.2. EJEMPLODECARGADORCYBER 3.1.3. EJEMPLODEEDITORDELIGADO370 3.1.4. EJEMPLODEEDITORDELIGADOVAX 3.2. RELACINCARGADORSISTEMAOPERATIVO 3.2.1. SISTEMASOPERATIVOS 3.3. FUNCIONESDELEDITORDEENLACE 3.4. PROBLEMADELIGASDEOBJETOSYMTODOSDESOLUCIN 3.5. DISEOYPROGRAMACINDEUNCARGADOR 3.5.1. CARGADORABSOLUTO(EJEMPLO) 3.5.2. CARGADORRELOCALIZABLE(EJEMPLO) 3.6. EJERCICIOSDEFINDECAPITULO 4 MACROPROCESADORES 4.1. IMPORTANCIATERICADEMACROEXPRESIONESYUSOSDEUNMACROPROCESADOR 4.1.1. CONCEPTOSCLAVE 67 67 74 75 81 87 88 89 89 91 93 101 103 108 120 121 127 129 137 137 142 144 145 145 147 150 151 154 159 159 160 164 171 176 179

4

______________________________________________________________________________ Introduccin/Historia

ANALISIS,DISEOYPROGRAMACINDESISTEMAS 4.2. MACROPROCESADORESCONARGUMENTOSYMACROPROCESADORESRECURSIVOS 4.3. INCORPORACINDELPROCESADORDEMACROSALENSAMBLADOR 4.3.1. EJEMPLOS 4.4. EJERCICIOSDEFINDECAPITULO 5. ANEXOS 5.1. CODIGOASCII 5.2. SECCIONESDELMANUALDEREFERENCIADELHC12 5.2.1. MODELODEPROGRAMACION 5.2.2. MODOSDEDIRECCIONAMIENTODELHC12 5.2.3. TABLADEOPERACIONESINDEXADAS 5.2.4. HOJADEDATOSDEINSTRUCCIN 5.2.5. INSTRUCCINABREVIADA 5.3. TABLAINDICE 5.4. TABLADEILUSTRACIONES 6. REFERENCIAS 181 182 183 185 189 189 190 190 191 192 193 193 194 196 197

5

ANALISIS,DISEOYPROGRAMACINDESISTEMAS

1

Introduccin

ELOBJETIVOGENERAL DE ESTE TEXTO ES COMPRENDER, EN UN NIVEL OPERATIVO, LOS PRINCIPIOS DE FUNCIONAMIENTO DE LAS COMPUTADORAS BASADAS EN EL MODELO DE VON NEWMANN Y ARQUITECTURAS DE HARVARD. ENTENDER Y MANEJAR LAS DIVERSAS MODALIDADESYMECANISMOSDEENSAMBLADO,CARGA,MACROPROCESAMIENTOYEJECUCIN DEPROGRAMAS,LOSOBJETIVOSESPECFICOS SON EXPRESADOS EN CADA MDULO DEL CONTENIDO Antes de entrar de lleno al contenido propio de la materia hay que aclarar que dicha materia pertenece a la academia SOFTWARE DE SISTEMAS, pero que significan estos conceptos?,empecemos. La informtica es la ciencia que se encarga de la automatizacin del manejo de lainformacin.Lainformtica,porsurapidez de crecimiento y expansin, ha venido transformando rpidamente las sociedades actuales. La computadora, a diferencia de otrasherramientasqueengeneralapoyanel esfuerzofsicodeloshumanos,fueinventada parafacilitareltrabajointelectual. Un sistema es un conjunto de El lenguaje de programacin es el mediodecomunicacinentreelhombreyla mquina. Sistema de smbolos y reglas que permitelaconstruccindeprogramasconlos que la computadora puede operar as como resolver problemas de manera eficaz. Estos contienen un conjunto de instrucciones que nospermitenrealizaroperacionesdeentrada / salida, calculo, manipulacin de textos, lgica / comparacin y almacenamiento / componentesqueinteraccionanentresipara lograr un objetivo comn. Las personas se comunicanconellenguaje,queesunsistema muy desarrollado formado por palabras y smbolos que tienen significado que tienen significadoparaelquehablayparaquieneslo escuchan,lomismoesparalascomputadoras lascualestienensistemasysecomunicanpor mediodecomputadoras. recuperacin. La programacin tiene como objetivo el tratamiento de la informacin correctamente, con lo que se espera que un programa de el resultado correcto y no uno errneo. As que cada aplicacin debe funcionar segn lo esperado en trminos de programacin, esta pretende que sus programasseantilesyeficientes

7

nrh La programacin es el proceso de Por lo tanto la Programacin de Sistemas se refiere a la creacin de programas cuya finalidad es servir a otros programas (software): ejemplos:

convertir las especificaciones a grandes rasgos de los sistemas en instrucciones de mquina que produzcan los resultados deseados.

Ensambladores, Cargadores y Ligadores, Compiladores,Intrpretes.

El Software de Sistemas es el software que controla y coordina la operacin del equipo que existe en un sistema computacional. El tipo ms importante de Software de Sistema es el Sistema Operativo. Este supervisa y controla todas las actividades de entrada/salida y procesamientodeunsistemadecomputacin.Ademstodoelhardwareysoftwaresecontrola pormediodeunsistemaoperativo. LlamamosSoftwaredesistemasalconjuntodeprogramasqueseencargandecontrolarel funcionamientodelosprogramasqueseejecutanydelagestininternadelosrecursosfsicosde lacomputadora.Comoesnatural,elsistemaoperativoformapartedelsoftwaredesistema. El Software es un conjunto de programas, documentos, procedimientos, y rutinas

asociadosconlaoperacindeunsistemadecmputo.Distinguindosedeloscomponentesfsicos llamadoshardware.Elhardwareporsisolonopuedehacernada,puesesnecesarioqueexistael software. Elsoftwaredemanerageneral,podemosclasificarloen:

Software de sistema: en Software de aplicacin: El Softwaredeusogeneral:este algunas ocasiones tambin software de hoja de clculo, ofrece la estructura para un denominadosoftwaredebase, de diseo asistido (CAD), por gran nmero de aplicaciones de empresariales, cientficas y

consiste en un software que computadoras sirve para controlar

e procesamiento de texto, de personale; es decir, con

interactuar con el sistema, manejo de Bases de Datos, software y documentacin proporcionando control sobre perteneceaestacategora. el hardware y dando soporte aotrosprogramas. orientadaalosusuarios

8

______________________________________________________________________________ Introduccin/Historia

ANALISIS,DISEOYPROGRAMACINDESISTEMAS El trabajo de un programador de sistemas es seleccionar, modificar y mantener el complejo software del sistema operativo. Por lo tanto, los programadores de sistemas desempean una funcindeapoyoalmantenerelambientedelsoftwaredelsistemaoperativoenelquetrabajan losprogramadoresdeaplicacionesylosoperadoresdelascomputadoras.Tambinparticipanen lasdecisionesrelativasareduccionesoampliacionesdehardwarey/osoftware.Programacinde Sistemas Conceptos y Aplicaciones Se entiende por programacin de sistemas el conjunto de programasnecesarioparaqueunacomputadoradeunaimagencoherenteymonolticaantesus usuarios. Es un rea especializada dentro de las ciencias de la computacin. As, mediante la programacindesistemas,nosolosemanejanlascomputadoraspormediodellenguajemaquina (0y1)sinoporotrossistemasoperativos,sinlocualseramuydifcillainteraccinconlamaquina.

9

ANALISIS,DISEOYPROGRAMACINDESISTEMAS

1. ESTRUCTURADELACOMPUTADORAOBJETIVO: ENTENDER CON DETALLE LOS PROCESOS LOGICOS QUE SUCEDEN EN UNA COMPUTADORA PARA QUE PUEDA EJECUTAR UN PROGRAMA EN LENGUAJE MAQUINA DE UNA PLATAFORMAQUEYAESTADEFINIDA.

1.1.HistoriaPodemos definir a la computadora como un dispositivo electrnico capaz de recibir un conjunto de instrucciones y ejecutarlas realizando clculos sobre los datos numricos, o compilandoycorrelacionandootrostiposdeinformacinparaobtenerotroconjuntodedatoso informacincomorespuesta.Lainformtica,porsurapidezdecrecimientoyexpansin,havenido transformandorpidamentelassociedadesactuales. 1.1.1. 3000ACBACOCHINA Desarrollada por los chinos y utilizado por civilizaciones griegasyromanas.Estedispositivoesmuysencillo,constadeun marcorectangulardemaderaensartadodevarillasenlasquese desplazaban bolas agujereadas de izquierda a derecha. Al desplazar las cuentas (bolas) sobre las varillas, sus posiciones representanvaloresalmacenados,yesmedianteestasposiciones que se representa y almacena datos. A este dispositivo no se le puede llamar computadora pues carece de un elemento fundamental:programa.Ilustracin 1 Abaco

1.1.2. SigloXVIIREGLADECLCULONAPIER,GUNTHER,PASCAL,LEIBNIZ logaritmospermitiendoquelosresultadosde El creciente inters en Europa por la astronoma y la navegacin, impuls a simplificar los clculos, en ese entonces se encontraba en uso "la regla del clculo", calculadora basada en las invenciones de y Napier,GuntherBissaker. En 1614, el escocs Napier haba anunciado el descubrimiento de los complicadas multiplicaciones se redujeran a unprocesosimpledesuma;EdmundGunther se encarga de enmarcar los logaritmos de Napierenlneas,porsuparteBissakercoloca las lneas de ambos sobre un pedazo de madera,creandodeesta maneralaregladel clculo.

11

ANALISIS,DISEOYPROGRAMACINDESISTEMAS

1.5.Conjuntoderegistrosymodelodeprogramacin 1.5.1. Conceptosdemodelodeprogramacin La arquitectura de un

(Reduced Instruction Set Computer), como por ejemplo el PIC16C84 de MicroChip o el propio Sparc de SUN y el PPC604 de Motorola. Por otra parte tenemos a los microprocesadores con instrucciones

microprocesador o de cualquier procesador decomputadora,sedefineporsuconjuntode instrucciones y por el modo en como stas acceden a los datos en memoria para su procesamiento. Las instrucciones que obedece un microprocesador estn codificadas como dgitos binarios en su sistema de memoria. Cada instruccin puede dividirse en uno o ms campos de bits. Todas las instrucciones tienen un campo de cdigo de operacin (COP), que define el propsito de la instruccin. Adems, la instruccin completa puede tener campos para operandos o direcciones de memoria que especifican en donde estn almacenados los datos. Lo anteriordelimitaelconceptode"formatode instruccin".

compuestas, los CISC ( Complex Instruction Set Computer ), como el 6809 de Motorola, SIC/XE y la serie 80X86 de Intel. Existen algunosprocesadoreshbridosmuyeficientes como los famosos K6, K6II y K6III de AMD. Enestepuntosevedeacuerdoalmanualde referencia del dispositivo a tratar. Para nuestro curso el microprocesador a ver ser elHC12. Elmodelodeprogramacin representalaestructurademanipulacinde datosquesoportaelconjuntode instrucciones,usualmentecompuestapor: Unidadaritmticaylgica Losregistrosdetrabajo Elregistrodecondiciones Lamemoriadedatos

Las instrucciones por su complejidad pueden ser sencillas o compuestas. Los microprocesadores que ejecutan

instrucciones sencillas son los llamados RISC

45

ANALISIS,DISEOYPROGRAMACINDESISTEMAS

2. ENSAMBLADORESObjetivo:ENTENDERYMANEJARLOSDIFERENTESESQUEMASDEENSAMBLADO.DISEARUN ENSAMBLADORDE2PASOS.

2.1.RelacinArquitecturademquinasyensamblador

La evolucin de los sistemas comienza con un ENSAMBLADOR, se sigue con los CARGADORESqueeselmodulo3paranuestrocasodeestudio,MACROPROCESADORESqueesel modulo4,COMPILADORESySISTEMASOPERATIVOS. Al inicio de los tiempos, el se introdujo el concepto de MNEMONICO, que sustituye al conjunto de UNOS y CEROS, yalconjuntodeestosmnemnicosLENGUAJE ENSAMBLADOR. La entrada de dicho programaselellamaPROGRAMAFUENTEya la salida PROGRAMA OBJETO (que es la traduccindedichasinstruccionesalenguaje maquina.

programador tena que interpretar el fundamento de la instruccin, se escriban unaseriedeunosyceros(lenguajemaquina) y se grababan en la memoria del dispositivo, entonces el dispositivo interpretaba como estocomounainstruccin. Los

programadores encontraban esta tarea (leer o escribir en la memoria) muy lenta, as que Por lo tanto, los ensambladores son programas que procesan los enunciados del programa origen en lenguaje ensamblador y lostraducenenarchivosenlenguajemquina quesonejecutadosporunmicroprocesadoro unmicrocontrolador,estospermitenquelos programas origen se escriban y se editen en una computadora para generar un cdigo ejecutableenotracomputadora.Elarchivoen lenguajeobjetoejecutableresultantesecarga (CARGADOR) y se ejecuta en el sistema destino.

Lenguaje ensamblador es el lenguaje simblico que se utiliza para codificar los programas origen que se procesan por el ensamblador es llamado lenguaje

ensamblador. Este lenguaje es una coleccin de smbolos mnemnicos que representan: operaciones (mnemnicos de instrucciones para la mquina o de directrices para el ensamblador), nombres simblicos,

operadoresysmbolosespeciales.Ellenguaje ensamblador proporciona cdigos de

operacin de los mnemnicos para todas las instruccionesdela mquinacontenidasenla listadeinstrucciones.

67

ANALISIS,DISEOYPROGRAMACINDESISTEMAS .Ejemplos Mnemnico NOP A7 C.o. Explicacin Nooperacin,incrementaelcontadorde programaperonohacenada Compara el contenido del registro Y con unvalorespecificado Sumaelcontenidodelacumuladoracon elb,elresultadoquedaena Rota todos los bits del acumulador A hacialaderecha Carga al acumulador un Ejemplosdeuso Solounuso:nop

Cpy

Dependedesuuso

CPY04

ABA

1806

Solounuso:aba

Rola

45

Solounuso:rola

LDAA

Dependedesuuso

valor Ldaa #01, ldaa $01, etc

especificado

Unensambladoresunprogramaquetraducelasinstruccionesalenguajemaquina,estos deben ser escritos conforme a las especificaciones del ensamblador. Un programa consiste en declaraciones (llamadas lnea cdigo) lnea por lnea. Su sintaxis es la siguiente: nombre del campo,operaciondelcampo,operandodelcampo,sintaxisdelcampo,ejemplo: ETIQUETA Num1: MNEMONICO LDAA JMP Operando(S) COMENTARIO(antepone;) #5 ;cargaalregistroAun5 $10 ;saltoincondicionalaladireccin10 o Unasterisco(*)comoelprimer carcterenelcampodeetiquetas indicaqueelrestodelenunciado origen es un comentario. Los comentariossonignoradosporel ensamblador e impresos en el listado origen solamente como informacindeprogramacin. o Unespaciodecarcterenblanco (TAB o espacio) como primer

CampodeEtiquetas:estapuedeaparecer por si sola en una lnea. El ensamblador interpreta esto como "establece el valor de la etiqueta igual al valor actual del contadordeprograma(PC)".Elcampode etiquetasaparececomoelprimercampo dentrodeunenunciadoorigen.Elcampo deetiquetaspuedeadoptarcualquierade lassiguientesformas:

69

ANALISIS,DISEOYPROGRAMACINDESISTEMAS direccionamientos, no todos son aplicablesalosmicros. MNEMONICO: las podran ser las mismas, se enuncian dediferentemanera,esdecir:

instrucciones aunque en concepto Funcin CargoalacumuladorA ComparaalacumuladorA ..yaspodramosseguirenumerandoencontrandolascaractersticasquehacenexclusivoal micro. 2.1.2. CaractersticasIndependientesdelamaquina. Lascaractersticasindependientesdelamquinasonaquellasrelacionadasmsbiencon eltipodeimplementacindelprogramaysusestructurasdedatosqueconlamquinaobjeto. DIRECTIVAS: Tambin existen las llamadas DIRECTIVAS o PSEUDOINSTRUCCIONES, las cualesespecificanaccionesauxiliaresquesellevanacaboporelensamblador. PERIFERICOS: tododispositivoquesercontroladoporelmicro ARCHIVOSAUXILIARES:*.LST,*.OBJ,*.S19,*.TABSIM,etc,dependiendodelalgoritmocon quesetrabaje .Deigualmanerapodramosseguirnumerandocaractersticasglobalesparalosmicros DIRECTIVAS: Las directivas de ensamblador controlan acciones auxiliares que se realizan durante el proceso de ensamblado, tales como reservar posiciones de memoria, inicializar posiciones de memoria a un determinado valor, definir etiquetas, indicar el inicio y el final del MNHC12 LDAA CMPA MNHC08 LDA CMP

75

nrh programa, o definir macros. Las directivas no son traducibles a cdigo mquina. Nota: las directivasNOtienencdigomaquina. Especificarelpuntoenelcualsecomienzaaensamblarunaseccindecdigo.Esta directiva debe utilizarse siempre antes de comenzar a declarar cdigo o zonas de memoria. Especificaelfindeunarchivoencdigofuenteensamblador.Estadirectivadeber serincluidaobligatoriamentealfinaldecadaarchivo.Cualquierexpresindeclarada despusdeestadirectivaserignorada. Especificacindelcomienzodeunaseccindecdigoensambladoadireccin$0. Sustituye un identificador por una cadena de texto previamente especificada en cualquier parte del programa por el valor declarado. Esto permite una gran versatilidad a la hora de declarar constantes y posiciones de memoria de especial intersparaelprogramador. contloc 4000 LasdirectivasDByDWpermitendeclararoreservarzonasdememoria,tantopara valoresnumricoscomoparacadenasdetexto.Estasdirectivasposeenunaamplia sintaxisquepermiteunagranflexibilidadalahoradedefinirreasdememoria.Los elementos definidos mediante las directivas DB y DW deben ir separados por comas. Para reservar espacio en la memoria sin especificar un valor concreto, se puedeemplearelsignodeinterrogacin. Laespecificacindecadenasdetextodebehacersemediantelaexpresinliteralde lacadenaentrecomillas. LINEADEPROGRAMA E1EQU$800 ORG$4000 JMPE1 END COP 060800

ORG

END START Equ

DC.B

DC.W

contloc 4000 4001 4003 4004 4007 4008 400A

LINEADEPROGRAMA ORG$4000 DC.B DC.W DC.B15 DC.B20,21,22 DC.BH DC.WH DC.BH,O,L,A

COP 00 0000 0F 141516 48 0048 484F4C41

76

______________________________________________________________________________ ENSAMBLADORES/RelacinArquitecturademquinasyensamblador

ANALISIS,DISEOYPROGRAMACINDESISTEMAS

2.5.Diseoyprogramacindelensambladordedospasos Los lenguajes son sistemas de comunicacin.Unlenguajedeprogramacin consiste en todos los smbolos, caracteres y reglas de uso que permiten a las personas "comunicarse" con las computadoras.

2. Codificacin del mismo: consiste en escribir el programa en algn lenguaje de programacin; en este caso especfico en ensamblador, tomando como base la solucin propuestaenelpasoanterior. 3. Traduccin a lenguaje mquina, es lacreacindelprogramaobjeto,esto es, el programa escrito como una secuenciadecerosyunosquepueda serinterpretadoporelprocesador. 4. La prueba del programa: verificar que el programa funcione sin errores,osea,quehagaloquetiene quehacer. 5. Depuracin La ltima etapa es la eliminacin de las fallas detectadas en el programa durante la fase de

Existen por lo menos varios cientos de lenguajes y dialectos de programacin diferentes. Algunos se crean para una aplicacin especial, mientras que otros son herramientas de uso general ms flexibles que son apropiadas para muchos tipos de aplicaciones. En todo caso los lenguajes de programacindebentenerinstruccionesque pertenecen a las categoras ya familiares de entrada/salida, textos, lgica clculo/manipulacin / comparacin de y

almacenamiento/recuperacin. Los lenguajes de programacin se dividen en 4 principales paradigmas: imperativo, funcional, orientado a objetos y lgico. Para la creacin de un programa es necesarioseguircincopasos: 1. Diseo del algoritmo: se plantea el problema a resolver y se propone la mejor solucin, creando diagramas esquemticos utilizados para el mejorplanteamientodelasolucin.

prueba . La correccin de una falla normalmente requiere la repeticin de los pasos comenzando desde el primerooelsegundo. Un algoritmo es una serie de pasos lgicos pararealizar una accin, programa o tarea ya que es el primer paso para realizar un programa. Los algoritmos se pueden expresar porfrmulas, diagramas de flujo, y pseudocdigos. Los algoritmos tienen ciertascaractersticasqueson:

101

nrh

Ilustracin 23 Diagrama de flujo de un Ensamblador de 2 pasos PASO 1

106

______________________________________________________________________________ ENSAMBLADORES/Diseoyprogramacindelensambladordedospasos

ANALISIS,DISEOYPROGRAMACINDESISTEMAS

Ilustracin 24 Diagrama de flujo de un Ensamblador de 2 pasos PASO 2

107

nrh

2.5.3. FormatodeArchivoobjeto.UnarchivodesalidadeMotorolaesunarchivotipoASCII,Motorolamaneja3tipos: S19 S2 S3 paradireccionamientode16bits paradireccionamientode24bits paradireccionamientode32bits

Estos archivos son una opcional tabla de informacin, con datos especficos para ser cargadosenmemoria: Moduloderegistro esteesopcional,contieneelnombredelmodulo. encasodesernecesariounsmbolorecalculable. S0

Registrodesmbolos Registrodeencabezado Registrodedato o o o S1 S2 S3

(2bytes)dato (3bytes)dato (4bytes)dato

Registrodetrmino o o o S7 S8 S9

archivode32bitsdedireccin archivode24bitsdedireccin archivode16bitsdedireccin

Recordemosqueesteessolounformatoparaelcargadordelsimulador,parafacilitarla vidadelprogramador,lonicoexactoysinvarianzadeberserelCOPresultante.Paranuestro casodelHC12deMotorolaelformatodesalidaserunS19conlassiguientescaractersticas:LARGODELAFILA,

DATO(

REPRESENTADO

DATO(2BYTES)

DIRECCIONDEL

TIPODEDATO

eltamaoes

NUMERODE

DATOSALO

POR1BYTE

S0 S1 . S1 S9 1

4

2

ORDENDECALCULOCOMOSIGUE 3

5

120

______________________________________________________________________________ ENSAMBLADORES/Diseoyprogramacindelensambladordedospasos

checksum

variable)

ANALISIS,DISEOYPROGRAMACINDESISTEMAS 2. Mediante el algoritmo de 2 pasos, obtenga el formato de salida S19, del siguiente programaenlenguajeensamblador: 1.asm INI ORG$4000 JMPINI JMP4,Y JMP4,Y JMP40,Y ORG$4012 JMP40,Y JMPA,Y END TABSIM INI=$4003 1=31(ascii,hexadecimal)ver anexos Retornodecarro=13H

PASO1,SERESEVALOCALIDADESDEMEMORIA PASO 2: SE OBTIENE EL COP Y SE GENERA EL YSEGENERALATABSIMENSUCASO contloc Cop 4000 4003 4005 4007 400 4012 4015 4017

FORMATODESALIDAS19 contloc cop 4000 4003 4005 4007 400A 4012 4015 4017 064003 055C 056C 05E828 05E9D8 05EC INI Eje1.asm ORG$4000 JMPINI JMP4,Y JMP4,Y JMP40,Y ORG$4012 JMP40,Y JMPA,Y END

INI

Eje1.asm ORG$4000 JMPINI JMP4,Y JMP4,Y JMP40,Y ORG$4012 JMP40,Y JMPA,Y END

06hhll 05xb 05xb 05xbff 05xbff 05xb

4000 Elcdigohhllsesustituyeporelporelvalordelavariablequeseencuentradeclarada enlatabladesimbolos 4003 El cdigo xb se sustituye de acuerdo al modulo anterior (1.6.5 Modo de direccionamientoindexado)porlaformula:rr0nnnnn,donde:

123

nrh r y 0

r 1 5

0

n 1

n 1

n 4 1 C

n 0

n 0

4005

El cdigo xb se sustituye de acuerdo al modulo anterior (1.6.5 Modo de direccionamientoindexado)porlaformula:rr1pnnnn,dondep=posicindelsignopre=0, mientras que el signo del registro (para cuestiones de clculo se toma para el desplazamiento: r y 0

r 1

1 6

p 0

n 4 1

n 1

n 0 C

n 0

4007

Deigualmaneraquelasanteriores:xbsesustituyepor111rr0zs,dondezeseltamaodel operador,siendo0cuandosutamaoesde1byte,ysrepresentaelsignodeloperador, siendos=0cuandoesteespositivo,porlotantoeloperador40eslavariableff 1

1

1 E

r y 0

r 1

0

z 1BYTE 0 8

S POSITIVO 0

4012

Eselmismoformatoanterior,soloqueaqueloperadoresnegativoasiquenosresultara s=1,porlotantoelCOPresultantepara40,yseriaE9D8.

400D

Ahorael1eroperadoreselregistrointernoA,porlotantolescomosigue: 1

1

1 E

r y 0

r 1

1

a 0 C

a A 0

124

______________________________________________________________________________ ENSAMBLADORES/EJEMPLOS

ANALISIS,DISEOYPROGRAMACINDESISTEMAS FORMATODESALIDAS191.s19 S0 S1 S1 S9 04 0D 05 03 0000 31 4000 0640003055C056C05E828 4012 05E9D805EC 4017 CA 83 A5

125

ANALISIS,DISEOYPROGRAMACINDESISTEMAS

3. CARGADORLIGADORObjetivo:ENTENDERELFUNCIONAMIENTODELOSESQUEMASMASIMPORTANTESDELACARGA YLIGADEMODULOSOBJETO.

3.1.ClasesdecargadorEninformtica,uncargadoreslapartede un sistema operativo que es responsable de cargarprogramasenmemoria.Elcargadores usualmente unapartedelncleodelsistema operativo y es cargado al iniciar el sistema y permaneceenmemoriahastaqueelsistema es reiniciado o apagado. Algunos sistemas operativos que tienen un ncleo paginable pueden tener el cargador en una parte paginabledelamemoria,entoncesavecesel cargadorintercambiadememoria. Los sistemas operativos que soportan la carga de programas tienen cargadores. Algunos sistemas operativos empotrados de computadoras altamente especializadas compensar las variaciones en la cual la memoriadisponibledelaaplicacinempieza. Lascomputadorasquenecesitandelos cargadores relocalizables son aquellos en los cualeslospunterossondireccionesabsolutas en vez de compensaciones de direcciones basedelprograma.Unejemplomuyconocido estenlosmainframesIMBSistema360ysus descendientes, incluyendo la serie de los sistemasZ9.Losligadoresdinmicossonotro tipo de cargador que carga y liga libreras dinmicas(comodll's). Muchoscargadorespermitenalusuario especificar opciones que modificar el procesamiento estndar descrito. Algunas veces existe un archivo independiente de entrada al cargador que contiene esas proposiciones de control o esas mismas proposiciones tambin pueden estar

corren un nico programa y no existen capacidades de carga de programas, por lo tanto no usan cargadores. Ejemplos de estos sistemas embebidos se encuentran en equipos de audio para automviles. En los sistemas Unix, el cargador es el manejador paralallamadadelsistemaexecve().Algunas computadoras necesitan cargadores

intercaladas en el flujo primario de entrada entre los programas objeto. En ciertos sistemas el programador puede incluso introducir proposiciones de control del cargador en el programa fuente, y el

relocalizables, los cuales ajustan direcciones dememoria(punteros)enunejecutablepara

137

ANALISIS,DISEOYPROGRAMACINDESISTEMAS

3.5.DiseoyprogramacindeunCargadorAlgoritmodecargador 1. colocarunprogramaobjetoenlamemoria 2. Iniciarsuejecucin. 3. Si tenemos un cargador que no necesita realizar las funciones de ligado y relocalizacin de programas, su operacin es simple pues todas las funciones se realizanenunsolopaso. 4. Se revisa el registro de encabezamiento para comprobar si se ha presentado el programacorrectoparalacarga(entrandoenlamemoriadisponible). 5. A medida que lee cada registro de texto, el cdigo objeto que contiene pasa a direccindelamemoriaindicada. 6. Cuandoseencuentraelregistrodefin,elcargadorsaltaaladireccinespecificada parainiciarlaejecucindelprogramacargado. 3.5.1. Cargadorabsoluto(ejemplo) Hay dos aspectos del programa cargador que requieren una mayor

contieneladireccindeunbytedememoria. Inicialmente,estavariableseasignaigualala constante DIR_CARGA.En cada iteracin del lazo while, a la posicin de memoria identificada por dir_byte se le asigna el siguientebytedelarchivoejecutable;despus seincrementaenunoelvalordedir_byte.De esta manera, el contenido del archivo ejecutablesecopiaaposicionesconsecutivas de la memoria a partir de DIR_CARGA.

explicacin: la variable dir_byte y el campo dir_ini. El proceso de carga absoluta del siguiente cargador es: La variable dir_byte quesedeclaracomoapuntadorauncarcter o sea es la direccin de un carcter. Es razonable suponer que se almacena un carcter usando un byte de memoria y que, por consiguiente, la variable dir_byte

/***definirlaestructuradelregistroencabezado***/ structenc_ejec {unsignedintdir_ini; /*lasotraspartesdelencabezadodelarchivoejecutable*/

159

ANALISIS,DISEOYPROGRAMACINDESISTEMAS

4 MACROPROCESADORES Objetivo:Entenderelfuncionamientodelasdiversasmodalidadesdelmacroprocesamiento. Conelfindeevitaralprogramadorla tediosa repeticin de partes idnticas de un programa,losensambladoresycompiladores cuentan con macro procesadores que permiten definir una abreviatura para representar una parte de un programa y utilizar esa abreviatura cuantas veces sea necesario. Para utilizar una macro, primero hay que declararla. En la declaracin se estableceelnombrequeseledaralamacro y el conjunto de instrucciones que representar. El programador escribir el nombre delamacroencadaunodeloslugaresdonde se requiera la aplicacin de las instrucciones por ella representadas. La declaracin se realiza una sola vez, pero la utilizacin o invocacin a la macro (macrollamada) puede hacerse cuantas veces sea necesario. La utilizacin de macros posibilita la reduccin del tamao del cdigo fuente, aunque el cdigoobjetotiendeasermayorquecuando seutilizanfunciones. El Macroensamblador es un Es tan comn el empleo de macroinstrucciones se les considera como una extensin de los lenguajes. De manera similar se considera al procesador de macroinstruccionesomacroprocesadorcomo unaextensindelensambladorocompilador utilizado. El macroprocesador se encarga, en una primera pasada, de registrar todas las declaraciones de macros y de rastrear el programa fuente para detectar todas las macrollamadas. En cada lugar donde encuentre una macro llamada, el macro procesador har la sustitucin por las instrucciones correspondientes. A este puede hacer un ensamblador, y adems proporcionan una serie de Directivas para definir y ejecutar macro instrucciones (o simplemente, Macros). Cuando ejecutamos a una "macro", sta se expande al cuerpo que hayamosdefinido.

proceso de sustitucin se le denomina expansin de la macro. El macroprocesador elaboratablasparaelmanejodelasmacros: Tabladenombresdemacros:consisteen losnombresdelasmacrosyunndiceque le permite localizar la definicin de la

ensamblador modular, descendiente de los ensambladores bsicos. Hacen todo lo que

171

ANALISIS,DISEOYPROGRAMACINDESISTEMAS ReservadelocalidadesdememoriaconunaMacro M1 ET1 ReservadelocalidadesdememoriaconunaRutina ET1 M1 FIN como se puede apreciar, el tamao del COP resultante es mayor el de la Macro que el de la Rutina,asuvezlaMacrotienemenortiempodeejecucin. ORG$4000 JSRM1 JMPET1 JSRM1 JMPFIN LDAA[1,X] LDAA[2,X] LDAA[3,X] LDAA[4,X] RTS END 4000 4003 4006 4009 400C 4010 4014 4018 401C 401D 16hhll 06hhll 16hhll 06hhll 05xbeeff 05xbeeff 05xbeeff 05xbeeff 3D ET1 M1 FIN ORG$4000 JSRM1 JMPET1 JSRM1 JMPFIN LDAA[1,X] LDAA[2,X] LDAA[3,X] LDAA[4,X] RTS END MACRO LDAA[1,X] LDAA[2,X] LDAA[3,X] LDAA[4,X] ENDM ORG$4000 M1 JMPET1 M1 END 4000 4010 4013 4023 06hhll M1 ET1 MACRO LDAA[1,X] LDAA[2,X] LDAA[3,X] LDAA[4,X] ENDM ORG$4000 M1 JMPET1 M1 END

1ERPASO

175

nrh

4.1.Importanciatericademacroexpresionesyusosdeunmacro procesador Un macroinstruccin (abreviado Elprocesadordemacros,comopuede verse,nointentaningnanlisisnitraduccin a cdigo objeto del programa fuente, ms bien parece que el procesador hace que aumente el tamao de ste. Esto es un elemento clave para el programador,pues el uso indiscriminado de macros puede hacer queeltamaodelcdigoobjetoseaenorme ypocoprctico,alcontrariodelasllamadasa subrutinas. Claro que tambin se paga un precio alto por el empleo de las llamadas, pues se pierdetiempoimportanteenlagestindela pila, donde usualmente se pasan los parmetros. El macroprocesador requiere tres estructuras de datos para su exitosa operacin. La tabla de nombres de macros (TABNOM). Latabladecdigodemacros(TABDEF). Latabladeargumentos(TABARG). Ah se guarda toda la informacin pertinente a las macros, mientras el ensamblador analiza la expansin y hace la

frecuentementecomomacro),noesmsque una conveniencia notaciones para el

programador. Una macro representa un grupo de proposiciones utilizadas

comnmenteenellenguajedeprogramacin fuente, para el caso, ensamblador. El procesador de macros reemplaza cada macroinstruccin correspondiente de con el grupo del

proposiciones

lenguaje fuente, lo que se denomina expansindemacros.Portodoloanterior,las macroinstrucciones permiten al programador escribir una versin abreviada de un programa, dejando que el procesador de macros maneje los detalles internos. Las funciones bsicas de un procesador de macrosson: Sustitucin de lneas de cdigo por una referenciasimblica. Calcular las direcciones efectivas de las referencias. Expansin de las referencias en un archivointermedio.

176

______________________________________________________________________________ MACROPROCESADORES/Importanciatericademacroexpresionesyusosdeunmacro procesador

ANALISIS,DISEOYPROGRAMACINDESISTEMAS 4.3.1. Ejemplos 1. MEDIANTEELALGORITMODE2PASOS,OBENGAELFORMATODESALIDADELSIGUIENTE PROGRAMA EN LENGUAJE ENSAMBLADOR, TOME EN CUENTA QUE EL RETORNO DE CARROES13H. M1 MACRO TABSIM M1 MACRO LDAA[1,X] LDAA[1,X] ET1=4010 LDAA[2,X] LDAA[2,X] LDAA[3,X] LDAA[3,X] TABNOM LDAA[4,X] LDAA[4,X] M1 ENDM ENDM ORG$4000 ORG$4000 TABDEF M1 4000 M1 A6E30001 ET1 JMPET1 4010 06hhll ET1 JMPET1 A6E30002 M1 4013 M1 A6E30003 END 4023 END A6E30004 .Recuerdaelconceptodeexpansin?LaMACRO,seexpansionaysevereflejadaenelformato desalidaS19. PD.Heomitidoelnombredelarchivo,porcuestionesprcticaspero,definitivamenteesundato requerido. S0 S1 13 4000 A6E30001A6E30002A6E30003A6E30004 7E S1 13 4010 064010A6E30001A6E30002A6E30003A6 FF S1 06 4020 E30004 B2 S9 03 4023 D9 1ERPASO

183

nrh 2. MEDIANTEELALGORITMODE2PASOS,OBENGAELFORMATODESALIDADELSIGUIENTE PROGRAMA EN LENGUAJE ENSAMBLADOR, TOME EN CUENTA QUE EL RETORNO DE CARROES13H.ESTEEJERCICIODENOTAELUSODELADIRECTIVALOCAL M1 MACRO M1 MACRO TABSIM E1 LOCAL E1 LOCAL E1=4000,400A, JMPE1 JMPE1 E2=4008 JMPE2 JMPE2 TABNOM LDAA#1 LDAA#1 M1 ENDM ENDM ORG$4000 ORG$4000 TABDEF M1 4000 M1 06hhll E2 LDAA#2 4008 86ii E2 LDAA#2 06hhll M1 400A M1 86ii END 4012 END .Recuerdaelconceptodeexpansin?LaMACRO,seexpansionaysevereflejadaenelformato desalidaS19. PD.Heomitidoelnombredelarchivo,porcuestionesprcticaspero,definitivamenteesundato requerido. S0 S1 13 4000 0640000640088601860206400A064008 6B S1 05 4010 8601 23 S9 03 4012 AA NOTA: La1erparte(0640000640088601)perteneceala1erllamadaalamacro(laqueseencuentra enlalocalidad4000,la2dallamadaalamacroesaquelcdigomostradoenletracursiva(06400A 0640088601). 1ERPASO

184

______________________________________________________________________________ MACROPROCESADORES/Incorporacindelprocesadordemacrosalensamblador

ANALISIS,DISEOYPROGRAMACINDESISTEMAS

5. ANEXOS5.1.CODIGOASCII ElcdigoASCII(acrnimoinglsdeAmericanStandardCodeforInformationInterchange Cdigo Estadounidense Estndar para el Intercambio de Informacin), pronunciado generalmente[ski],esuncdigode caracteresbasadoenelalfabetolatinotalcomose usaen inglsmodernoyenotraslenguasoccidentales.Fuecreadoen1963porelComitEstadounidense de Estndares (ASA, conocido desde 1969 como el Instituto Estadounidense de Estndares Nacionales, o ANSI) como una refundicin o evolucin de los conjuntos de cdigos utilizados entoncesentelegrafa.Mstarde,en1967,seincluyeronlasminsculas,yseredefinieronalgunos cdigosdecontrolparaformarelcdigoconocidocomoUSASCII. El cdigo ASCII define una relacin entre caracteres especficos y secuencias de bits; adems de reservar unos cuantos cdigos de control para el procesador de textos, y no define ningnmecanismoparadescribirlaestructuraolaaparienciadeltextoenundocumento;estos asuntosestnespecificadosporotroslenguajescomoloslenguajesdeetiquetas.

ASCII 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Hex 0 1 2 3 4 5 6 7 8 9 A B C D E F

Smbolo NUL SOH STX ETX EOT ENQ ACK BEL BS TAB LF VT FF CR SO SI

ASCII 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Hex 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F

Smbolo DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

ASCII 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

Hex 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F

Smbolo (espacio) ! " # $ % & ' ( ) * + , . /

ASCII 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

Hex 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F

Smbolo 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

ASCII 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

Hex 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F

Smbolo @ A B C D E F G H I J K L M N O

ASCII 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

Hex 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F

Smbolo P Q R S T U V W X Y Z [ \ ] ^ _

ASCII 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111

Hex 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F

Smbolo ` a b c d e f g h i j k l m n o

ASCII 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127

Hex 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F

Smbolo p q r s t u v w x y z { | } ~

189

nrhIlustracin 29 Tabla ASCII

5.2.SECCIONESDELMANUALDEREFERENCIADELHC125.2.1. MODELODEPROGRAMACION El modelo de programacin de cualquier dispositivo lo obtenemos del mismo proveedor, quien noslohacesaberpormediodesumanualdereferencia.

190

______________________________________________________________________________ ANEXOS/SECCIONESDELMANUALDEREFERENCIADELHC12

ANALISIS,DISEOYPROGRAMACINDESISTEMAS 5.2.2. MODOSDEDIRECCIONAMIENTODELHC12

Ilustracin 30 Tabla de modos de direccionamiento del HC12

191

nrh 5.2.3. TABLADEOPERACIONESINDEXADAS

Ilustracin 31 Formulario indexados

192

______________________________________________________________________________ ANEXOS/SECCIONESDELMANUALDEREFERENCIADELHC12

ANALISIS,DISEOYPROGRAMACINDESISTEMAS 5.2.4. HOJADEDATOSDEINSTRUCCIN

5.2.5. INSTRUCCINABREVIADA

193

nrh

5.4.TABLADEILUSTRACIONESIlustracin1Abaco______________________________________________________________________ 11 Ilustracin2MaquinadePascal ___________________________________________________________ 12 _ Ilustracin3Maquinadiferencial___________________________________________________________ 13 Ilustracin4Tarjetasperforadas___________________________________________________________ 13 Ilustracin5MARKI_____________________________________________________________________ 14 Ilustracin6ENIAC______________________________________________________________________ 14 Ilustracin7JOHNNVONNEUMANN _______________________________________________________ 15 Ilustracin8EDVAC _____________________________________________________________________ 15 Ilustracin9Abstraccindelacomputadora _________________________________________________ 20 _ Ilustracin10DiagramaabloquesdeunCPUsimple___________________________________________ 27 Ilustracin11Memoria __________________________________________________________________ 29 Ilustracin12EsquemadeArquitecturaVonNeumann _________________________________________ 34 Ilustracin13EsquemadelaArquitecturaHarvard ____________________________________________ 35 Ilustracin14ModosdedireccionamientoaplicablesalHC12____________________________________ 50 Ilustracin15Formularioindexados ________________________________________________________ 57 Ilustracin16Registrodesegmento ________________________________________________________ 82 Ilustracin17Jerarquadememorias _______________________________________________________ 97 Ilustracin18Asignacindedireccionesencompilacin ________________________________________ 97 Ilustracin19Asignacindedireccionesencarga______________________________________________ 98 Ilustracin20Asignacindedireccinenejecucin ____________________________________________ 98 Ilustracin21Espaciosdememorialgicosyfsicos____________________________________________ 99 Ilustracin22Solapamientoenensamblador________________________________________________ 100 Ilustracin23DiagramadeflujodeunEnsambladorde2pasosPASO1___________________________ 106 Ilustracin24DiagramadeflujodeunEnsambladorde2pasosPASO2___________________________ 107 Ilustracin25Ligador___________________________________________________________________ 151 Ilustracin26Editordeligado____________________________________________________________ 152 Ilustracin27Problemadeligadeobjetos __________________________________________________ 154 Ilustracin28Cargadoyllamadadeunasubrutina(ligadodinmico)_____________________________ 157 Ilustracin29TablaASCII________________________________________________________________ 190 Ilustracin30TablademodosdedireccionamientodelHC12 ___________________________________ 191 Ilustracin31Formularioindexados _______________________________________________________ 192

196

______________________________________________________________________________ ANEXOS/TABLADEILUSTRACIONES

ANALISIS,DISEOYPROGRAMACINDESISTEMAS

6. REFERENCIASBibliografa JOHNDONOVAN MOTOROLA.COM/SEMICONDUCTORS Aho,Sethi&Ullman,Ed.Addison, iberoamericana Ed.Cambridge MODERN COMPILER IMPLEMENTATION IN Appel,AndrewW. CBasictechniques TheIntelMicroprocessors8086/8088, BREY,BARRYB.6a.edicin,NewJersey, 80186/80188,80286,80386,80486,Pentium, Merril,2002. andPentiumProProcessorArchitecture, Programming,andInterfacing Microcomputersystem BYRD,JosephS.;Pettus,RobertO.New Jersey,PrenticeHall,1993 IntroductiontoEmbeddedMicrocomputer VALVANO,JonathanW.Motorola Systems 6811/6812Simulations,USA,Thomson, 2003 Manualestcnicosdemicrocomputadores comerciales,HC11,PICs,HC08,etc MicroprocesadoresavanzadosdeIntel BarryBrey,PrenticeHall SoftwaredeSistema Beck,Leland,.AddisonWesley DiseodeProgramacindeSistemas NormaRamrezHernndez2008 www.nramirez.com SYSTEMPROGRAMMING CPU12REFERENCEMANUAL COMPILADORES:Principios,tcnicasy herramientas

197