Código ASCII y Tipos

Embed Size (px)

Citation preview

  • 5/23/2018 C digo ASCII y Tipos

    1/55

    Cdigo ASCII

    ASCII generalmente se pronuncia "aski", es un acrnimo de American StandardCode for Information Interchange.

    Este cdigo asigna a las letras del alfabeto, a los dgitos decimales del 0 al !a arios smbolos adicionales un n#mero binario de $ bits %poni&ndose el bit 'en su estado de apagado o 0(.

    )e esta forma cada letra, dgito o car*cter especial ocupa un b!te en lamemoria de la computadora.

    +odemos obserar ue este m&todo de representacin de datos es mu!ineficiente en el aspecto num&rico, !a ue en formato binario nos basta un solob!te para representar n#meros de 0 a -, en cambio con el cdigo ASCII unb!te puede representar #nicamente un dgito.

    )ebido a esta ineficiencia, el cdigo ASCII es principalmente utili/ado en lamemoria para representar teto.

    2.1 Mtodo de BCD

    Cuando se representan n#meros, letras o palabras por medio de un grupoespecial de smbolos, se dice ue se encuentran codificados, ! al grupo desmbolos se le llama cdigo. +robablemente uno de los m*s conocidos es el1orse, en el cual las series de puntos ! ra!as representan letras de alfabeto.

    2emos isto ue en cualuier n#mero decimal se puede representar pormedio de un n#mero binario euialente. El grupo de ceros ! unos contenidosen el n#mero binario se puede considerar como un cdigo ue representa eln#mero decimal. Cuando un n#mero decimal se representa con su n#merobinario euialente, recibe el nombre de codificacin binaria directa.

    3odos los sistemas digitales emplean alguna forma de n#meros binariospara su operacin interna, aunue el mundo etremo es naturale/a decimal.

    Ello significa ue las conersiones entre los sistemas decimal ! binario lleanacabo con frecuencia. 2emos isto ue estas conersiones pueden ser largas! complicadas si se traba4a con n#meros grandes. +or esta ra/n, se emplea,en ciertas situaciones, un medio de codificacin de n#meros decimales uecombina caractersticas de los sistemas decimal ! binario.

    Cdigo decimal codificado en binario

    Si cada digito de un n#mero decimal se representa con su euialente binario,el resultado es un cdigo llamado decimal codificado en binario %en lo

  • 5/23/2018 C digo ASCII y Tipos

    2/55

    sucesio se abreiara 5C) es un acrnimo de 5inar! Coded )ecimal(, !a ueel ma!or digito decimal es el , se necesitan 6 bits para codificar cada digito %elcdigo binario correspondiente de es 7007(.

    +ara ilustrar el cdigo 5C) tomemos un n#mero decimal como '$6. Cada

    digito se cambia por su euialente binario de la siguiente manera8

    8 7 4 (decimal)

    1000 0111 0100 (BCD)

    +ara poner otro e4emplo, cambiemos 69 por su representacin en el cdigobinario

    9 4 3 (decimal)

    1001 0100 0011 (BCD)

    :na e/ m*s, cada digito decimal se cambia por su euialente binario directo.;tese ue siempre se usan 6 bits por cada digito.

    El cdigo 5C), por lo tanto, representa cada digito del n#mero decimal pormedio de un n#mero binario de 6 bits. )e hecho, solo se utili/a n#merosbinarios de 6 bits del 0000 al 7007. El cdigo 5C) no se usa los n#meros

    7070, 7077, 7700, 7770, ! 7777. En otras palabras, solo se emplean 70 de los7< posibles grupos del cdigo binario de 6 bits. Si alguno de estos n#meros=prohibidos> de 6 bits aparece en una mauina ue emplee el cdigo 5C) esuna indicacin, por lo general, de ue se ha cometido un error.

    Este m&todo es mucho m*s pr*ctico para representacin de n#meros en lamemoria en comparacin al ASCII, todaa se ueda por deba4o del binario, !aue con un b!te en el m&todo 5C) solo podemos representar dgitos del 0 al, en cambio, en formato binario podemos representar todos los dgitos desde0 hasta -.

  • 5/23/2018 C digo ASCII y Tipos

    3/55

    Este formato es utili/ado principalmente para representar n#meros mu!grandes en aplicaciones mercantiles !a ue facilita las operaciones con losmismos eitando errores de redondeo.

    2.3 Representacin de pnto flotante

    Esta representacin esta basada en la notacin cientfica, esto es, representarun n#mero en dos partes8 su mantisa ! su eponente.

    +oniendo como e4emplo el n#mero 7-96000, podemos representarlo como7.7-9?70@

  • 5/23/2018 C digo ASCII y Tipos

    4/55

    3.1 Importancia del $enga*e 'nsamblador.

    a importancia del lengua4e ensambladorradica principalmente ue se traba4adirectamente con el microprocesadorB por lo cual se debe de conocer el

    funcionamiento interno de este, tiene la enta4a de ue en el se puede reali/arcualuier tipo de programasue en los lengua4es de alto niel no lo puedenreali/ar. tro punto sera ue los programas en ensambladorocupan menosespacio en memoria.

    Es importante como se puede er, el engua4e Ensamblador esdirectamente traducible al engua4e de 1*uina, ! iceersaB simplemente, esuna abstraccin ue facilita su uso para los seres humanos. +or otro lado, lacomputadora no entiende directamente al engua4e EnsambladorB es necesariotraducirle a engua4e de 1*uina. +ero, al ser tan directa la traduccin, prontoaparecieron los programas Ensambladores, ue son traductores ue conierten

    el cdigo fuente %en engua4e Ensamblador( a cdigo ob4eto %es decir, aengua4e de 1*uina. Surge como una necesidad de facilitar al programador latarea de traba4ar con lengua4e m*uina sin perder el control directo con elhardDare.

    El engua4e Ensamblador es la forma m*s b*sica de programar unmicroprocesador para ue &ste sea capa/ de reali/ar las tareas o los c*lculosue se le reuieranB es conocido como un lengua4e de ba4o niel, esto significaue nos permite controlar el 700 de las funciones de un microprocesador, ascomo los perif&ricos asociados a &ste. A diferencia de los lengua4es de altoniel, por e4emplo "+ascal", el lengua4e ensamblador no reuiere de uncompilador, esto es debido a ue las instrucciones en lengua4e ensambladorson traducidas directamente a cdigo binario ! despu&s son colocadas enmemoria para ue el microprocesador las tome directamente.

    3. 2 +enta*as , des-enta*as del $enga*e 'nsamblador.

    +enta*as

    a primera ra/n para traba4ar con ensamblador es ue proporciona laoportunidad de conocer m*s a fondo la operacin de su +C, lo ue permite el

    desarrollo de softDare de una manera m*s consistente.

    a segunda ra/n es el control total de la +C ue se tiene con el uso delmismo.

    tra ra/n es ue los programas de ensamblador son m*s r*pidos, m*scompactos ! tienen ma!or capacidad ue los creados en otros lengua4es.

    +or #ltimo el ensamblador permite una optimi/acin ideal en los programastanto en su tamaFo como en su e4ecucin.

    http://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos12/microco/microco.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos13/memor/memor.shtmlhttp://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos12/microco/microco.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos13/memor/memor.shtml
  • 5/23/2018 C digo ASCII y Tipos

    5/55

    -elocidad. Como traba4a directamente con el microprocesador ale4ecutar un programa, pues como este lengua4e es el m*s cercano a lam*uina la computadora lo procesa m*s r*pido.

    1a!or control sobre el hardDare de la computadora

    'ficienciade tama/o.:n programaen ensambladorno ocupa muchoespacio en memoria porue no tiene ue cargar libreras ! dem*s comoson los lengua4es de alto niel.

    0leibilidad. Es fleible porue todo lo ue puede hacerse con unam*uina, puede hacerse en el lengua4eensamblador de esta m*uinaBlos lengua4es de alto niel tienen en una u otra forma limitante paraeplotar al m*imo los recursosde la m*uina. sea ue en lengua4eensamblador se pueden hacer tareas especficas ue en un lengua4e dealto niel no se pueden llear acabo porue tienen ciertas limitantes ue

    no se lo permiten.

    Des-enta*as

    Gepeticin constante de grupos de instrucciones

    ;o eiste una sintais estandari/ada

    )ificultad para encontrar errores en los programas %bugs(

    "iempo de programacin.Como es un lengua4e de ba4o niel reuiere

    m*s instrucciones para reali/ar el mismo proceso, en comparacin conun lengua4e de alto niel. +or otro lado, reuiere de m*s cuidado porparte del programador, pues es propenso a ue los errores de lgica serefle4en m*s fuertemente en la e4ecucin.

    !rogramas fente grandes.+or las mismas ra/ones ue aumenta eltiempo, crecen los programas fuentesB simplemente reuerimos m*sinstrucciones primitias para describir procesos euialentes. Esto esuna desenta4a porue dificulta el mantenimiento de los programas, !nueamente reduce la productiidad de los programadores.

    !eligro de afectar recrsosinesperadamente.3enemos la enta4a deue todo lo ue se puede hacer en la m*uina, se puede hacer con elengua4e Ensamblador %fleibilidad(. El problema es ue todo error uepodamos cometer, o todo riesgo ue podamos tener, podemos afectarlos recursos de la mauina, programar en este lengua4e lo m*s com#nue pueda pasar es ue la m*uina se blouee o se reiniciali/e. +oruecon este lengua4e es perfectamente posible %! sencillo( reali/arsecuencias de instrucciones in*lidas, ue normalmente no aparecen alusar un lengua4e de alto niel. En ciertos casos etremos, puede llegarsea sobrescribir informacin del C1S de la m*uinaB esto puede causarue de4emos de "er" el disco duro, 4unto con toda su informacin.

    http://www.monografias.com/trabajos12/microco/microco.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos11/veref/veref.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos16/desarrollo-del-lenguaje/desarrollo-del-lenguaje.shtmlhttp://www.monografias.com/trabajos4/refrec/refrec.shtmlhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCEhttp://www.monografias.com/trabajos4/refrec/refrec.shtmlhttp://www.monografias.com/trabajos12/microco/microco.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos11/veref/veref.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos14/lenguaje-ensamblador/lenguaje-ensamblador.shtmlhttp://www.monografias.com/trabajos16/desarrollo-del-lenguaje/desarrollo-del-lenguaje.shtmlhttp://www.monografias.com/trabajos4/refrec/refrec.shtmlhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCEhttp://www.monografias.com/trabajos4/refrec/refrec.shtml
  • 5/23/2018 C digo ASCII y Tipos

    6/55

    0alta de portabilidad.+orue para cada m*uina eiste un lengua4eensambladorB por ello, eidentemente no es una seleccinapropiada delengua4e cuando deseamos codificar en una m*uina ! luego llear losprogramas a otros sistemas operatios o modelos de computadoras.

    3.3 Relacin del lenga*e ensamblador con los componentes internos delprocesador

    En la memoria se almacena la informacin en celdas especiales llamadosregistros los cuales tienen un niel alto ! un niel ba4o.

    #nidad aritmtica , lgicaes la responsable de reali/ar como su nombre loindica operaciones aritm&ticas ! lgicas.

    #nidad de controlSe encarga de coordinar los componentes se e4ecuten lasoperaciones correctamente.

    Bsinterno son los canales por donde pasa la informacin ue la m*uina aa procesar %bus de entrada( o procesada %bus de salida(.

    a :C+ contiene registros para el mane4o de comunicacin con elmicroprocesador los cuales son8

    Registros de so general

    A H Gegistro acumulador, diidido en A2 ! A %' bits cada uno(. Interiene enlas operaciones aritm&ticas ! lgicas, despu&s de la operacin arro4a unresultado.

    BH Gegistro base, diidido en 52 ! 5. Se utili/a en transferencias de datosentre la memoria ! el procesador.

    CH Gegistro contador, diidido en C2 ! C. Se utili/a como contador enbucles %+(, en operaciones con cadenas %GE+(, ! en despla/amientos

    %C(.

    DH Gegistro de datos, diidido en )2 ! ). Se utili/a en operaciones demultiplicacin ! diisin 4unto con A ! en operaciones de entrada ! salida depuertos, su mitad inferior ) contiene el n#mero de puertos.

    Registros de 'stado

    2a! nuee indicadores de un bit en este registro de 7< bits. os cuatro bits m*ssignificatios est*n indefinidos, mientras ue ha! tres bits con aloresdeterminados8 los bits ! 9 siempre alen cero ! el bit 7 siempre ale uno.

    http://www.monografias.com/trabajos5/selpe/selpe.shtmlhttp://www.monografias.com/trabajos5/selpe/selpe.shtml
  • 5/23/2018 C digo ASCII y Tipos

    7/55

    C0 4Carr, 0lag5 bit 67Si ale 7, indica ue hubo "arrastre" %en caso de suma(o "pr&stamo" %en caso de resta(. Este indicador es usado por instrucciones uesuman o restan n#meros ue ocupan arios b!tes. as instrucciones derotacin pueden aislar un bit de la memoria o de un registro poni&ndolo en el

    CJ.

    !0 4!arit, 0lag5 bit 27Si ale uno, el resultado tiene paridad par, es decir, unn#mero par de bits a 7. Este indicador se puede utili/ar para detectar erroresen transmisiones.

    A0 4Ailiar, carr, 0lag5 bit 87 Si ale 7, indica ue hubo "arrastre" o"pr&stamo" del nibble %cuatro bits( menos significatio al nibble m*ssignificatio. Este indicador se usa con las instrucciones de a4uste decimal.

    90 49ero 0lag5 bit :7Si este indicador ale 7, el resultado de la operacin escero.

    S0 4Sign 0lag5 bit ;7Gefle4a el bit m*s significatio del resultado. Como losn#meros negatios se representan en la notacin de complemento a dos, estebit representa el signo8 0 si es positio, 7 si es negatio.

    "0 4"rap 0lag5 bit flag5 bit 117Si ale 7, hubo un desborde en una operacinaritm&tica con signo, esto es, un dgito significatio se perdi debido a uetamaFo del resultado es ma!or ue el tamaFo del destino.

    Relacin entre el cdigo binario , el lenga*e ensamblador

  • 5/23/2018 C digo ASCII y Tipos

    8/55

    En el cdigo binario se utili/an ceros ! unos, mientras ue el lengua4eensamblador es una coleccin de smbolos mnemnicos ue representan8operaciones, nombres simblicos, operadores ! smbolos especiales.a relacin entre estos dos lengua4es sera ue el binario es el lengua4e ue la

    m*uina entiende ! el ensamblador se acerca mas lengua4e de esta.

    3.8 Mane*o de la memoria Direccionamiento 4interno , eterno7.

    El mane4o de la memoria depende de ue procesador tenga la m*uina, entrelos cuales a continuacin se mencionan los siguientes8

    1emoria de +rograma

    1emoria Eterna de )atos

    1emoria Interna de )atos

    Gegistros de funciones Especiales

    1emoria de 5it.

    El espacio de la 1emoria de +rograma contiene todas las instrucciones, datos,tablas ! cadenas de caracteres %strings( usadas en los programas. Esta

    memoria se direcciona principalmente usando el registro de 7< bits llamado)ata +ointer. El tamaFo m*imo de la 1emoria de +rograma es de

  • 5/23/2018 C digo ASCII y Tipos

    9/55

    3odos los Gegistros de Junciones Especiales tienen direcciones ma!ores a7-$ ! se ubican en los 7-' b!tes superiores de la 1emoria Interna de )atos.Estas dos *reas de la 1emoria Interna de )atos se diferencian por el modo dedireccionamiento usado para accesarlas. os Gegistros de JuncionesEspeciales solo se pueden accesar usando el modo de direccionamiento

    )irecto, mientras ue los 7-' b!tes superiores solo se pueden accesar con elmodo de direccionamiento Indirecto.

    +or otra parte, el espacio de 1emoria de 5it se usa para almacenarariables ! banderas de un bit. El tamaFo m*imo de la 1emoria de 5it es de-< bits, 7-' de los bits comparten su espacio con 7< b!tes del espacio de la1emoria Interna de )atos ! los otros 7-' bits lo hacen con los Gegistros deJunciones Especiales.

  • 5/23/2018 C digo ASCII y Tipos

    10/55

    CA!I"#$% I+I&"R%D#CCI%& A$ MICR%!R%C'SAD%R

    8.1 $a e-olcin del microprocesador

    Antes de comentar los microprocesadores modernos, se debe primeroentender ue fue lo ue puso a estos dispositios en primer plano. a historiadice ue los antiguos babilonios empe/aron a usar el *baco,%calculadoraprimitia hecha con cuentas o esferas ahuecadas(, alrededor del aFo 00 ade MC. Con el tiempo, esta sencilla calculadora, estimulo a la humanidad para

    perfeccionar una mauinaria calculadora en ue se utili/aban engranes !ruedas %5las +ascal en 7

  • 5/23/2018 C digo ASCII y Tipos

    11/55

    basadas en microprocesadores. Cuando surgieron aplicaciones m*scomple4as para el microprocesador, el 6006 resulto inadecuado.

    'l microprocesador de < bits.

    1as tarde, en 7$7, al percatarse ue el microprocesador era un productoiable para comerciali/acin, Intel Corporation produ4o el '00', el primermicroprocesador de ' bits. El tamaFo ampliado de la memoria %7

  • 5/23/2018 C digo ASCII y Tipos

    12/55

    disponibles en la ma!or parte de los microprocesadores de ' bits, ecepto elmotorola 1C

  • 5/23/2018 C digo ASCII y Tipos

    13/55

    Corporation. Esto puede compararse con el '0', presentando 7- aFos antesue el '06'

  • 5/23/2018 C digo ASCII y Tipos

    14/55

    instrucciones se recuperan de la memoria con una operacin de lectura. uego,mientras el '0' e4ecuta la instruccin, el sistema de memoria esta ocioso. afamilia de los microprocesadores Intel, empe/ando con el '0'< ! el '0'',aproecha este tiempo de memoria ociosa buscando con anticipacin lasiguiente instruccin mientras e4ecuta la actual. Esto acelera la e4ecucin total

    de un programa.

    En la figura 67%b( se ilustra la secuencia de eentos en el microprocesador'06'

  • 5/23/2018 C digo ASCII y Tipos

    15/55

    1icroprocesador

    Canal

    %a(

    :nidad de Interface decanal

    :nidad de Instruccin

    :nidad de e4ecucin

    :nidad de direccionamiento

    %b(

    Figura 4-1(a) Funcionamiento de un microprocesador antiguo como el 8085A (!) Funcionamiento del microprocesador 8048" con ar#uitecturaparalela (pipeline)$

    cupado cioso cupado cupado cioso cupado cupado cioso cupado

    Gecuperar7

    Gecuperar- Gecuperar 9

    Gecuperar6 Almacenar 7

    Gecuperar

    Gecuperar< eer -

    Gecuperar$

    )ecodificar7

    )ecodificar-

    )ecodificar9

    )ecodificar6 ciosa

    )ecodificar

    )ecodificar< ciosa

    E4ecutar 7 E4ecutar - E4ecutar 9 E4ecutar 6 ciosa E4ecutar E4ecutar