ANALISIS,DISEÑO Y PROGRAMACION DE SISTEMAS

download ANALISIS,DISEÑO Y PROGRAMACION DE SISTEMAS

of 34

Transcript of ANALISIS,DISEÑO Y PROGRAMACION DE SISTEMAS

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    1/34

    Autor: M.C. Norma Ramrez HernndezM.S.I Graciela Lara Lpez

    M.A.S.I. Salomn Eduardo Ibarra ChvezRevisorTcnico: Ing. Valentn Martnez Lpez

    Principio de funcionamiento del Software de Sistemas

    ANLISIS,DISEO Y PROGRAMACIN

    DE SISTEMAS

    ANLISIS,DISEO Y PROGRAMACIN

    DE SISTEMASPrincipio de funcionamiento del Software de Sistemas

    Autor: M.C. Norma Ramrez HernndezM.S.I Graciela Lara Lpez

    M.A.S.I. Salomn Eduardo Ibarra ChvezRevisorTcnico: Ing. Valentn Martnez Lpez

    Principio de funcionamiento del Softwarede Sistemas

    ANLISIS,DISEO Y PROGRAMACIN

    DE SISTEMAS

    ANLISIS,DISEO Y PROGRAMACIN

    DE SISTEMASPrincipiodefuncionamientodelSoftwarede Sistemas

    9 789707 648036

    ISBN 970764803-1

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    2/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    3

    CONTENIDO

    1 INTRODUCCIN 7

    1. ESTRUCTURADELACOMPUTADORA 11

    1.1. HISTORIA 11

    1.1.1. 3000ACBACOCHINA 11

    1.1.2. SIGLOXVIIREGLADECLCULONAPIER,GUNTHER,PASCAL,LEIBNIZ 11

    1.1.3. SIGLOXIXMAQUINADIFERENCIALBABBAGE,BYRON,JACQUARD(TARJETAS

    PERFORADAS)

    12

    1.1.4. 1944MARKIAIKEN 13

    1.1.5. 1944ENIACECKERT,MAUCHLY 14

    1.1.6. 1946EDVACJOHNVONNEUMANN 14

    1.2. GENERACIONES 16

    1.2.1. GENERACIN0(19421945) 16

    1.2.2. PRIMERAGENERACIN(19511958) 16

    1.2.3. SEGUNDAGENERACIN(19591954) 17

    1.2.4. TERCERAGENERACIN(19641971) 17

    1.2.5. CUARTAGENERACIN(19721984) 18

    1.3.ARQUITECTURADELACOMPUTADORA

    20

    1.3.1. ARQUITECTURADEJOHNVONNEUMANN 25

    1.3.2. ARQUITECTURADEHARVARD 34

    1.4. ESTRUCTURALGICADELPROCESADOR 37

    1.4.1. LENGUAJEMQUINA 39

    1.4.2. SISTEMASDENUMERACIN 41

    1.5. CONJUNTODEREGISTROSYMODELODEPROGRAMACIN 45

    1.5.1. CONCEPTOSDEMODELODEPROGRAMACIN 45

    1.5.2. DIRECCIONAMIENTOSSIMPLES.(INHERENTE,INMEDIATO,DIRECTOYEXTENDIDO) 51

    1.5.3. DIRECCIONAMIENTORELATIVODE8BITS 53

    1.5.4.DIRECCIONAMIENTORELATIVODE16BITS.

    55

    1.5.5. DIRECCIONAMIENTOINDEXADO. 56

    1.5.6. OTROSDIRECCIONAMIENTOS. 58

    1.5.6.1. RELATIVODE9 58

    1.5.6.2. MLTIPLES 59

    1.5.6.3. MSCARA 59

    1.6. EJERCICIOSDEFINDECAPITULO 61

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    3/34

    nrh

    ______________________________________________________________________________ Introduccin/ Historia4

    2. ENSAMBLADORES 67

    2.1. RELACINARQUITECTURADEMQUINASYENSAMBLADOR 67

    2.1.1. CARACTERSTICAS DEPENDIENTESDELAMAQUINA. 74

    2.1.2. CARACTERSTICAS INDEPENDIENTESDELAMAQUINA. 75

    2.2.MODALIDADESDEENSAMBLADO

    81

    2.3. TCNICASDEENSAMBLADO 87

    2.3.1. ENSAMBLADOR DEUNPASO. 88

    2.3.2. ENSAMBLADORDEDOSOMSPASOS. 89

    2.3.2.1. PRIMERPASO(TABSIM:TABLADESMBOLOS) 89

    2.3.2.2. SEGUNDOPASO(S19) 91

    2.4. GESTINDEMEMORIAENELENSAMBLADOR 93

    2.5. DISEOYPROGRAMACIN DELENSAMBLADORDEDOSPASOS 101

    2.5.1. ALGORITMODEPROGRAMACIN 103

    2.5.2. ALGORITMOSYPSEUDOCDIGOSEJEMPLOS 108

    2.5.3. FORMATODEARCHIVOOBJETO. 120

    2.6. EJEMPLOS 121

    2.7. FUNCIONAMIENTODELENSAMBLADOR 127

    2.8. EJERCICIOSDEFINDECAPITULO 129

    3. CARGADOR LIGADOR 137

    3.1. CLASESDECARGADOR 137

    3.1.1. LIGADODINMICO 142

    3.1.2.EJEMPLODECARGADORCYBER

    144

    3.1.3. EJEMPLODEEDITORDELIGADO370 145

    3.1.4. EJEMPLODEEDITORDELIGADOVAX 145

    3.2. RELACINCARGADOR SISTEMAOPERATIVO 147

    3.2.1. SISTEMASOPERATIVOS 150

    3.3. FUNCIONESDELEDITORDEENLACE 151

    3.4. PROBLEMADELIGASDEOBJETOSYMTODOSDESOLUCIN 154

    3.5. DISEOYPROGRAMACIN DEUNCARGADOR 159

    3.5.1. CARGADORABSOLUTO(EJEMPLO) 159

    3.5.2. CARGADORRELOCALIZABLE(EJEMPLO) 160

    3.6.EJERCICIOSDEFINDECAPITULO

    164

    4 MACROPROCESADORES 171

    4.1. IMPORTANCIATERICADEMACROEXPRESIONESYUSOSDEUNMACROPROCESADOR 176

    4.1.1. CONCEPTOSCLAVE 179

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    4/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    5

    4.2. MACROPROCESADORESCONARGUMENTOSYMACROPROCESADORESRECURSIVOS 181

    4.3. INCORPORACINDELPROCESADORDEMACROSALENSAMBLADOR 182

    4.3.1. EJEMPLOS 183

    4.4. EJERCICIOSDEFINDECAPITULO 185

    5.ANEXOS

    189

    5.1. CODIGOASCII 189

    5.2. SECCIONESDELMANUALDEREFERENCIADELHC12 190

    5.2.1. MODELODEPROGRAMACION 190

    5.2.2. MODOSDEDIRECCIONAMIENTODELHC12 191

    5.2.3. TABLADEOPERACIONESINDEXADAS 192

    5.2.4. HOJADEDATOSDEINSTRUCCIN 193

    5.2.5. INSTRUCCINABREVIADA 193

    5.3. TABLAINDICE 194

    5.4. TABLADEILUSTRACIONES 196

    6. REFERENCIAS 197

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    5/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    7

    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 lamateria 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

    encargade laautomatizacindelmanejode

    lainformacin.La informtica,porsurapidez

    de crecimiento y expansin, ha venido

    transformando rpidamente las sociedades

    actuales. La computadora, a diferencia de

    otrasherramientas

    que

    en

    general

    apoyan

    el

    esfuerzofsicodeloshumanos,fueinventada

    parafacilitareltrabajointelectual.

    El lenguaje de programacin es el

    mediodecomunicacinentreelhombrey la

    mquina. Sistema de smbolos y reglas que

    permitelaconstruccindeprogramasconlos

    quela

    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 /

    recuperacin. La programacin tiene como

    objetivo el tratamiento de la informacin

    correctamente, con loque seesperaqueun

    programade el resultado correcto y nouno

    errneo. As que cada aplicacin debe

    funcionar segn lo esperado en trminosde

    programacin,esta

    pretende

    que

    sus

    programasseantilesyeficientes

    Un sistema es un conjunto de

    componentesque interaccionanentresipara

    lograr un objetivo comn. Las personas se

    comunicanconellenguaje,queesunsistema

    muy desarrollado formado por palabras y

    smbolosque

    tienen

    significado

    que

    tienen

    significadoparaelquehablayparaquieneslo

    escuchan,lomismoesparalascomputadoras

    lascualestienensistemasysecomunicanpor

    mediodecomputadoras.

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    6/34

    nrh

    ______________________________________________________________________________ Introduccin/ Historia8

    La programacin es el proceso de

    convertir las especificaciones a grandes

    rasgos de los sistemas en instrucciones de

    mquina que produzcan los resultados

    deseados.

    Por lo tanto la Programacin de

    Sistemas se refiere a la creacin de

    programas cuya finalidad es servir a otros

    programas (software): ejemplos:

    Ensambladores,Cargadores

    yLigadores,

    Compiladores,Intrpretes.

    ElSoftwaredeSistemaseselsoftwarequecontrolaycoordina laoperacindelequipoqueexisteenun sistema computacional.El tipoms importantede Softwarede Sistema esel

    Sistema Operativo. Este supervisa y controla todas las actividades de entrada/salida y

    procesamientodeunsistemadecomputacin.Ademstodoelhardwareysoftwaresecontrola

    pormediodeunsistemaoperativo.

    LlamamosSoftwaredesistemasalconjuntodeprogramasqueseencargandecontrolarelfuncionamientodelosprogramasqueseejecutanydelagestininternadelosrecursosfsicosde

    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: enalgunas ocasiones tambin

    denominadosoftwaredebase,

    consiste en un software que

    sirve para controlar e

    interactuar con el sistema,

    proporcionando control sobre

    elhardware y dando soporte

    aotrosprogramas.

    Software de aplicacin: Elsoftware de hoja de clculo,

    de diseo asistido por

    computadoras (CAD), de

    procesamiento de texto, de

    manejo de Bases de Datos,

    perteneceaestacategora.

    Softwaredeusogeneral:esteofrece la estructura para un

    gran nmero de aplicaciones

    empresariales, cientficas y

    personale; es decir, con

    software y documentacin

    orientadaalosusuarios

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    7/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    9

    El trabajodeunprogramadorde sistemasesseleccionar,modificarymantenerelcomplejo

    softwaredel sistema operativo. Por lo tanto, los programadoresde sistemas desempean una

    funcindeapoyoalmantenerelambientedelsoftwaredelsistemaoperativoenelquetrabajan

    losprogramadoresdeaplicacionesy losoperadoresde lascomputadoras.Tambinparticipanen

    lasdecisiones

    relativas

    areducciones

    o

    ampliaciones

    de

    hardware

    y/o

    software.

    Programacin

    de

    Sistemas Conceptos y Aplicaciones Se entiende por programacin de sistemas el conjunto de

    programasnecesarioparaqueunacomputadoradeuna imagencoherenteymonolticaantesus

    usuarios. Es un rea especializada dentro de las ciencias de la computacin. As,mediante la

    programacindesistemas,nosolosemanejanlascomputadoraspormediodellenguajemaquina

    (0y1)sinoporotrossistemasoperativos,sinlocualseramuydifcillainteraccinconlamaquina.

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    8/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    1. ESTRUCTURADELACOMPUTADORA

    OBJETIVO: ENTENDER CON DETALLE LOS PROCESOS LOGICOS QUE SUCEDEN EN UNA

    COMPUTADORAPARAQUEPUEDAEJECUTARUNPROGRAMAENLENGUAJEMAQUINADEUNA

    PLATAFORMAQUE

    YA

    ESTA

    DEFINIDA.

    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

    compilandoycorrelacionandootrostiposde informacinparaobtenerotroconjuntodedatoso

    informacincomorespuesta.Lainformtica,porsurapidezdecrecimientoyexpansin,havenido

    transformandorpidamentelassociedadesactuales.

    1.1.1. 3000ACBACO - CHINADesarrollada por los chinos y utilizado por civilizaciones

    griegasyromanas.Estedispositivoesmuysencillo,constadeun

    marcorectangulardemaderaensartadodevarillasen lasquese

    desplazaban bolas agujereadas de izquierda a derecha. Al

    desplazar las cuentas (bolas) sobre las varillas, sus posiciones

    representanvaloresalmacenados,yesmedianteestasposiciones

    quese

    representa

    yalmacena

    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,LEIBNIZEl 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

    logaritmospermitiendoque losresultadosde

    complicadasmultiplicaciones se redujeran a

    unprocesosimpledesuma;EdmundGunther

    se encarga de enmarcar los logaritmos de

    Napierenlneas,porsuparteBissakercoloca

    las lneas de ambos sobre un pedazo de

    madera,creandodeestamanera laregladel

    clculo.

    11

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    9/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    45

    1.5.Conjuntoderegistrosymodelodeprogramacin

    1.5.1. Conceptosdemodelodeprogramacin

    La arquitectura de un

    microprocesador o de cualquier procesador

    decomputadora,sedefineporsuconjuntode

    instrucciones y por elmodo 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

    mscamposdebits.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".

    Lasinstrucciones

    por

    su

    complejidad

    pueden ser sencillas o compuestas. Los

    microprocesadores que ejecutan

    instrucciones sencillas son los llamados RISC

    (Reduced Instruction Set Computer), como

    por ejemplo el PIC16C84 deMicroChip o el

    propio Sparc de SUN y el PPC604 de

    Motorola. Por otra parte tenemos a los

    microprocesadores con instrucciones

    compuestas,los

    CISC

    (Complex

    Instruction

    Set Computer ), como el 6809 deMotorola,

    SIC/XE y la serie 80X86 de Intel. Existen

    algunosprocesadoreshbridosmuyeficientes

    como los famososK6,K6II yK6IIIdeAMD.

    Enestepuntosevedeacuerdoalmanualde

    referencia del dispositivo a tratar. Para

    nuestro curso elmicroprocesador a ver ser

    elHC12.

    Elmodelodeprogramacin

    representalaestructurademanipulacinde

    datosquesoportaelconjuntode

    instrucciones,usualmentecompuestapor:

    Unidadaritmticaylgica

    Losregistros

    de

    trabajo

    Elregistrodecondiciones

    Lamemoriadedatos

    http://www.microchip.com/http://www.microchip.com/http://www.microchip.com/http://www.microchip.com/http://www.microchip.com/http://www.amd.com/http://www.amd.com/http://www.amd.com/http://www.amd.com/http://www.amd.com/http://www.amd.com/http://www.amd.com/http://www.amd.com/http://www.amd.com/http://www.amd.com/http://www.amd.com/http://www.amd.com/http://www.amd.com/http://www.amd.com/http://www.amd.com/http://www.amd.com/http://www.microchip.com/
  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    10/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    67

    2. ENSAMBLADORES

    Objetivo:ENTENDERYMANEJARLOSDIFERENTESESQUEMASDEENSAMBLADO.DISEARUN

    ENSAMBLADORDE2PASOS.

    2.1.RelacinArquitecturademquinasyensambladorLa evolucin de los sistemas comienza con un ENSAMBLADOR, se sigue con los

    CARGADORESqueeselmodulo3paranuestrocasodeestudio,MACROPROCESADORESqueesel

    modulo4,COMPILADORESySISTEMASOPERATIVOS.

    Al inicio de los tiempos, el

    programador tena que interpretar el

    fundamentode

    la

    instruccin,

    se

    escriban

    unaseriedeunosyceros(lenguajemaquina)

    ysegrababanen lamemoriadeldispositivo,

    entonces el dispositivo interpretaba como

    estocomounainstruccin. Los

    programadores encontraban esta tarea (leer

    oescribiren lamemoria)muy lenta,asque

    se introdujo el concepto de MNEMONICO,

    que sustituyealconjuntodeUNOSyCEROS,

    yal

    conjunto

    de

    estos

    mnemnicos

    LENGUAJE

    ENSAMBLADOR. La entrada de dicho

    programaselellamaPROGRAMAFUENTEya

    la salida PROGRAMA OBJETO (que es la

    traduccindedichas instruccionesa lenguaje

    maquina.

    Por lo tanto, los ensambladores son

    programasque

    procesan

    los

    enunciados

    del

    programa origen en lenguaje ensamblador y

    lostraducenenarchivosenlenguajemquina

    quesonejecutadosporunmicroprocesadoro

    unmicrocontrolador,estospermitenquelos

    programasorigen seescriban y seeditenen

    una computadora para generar un cdigo

    ejecutableenotracomputadora.Elarchivoen

    lenguajeobjetoejecutableresultantesecarga

    (CARGADOR) y se ejecuta en el sistema

    destino.

    Lenguajeensambladoresel lenguaje

    simblicoque

    se

    utiliza

    para

    codificar

    los

    programas origen que se procesan por el

    ensamblador es llamado lenguaje

    ensamblador.Este lenguajeesuna 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

    operacinde losmnemnicospara todas las

    instruccionesde lamquinacontenidasen la

    listadeinstrucciones.

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    11/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    69

    .Ejemplos

    Mnemnico C.o. Explicacin Ejemplosdeuso

    NOP A7Nooperacin,incrementaelcontadorde

    programaperonohacenadaSolounuso:nop

    Cpy DependedesuusoComparael contenidodel registroYcon

    unvalorespecificadoCPY04

    ABA 1806Sumaelcontenidodelacumuladoracon

    elb,elresultadoquedaenaSolounuso:aba

    Rola 45Rota todos los bits del acumulador A

    hacialaderechaSolounuso:rola

    LDAA DependedesuusoCarga al acumulador un valor

    especificado

    Ldaa #01, ldaa $01,

    etc

    Un ensambladoresunprogramaquetraducelasinstruccionesalenguajemaquina,estos

    deben serescritos conformea las especificaciones delensamblador.Unprograma consisteen

    declaraciones (llamadas lnea cdigo) lnea por lnea. Su sintaxis es la siguiente: nombre del

    campo,operaciondelcampo,operandodelcampo,sintaxisdelcampo,ejemplo:

    ETIQUETA

    MNEMONICO

    Operando

    (S)

    COMENTARIO

    (antepone

    ;)

    LDAA #5 ;cargaalregistroA un5

    Num1: JMP $10 ;saltoincondicionalaladireccin10

    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

    etiquetasaparece

    como

    el

    primer

    campo

    dentrodeunenunciadoorigen.Elcampo

    deetiquetaspuedeadoptarcualquierade

    lassiguientesformas:

    o Unasterisco (* )comoelprimer

    carcterenelcampodeetiquetas

    indicaqueelrestodelenunciado

    origen es un comentario. Los

    comentariosson ignoradosporel

    ensambladoreimpresos

    en

    el

    listado origen solamente como

    informacindeprogramacin.

    o Unespaciodecarcterenblanco

    (TAB o espacio) como primer

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    12/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    75

    direccionamientos, no todos son

    aplicablesalosmicros.

    MNEMONICO: las

    instrucciones aunque en concepto

    podran ser lasmismas, se enuncian

    dediferentemanera,esdecir:

    Funcin MNHC12 MNHC08

    CargoalacumuladorA LDAA LDA

    ComparaalacumuladorA CMPA CMP

    ..yas

    podramos

    seguir

    enumerando

    encontrando

    las

    caractersticas

    que

    hacen

    exclusivo

    al

    micro.

    2.1.2. CaractersticasIndependientesdelamaquina.

    Lascaractersticas independientesde lamquinasonaquellasrelacionadasmsbiencon

    eltipodeimplementacindelprogramaysusestructurasdedatosqueconlamquinaobjeto.

    DIRECTIVAS: Tambinexisten las llamadasDIRECTIVASoPSEUDOINSTRUCCIONES, las

    cualesespecificanaccionesauxiliaresquesellevanacaboporelensamblador.

    PERIFERICOS: tododispositivoquesercontroladoporelmicro

    ARCHIVOSAUXILIARES:*.LST,*.OBJ,*.S19,*.TABSIM,etc,dependiendodelalgoritmocon

    quesetrabaje

    .De

    igual

    manera

    podramos

    seguir

    numerando

    caractersticas

    globales

    para

    los

    micros

    DIRECTIVAS:Lasdirectivasdeensambladorcontrolanaccionesauxiliaresquese realizan

    durante el proceso de ensamblado, tales como reservar posiciones de memoria, inicializar

    posicionesdememoriaaundeterminadovalor,definiretiquetas, indicarel inicioyel finaldel

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    13/34

    nrh

    ______________________________________________________________________________ ENSAMBLADORES/ RelacinArquitecturademquinasyensamblador76

    programa, o definir macros. Las directivas no son traducibles a cdigo mquina. Nota: las

    directivasNOtienencdigomaquina.

    ORG

    Especificarelpuntoenelcualsecomienzaaensamblarunaseccindecdigo.Estadirectivadebeutilizarsesiempreantesdecomenzaradeclararcdigoozonasdememoria.

    END

    Especificael findeunarchivoencdigo fuenteensamblador.Estadirectivadeberserincluidaobligatoriamentealfinaldecadaarchivo.Cualquierexpresindeclaradadespusdeestadirectivaserignorada.

    START Especificacindelcomienzodeunaseccindecdigoensambladoadireccin$0.Equ Sustituye un identificador por una cadena de texto previamente especificada en

    cualquier parte del programa por el valor declarado. Esto permite una granversatilidada lahoradedeclararconstantesyposicionesdememoriadeespecialintersparaelprogramador.

    contloc

    LINEADE

    PROGRAMA

    COP

    E1EQU$800ORG$4000

    4000 JMPE1 060800END

    DC.B

    LasdirectivasDByDWpermitendeclararoreservarzonasdememoria,tantoparavaloresnumricoscomoparacadenasdetexto.Estasdirectivasposeenunaampliasintaxisquepermiteunagranflexibilidadalahoradedefinirreasdememoria. Loselementos definidos mediante las directivas DB y DW deben ir separados porcomas.Para reservarespacioen lamemoria sinespecificarun valor concreto, sepuedeemplearelsignodeinterrogacin.Laespecificacindecadenasdetextodebehacersemediantelaexpresinliteraldelacadenaentrecomillas.

    DC.W

    contloc LINEADEPROGRAMA COPORG$4000

    4000

    DC.B

    00

    4001 DC.W 00004003 DC.B15 0F4004 DC.B20,21,22 1415164007 DC.BH 484008 DC.WH 0048400A DC.BH,O,L,A 484F4C41

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    14/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    10

    2.5.Diseoyprogramacindelensambladordedospasos

    Los lenguajes son sistemas de

    comunicacin.Un lenguajedeprogramacin

    consisteen

    todos

    los

    smbolos,

    caracteres

    y

    reglas de uso que permiten a las personas

    "comunicarse" con las computadoras.

    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

    pertenecena las categorasya familiaresde

    entrada/salida, clculo/manipulacin de

    textos, lgica / comparacin y

    almacenamiento/recuperacin.

    Los lenguajes de programacin se

    dividen en 4 principales paradigmas:

    imperativo, funcional,orientadoaobjetos y

    lgico.

    Para la creacindeun programa es

    necesarioseguircincopasos:

    1. Diseo del algoritmo: se plantea el

    problemaa resolverysepropone la

    mejor solucin, creando diagramas

    esquemticos utilizados para el

    mejorplanteamientodelasolucin.

    2. Codificacindelmismo: consisteen

    escribir el programa en algn

    lenguajede

    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

    enel

    programa

    durante

    la

    fase

    de

    prueba . La correccin de una falla

    normalmente requiere la repeticin

    de los pasos comenzando desde el

    primerooelsegundo.

    Un algoritmo es una serie de pasos

    lgicospararealizarunaaccin,programao

    tareaya

    que

    es

    el

    primer

    paso

    para

    realizar

    un programa. Los algoritmos se pueden

    expresarpor frmulas,diagramasde flujo,y

    pseudocdigos. Los algoritmos tienen

    ciertascaractersticasqueson:

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    15/34

    nrh

    ______________________________________________________________________________ ENSAMBLADORES/Diseoyprogramacindelensambladordedospasos106

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

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    16/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    10

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

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    17/34

    nrh

    ______________________________________________________________________________ ENSAMBLADORES/Diseoyprogramacindelensambladordedospasos120

    2.5.3.FormatodeArchivoobjeto.UnarchivodesalidadeMotorolaesunarchivotipoASCII,Motorolamaneja3tipos:

    S19 paradireccionamientode16bits

    S2

    paradireccionamiento

    de

    24

    bits

    S3 paradireccionamientode32bits

    Estos archivos son una opcional tabla de informacin, con datos especficos para ser

    cargadosenmemoria:

    Moduloderegistro esteesopcional,contieneelnombredelmodulo.

    Registrodesmbolos encasodesernecesariounsmbolorecalculable.

    Registrodeencabezado S0

    Registrodedato

    o S1

    (2bytes)

    dato

    o S2 (3bytes)dato

    o S3 (4bytes)dato

    Registrodetrmino

    o S7 archivode32bitsdedireccin

    o S8 archivode24bitsdedireccin

    o S9 archivode16bitsdedireccin

    Recordemosqueesteessolounformatoparaelcargadordelsimulador,parafacilitar la

    vidadelprogramador, lonicoexactoysinvarianzadeberserelCOPresultante. Paranuestro

    casodelHC12deMotorolaelformatodesalidaserunS19conlassiguientescaractersticas:

    TIPODEDATO

    NUMERODE

    DATOSALO

    LARGODELAFILA,

    REPRESENTADO

    POR1BYTE

    DIRECCIONDEL

    DATO(2BYTES)

    DATO

    (

    eltamaoes

    variable)

    checksum

    S0

    S1

    .S1

    S9ORDENDECALCULOCOMOSIGUE

    1 4 2 3 5

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    18/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    12

    2. Mediante el algoritmo de 2 pasos, obtenga el formato de salida S19, del siguiente

    programaenlenguajeensamblador:

    1.asm

    ORG$4000

    JMPINI

    INI JMP 4,Y

    JMP4,Y

    JMP40,Y

    ORG$4012

    JMP 40,Y

    JMPA,Y

    END

    PASO1,SERESEVALOCALIDADESDEMEMORIA

    YSEGENERALATABSIMENSUCASO

    PASO 2: SEOBTIENE EL COP Y SEGENERA EL

    FORMATODESALIDAS19

    Eje1.asm

    contloc Cop ORG$4000

    4000 06hhll JMPINI

    4003 05xb INI JMP 4,Y

    4005

    05xb

    JMP

    4,

    Y

    4007 05xbff JMP40,Y

    400 ORG$4012

    4012 05xbff JMP 40,Y

    4015 05xb JMPA,Y

    4017 END

    Eje1.asm

    contloc cop ORG$4000

    4000 064003 JMPINI

    4003 055C INI JMP 4,Y

    4005

    056C

    JMP

    4,

    Y

    4007 05E828 JMP40,Y

    400A ORG$4012

    4012 05E9D8 JMP 40,Y

    4015 05EC JMPA,Y

    4017 END

    4000 Elcdigohhllsesustituyeporelporelvalordelavariablequeseencuentradeclarada

    enlatabladesimbolos

    4003 El cdigo xb se sustituye de acuerdo al modulo anterior (1.6.5 Modo de

    direccionamientoindexado)porlaformula:rr0nnnnn,donde:

    1=31(ascii,hexadecimal)ver

    anexos

    Retornodecarro=13H

    TABSIM

    INI=$4003

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    19/34

    nrh

    ______________________________________________________________________________ ENSAMBLADORES/ EJEMPLOS124

    r r 0 n n n n n

    y 4

    0 1 1 1 1 0 0

    5 C

    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 r 1 p n n n n

    y 4

    0

    1

    0

    1

    1

    0

    0

    6 C

    4007 Deigualmaneraquelasanteriores:xbsesustituyepor111rr0zs,dondezeseltamaodel

    operador,siendo0cuandosutamaoesde1byte,ysrepresentaelsignodeloperador,

    siendos=0cuandoesteespositivo,porlotantoeloperador40eslavariableff

    1 1 1 r r 0 z S

    y 1BYTE POSITIVO

    0 1 0 0

    E 8

    4012 Eselmismoformatoanterior,soloqueaqueloperadoresnegativoasiquenosresultara

    s=1,porlotantoelCOPresultantepara 40,yseriaE9D8.

    400D Ahorael1eroperadoreselregistrointernoA,porlotantolescomosigue:

    1 1 1 r r 1 a a

    y A

    0 1 0 0

    E C

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    20/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    12

    FORMATODESALIDAS191.s19

    S0 04 0000 31 CA

    S1 0D 4000 0640003055C056C05E828 83

    S1 05 4012 05E9D805EC

    S9 03 4017 A5

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    21/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    13

    3. CARGADOR - LIGADOR

    Objetivo:ENTENDERELFUNCIONAMIENTO DELOSESQUEMASMASIMPORTANTESDELACARGA

    YLIGADEMODULOSOBJETO.

    3.1.ClasesdecargadorEninformtica,uncargadoreslapartede

    un sistemaoperativoque es responsablede

    cargarprogramasenmemoria.Elcargadores

    usualmenteunapartedelncleodelsistema

    operativoyescargadoal iniciarel sistemay

    permaneceenmemoriahastaqueelsistema

    es reiniciado o apagado. Algunos sistemas

    operativos que tienen un ncleo paginable

    pueden tener el cargador en una parte

    paginablede lamemoria,entoncesavecesel

    cargadorintercambiadememoria.

    Los sistemas operativos que soportan

    la carga de programas tienen cargadores.

    Algunos sistemas operativos empotrados de

    computadoras altamente especializadas

    corren un nico programa y no existen

    capacidades de carga de programas, por lo

    tantonousancargadores.Ejemplosdeestos

    sistemas embebidos se encuentran en

    equipos

    de

    audio

    para

    automviles.

    En

    los

    sistemas Unix, el cargador es el manejador

    para la llamadadelsistemaexecve().Algunas

    computadoras necesitan cargadores

    relocalizables, los cuales ajustan direcciones

    dememoria(punteros)enunejecutablepara

    compensar las variaciones en la cual la

    memoriadisponibledelaaplicacinempieza.

    Lascomputadorasquenecesitandelos

    cargadores relocalizables sonaquellosen los

    cualeslos

    punteros

    son

    direcciones

    absolutas

    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

    intercaladasen

    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

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    22/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    15

    3.5.DiseoyprogramacindeunCargadorAlgoritmodecargador

    1. colocarunprogramaobjetoenlamemoria

    2. Iniciarsu

    ejecucin.

    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. Amedida que lee cada registro de texto, el cdigo objeto que contiene pasa a

    direccindelamemoriaindicada.

    6. Cuandose

    encuentra

    el

    registro

    de

    fin,

    el

    cargador

    salta

    ala

    direccin

    especificada

    parainiciarlaejecucindelprogramacargado.

    3.5.1. Cargadorabsoluto(ejemplo)Hay dos aspectos del programa

    cargador que requieren una mayor

    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

    carcterusandounbytedememoria yque,

    por consiguiente, la variable dir_byte

    contieneladireccindeunbytedememoria.

    Inicialmente,estavariableseasignaigualala

    constante DIR_CARGA.En cada iteracin del

    lazowhile,

    ala

    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.

    /***definirlaestructuradelregistroencabezado***/

    structenc_ejec

    {unsignedintdir_ini;

    /*lasotraspartesdelencabezadodelarchivoejecutable*/

    http://www.monografias.com/trabajos7/regi/regi.shtmlhttp://www.monografias.com/trabajos7/regi/regi.shtml
  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    23/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    17

    4 MACROPROCESADORES

    Objetivo:Entenderelfuncionamientodelasdiversasmodalidadesdelmacroprocesamiento.

    Conelfindeevitaralprogramador la

    tediosa repeticinde partes idnticas deun

    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

    serequiera

    la

    aplicacin

    de

    las

    instrucciones

    por ella representadas. La declaracin se

    realiza una sola vez, pero la utilizacin o

    invocacina lamacro (macrollamada)puede

    hacerse cuantas veces sea necesario. La

    utilizacin demacros posibilita la reduccin

    del tamao del cdigo fuente, aunque el

    cdigoobjetotiendeasermayorquecuando

    seutilizanfunciones.

    El Macroensamblador es un

    ensamblador modular, descendiente de los

    ensambladores bsicos. Hacen todo lo que

    puede hacer un ensamblador, y adems

    proporcionan una serie de Directivas para

    definir y ejecutar macro instrucciones (o

    simplemente,Macros).Cuandoejecutamosa

    una"macro",sta seexpandeal cuerpoque

    hayamosdefinido.

    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.Elmacroprocesador seencarga,en

    una primera pasada, de registrar todas las

    declaracionesde

    macros

    yde

    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

    proceso de sustitucin se le denomina

    expansin de lamacro. Elmacroprocesador

    elaboratablasparaelmanejodelasmacros:

    Tabladenombresdemacros: consisteen

    losnombresdelasmacrosyunndiceque

    le permite localizar la definicin de la

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    24/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    17

    ReservadelocalidadesdememoriaconunaMacro

    Reservade

    localidades

    de

    memoria

    con

    una

    Rutina

    como sepuedeapreciar,el tamaodelCOP resultanteesmayorelde laMacroqueelde la

    Rutina,asuvezlaMacrotienemenortiempodeejecucin.

    M1 MACRO

    1ERPASO

    M1 MACRO

    LDAA[1,X] LDAA[1,X]

    LDAA

    [2,X]

    LDAA

    [2,X]

    LDAA[3,X] LDAA[3,X]

    LDAA[4,X] LDAA[4,X]

    ENDM ENDMORG$4000 ORG$4000

    M1 4000 M1

    ET1 JMPET1 4010 06hhll ET1 JMPET1

    M1 4013 M1

    END 4023 END

    ORG$4000 ORG$4000

    JSRM1 4000 16hhll JSRM1ET1 JMPET1 4003 06hhll ET1 JMPET1

    JSRM1 4006 16hhll JSRM1

    JMPFIN 4009 06hhll JMPFIN

    M1 LDAA[1,X] 400C 05xbeeff M1 LDAA[1,X]

    LDAA[2,X] 4010 05xbeeff LDAA[2,X]

    LDAA[3,X] 4014 05xbeeff LDAA[3,X]

    LDAA[4,X]

    4018

    05

    xb

    eeff

    LDAA

    [4,X]

    RTS 401C 3D RTSFIN END 401D FIN END

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    25/34

    nrh

    ______________________________________________________________________________ MACROPROCESADORES/ Importanciatericademacroexpresionesyusosdeunmacro

    procesador176

    4.1.Importanciatericademacro-expresionesyusosdeunmacro-procesador

    Un macroinstruccin (abreviado

    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 con el grupo

    correspondiente de proposiciones del

    lenguaje fuente, lo que se denomina

    expansindemacros.Portodoloanterior,las

    macroinstruccionespermitenalprogramador

    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.

    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

    elementoclaveparaelprogramador,puesel

    uso indiscriminado de macros puede hacer

    queeltamaodelcdigoobjetoseaenorme

    ypocoprctico,alcontrariodelasllamadasa

    subrutinas.

    Claroque tambin sepagaunprecio

    alto por el empleo de las llamadas, pues se

    pierdetiempo importanteen lagestinde la

    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

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    26/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    18

    4.3.1. Ejemplos

    1. MEDIANTEELALGORITMODE2PASOS,OBENGAELFORMATODESALIDADELSIGUIENTEPROGRAMA EN LENGUAJE ENSAMBLADOR, TOME EN CUENTA QUE EL RETORNO DECARROES13H.

    M1 MACRO

    1ERPASO

    M1 MACRO TABSIMLDAA[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 TABDEFM1 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 7ES1 13 4010 064010A6E30001A6E30002A6E30003A6 FF

    S1 06 4020 E30004 B2

    S9

    03

    4023

    D9

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    27/34

    nrh

    ______________________________________________________________________________ MACROPROCESADORES/ Incorporacindelprocesadordemacrosalensamblador184

    2. MEDIANTEELALGORITMODE2PASOS,OBENGAELFORMATODESALIDADELSIGUIENTEPROGRAMA EN LENGUAJE ENSAMBLADOR, TOME EN CUENTA QUE EL RETORNO DECARROES13H.ESTEEJERCICIODENOTAELUSODELADIRECTIVALOCAL

    M1 MACRO

    1ERPASO

    M1 MACRO TABSIM

    E1 LOCAL E1 LOCAL E1=4000,400A,

    JMPE1 JMPE1 E2=4008JMPE2 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

    de

    salida

    S19.

    PD.Heomitidoelnombredelarchivo,porcuestionesprcticaspero,definitivamenteesundato

    requerido.

    S0

    S1 13 4000 0640000640088601860206400A064008 6BS1 05 4010 8601 23S9 03 4012 AA

    NOTA:

    La1erparte(0640000640088601)perteneceala1erllamadaalamacro(laqueseencuentraenlalocalidad4000,la2dallamadaalamacroesaquelcdigomostradoenletracursiva(06400A0640088601).

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    28/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    18

    5.ANEXOS

    5.1.CODIGOASCIIElcdigoASCII(acrnimo inglsdeAmericanStandardCodeforInformation Interchange

    Cdigo Estadounidense Estndar para el Intercambio de Informacin), pronunciadogeneralmente [ski],esuncdigodecaracteresbasadoenelalfabeto latinotalcomoseusaeninglsmodernoyenotraslenguasoccidentales.Fuecreadoen1963porelComitEstadounidensede Estndares (ASA, conocido desde 1969 como el Instituto Estadounidense de EstndaresNacionales, o ANSI) como una refundicin o evolucin de los conjuntos de cdigos utilizadosentoncesentelegrafa.Mstarde,en1967,seincluyeronlasminsculas,yseredefinieronalgunoscdigosdecontrolparaformarelcdigoconocidocomoUSASCII.

    El cdigo ASCII define una relacin entre caracteres especficos y secuencias de bits;

    ademsde

    reservar

    unos

    cuantos

    cdigos

    de

    control

    para

    el

    procesador

    de

    textos,

    yno

    define

    ningnmecanismoparadescribir laestructurao laaparienciadeltextoenundocumento;estosasuntosestnespecificadosporotroslenguajescomoloslenguajesdeetiquetas.

    ASCII Hex Smbolo

    01234567

    89101112131415

    01234567

    89ABCDEF

    NULSOHSTXETXEOTENQACKBEL

    BSTABLFVTFFCRSOSI

    ASCII Hex Smbolo

    1617181920212223

    2425262728293031

    1011121314151617

    18191A1B1C1D1E1F

    DLEDC1DC2DC3DC4NAKSYNETB

    CANEMSUBESCFSGSRSUS

    ASCII Hex Smbolo

    3233343536373839

    4041424344454647

    2021222324252627

    28292A2B2C2D2E2F

    (espacio)!"#$%&'

    ()*+,-./

    ASCII Hex Smbolo

    4849505152535455

    5657585960616263

    3031323334353637

    38393A3B3C3D3E3F

    01234567

    89:;?

    ASCII Hex Smbolo

    646566676869

    70717273747576777879

    404142434445

    464748494A4B4C4D4E4F

    @ABCDE

    FGHIJKLMNO

    ASCII Hex Smbolo

    808182838485

    86878889909192939495

    505152535455

    565758595A5B5C5D5E5F

    PQRSTU

    VWXYZ[\]^_

    ASCII Hex Smbolo

    96979899100101

    102103104105106107108109110111

    606162636465

    666768696A6B6C6D6E6F

    `abcde

    fghijklmno

    ASCII Hex Smbolo

    112113114115116117

    118119120121122123124125126127

    707172737475

    767778797A7B7C7D7E7F

    pqrstu

    vwxyz{|}~

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    29/34

    nrh

    ______________________________________________________________________________ ANEXOS/ SECCIONESDELMANUALDEREFERENCIADELHC12190

    Ilustracin 29 Tabla ASCII5.2.SECCIONESDELMANUALDEREFERENCIADELHC12

    5.2.1. MODELODEPROGRAMACIONElmodelodeprogramacinde cualquierdispositivo loobtenemosdelmismoproveedor,quien

    noslo

    hace

    saber

    por

    medio

    de

    su

    manual

    de

    referencia.

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    30/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    19

    5.2.2. MODOSDEDIRECCIONAMIENTODELHC12

    Ilustracin 30 Tabla de modos de direccionamiento del HC12

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    31/34

    nrh

    ______________________________________________________________________________ ANEXOS/ SECCIONESDELMANUALDEREFERENCIADELHC12

    5.2.3. TABLADEOPERACIONESINDEXADAS

    Ilustracin 31 Formulario indexados

    192

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    32/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    19

    5.2.4. HOJADEDATOSDEINSTRUCCIN

    5.2.5.INSTRUCCINABREVIADA

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    33/34

    nrh

    ______________________________________________________________________________ ANEXOS/ TABLADEILUSTRACIONES196

    5.4.TABLADEILUSTRACIONESIlustracin1Abaco______________________________________________________________________11Ilustracin2MaquinadePascal____________________________________________________________12Ilustracin3Maquinadiferencial___________________________________________________________13Ilustracin4Tarjetasperforadas___________________________________________________________13Ilustracin5MARKI_____________________________________________________________________14Ilustracin6ENIAC______________________________________________________________________14Ilustracin7JOHNNVONNEUMANN _______________________________________________________15Ilustracin8EDVAC_____________________________________________________________________15Ilustracin9Abstraccindelacomputadora__________________________________________________20Ilustracin10DiagramaabloquesdeunCPUsimple___________________________________________27Ilustracin11Memoria __________________________________________________________________29Ilustracin12EsquemadeArquitecturaVonNeumann_________________________________________34Ilustracin13EsquemadelaArquitecturaHarvard____________________________________________35Ilustracin14ModosdedireccionamientoaplicablesalHC12____________________________________50Ilustracin15Formularioindexados________________________________________________________57Ilustracin16Registrodesegmento________________________________________________________82Ilustracin17Jerarquadememorias_______________________________________________________97Ilustracin18Asignacindedireccionesencompilacin ________________________________________97Ilustracin19Asignacindedireccionesencarga______________________________________________98Ilustracin20Asignacindedireccinenejecucin____________________________________________98Ilustracin21Espaciosdememorialgicosyfsicos____________________________________________99Ilustracin22Solapamientoenensamblador________________________________________________100Ilustracin23DiagramadeflujodeunEnsambladorde2pasosPASO1___________________________106Ilustracin24DiagramadeflujodeunEnsambladorde2pasosPASO2___________________________107Ilustracin25Ligador___________________________________________________________________151Ilustracin26Editordeligado____________________________________________________________152Ilustracin27Problemadeligadeobjetos__________________________________________________154Ilustracin28Cargadoyllamadadeunasubrutina(ligadodinmico)_____________________________157Ilustracin29TablaASCII________________________________________________________________190Ilustracin30TablademodosdedireccionamientodelHC12___________________________________191Ilustracin31Formularioindexados_______________________________________________________192

  • 8/9/2019 ANALISIS,DISEO Y PROGRAMACION DE SISTEMAS

    34/34

    ANALISIS, DISEO Y PROGRAMACIN DE SISTEMAS

    6.REFERENCIAS

    Bibliografa

    SYSTEMPROGRAMMING JOHNDONOVAN

    CPU12REFERENCE

    MANUAL

    MOTOROLA.COM/SEMICONDUCTORS

    COMPILADORES:Principios,tcnicasyherramientas

    Aho,Sethi&Ullman,Ed.Addison,iberoamericana

    MODERN COMPILER IMPLEMENTATION INCBasictechniques

    Appel,AndrewW. Ed.Cambridge

    TheIntelMicroprocessors8086/8088,80186/80188,80286,80386,80486,Pentium,andPentiumProProcessorArchitecture,Programming,andInter facing

    BREY,BARRYB.6a.edicin,NewJersey,Merril,2002.

    Microcomputersystem BYRD,JosephS.;Pettus,RobertO.NewJersey,PrenticeHall,1993

    Introductionto

    Embedded

    Microcomputer

    SystemsVALVANO,

    Jonathan

    W.

    Motorola

    6811/6812Simulations,USA,Thomson,2003

    Manualestcnicosdemicrocomputadorescomerciales,HC11,PICs,HC08,etc

    MicroprocesadoresavanzadosdeIntel BarryBrey, PrenticeHall

    SoftwaredeSistema Beck,Leland,.AddisonWesley

    DiseodeProgramacindeSistemas NormaRamrezHernndez 2008

    www.nramirez.com

    http://www.n-ramirez.com/http://www.n-ramirez.com/http://www.n-ramirez.com/http://www.n-ramirez.com/