Asemmbler

Páginas: 89 (22050 palabras) Publicado: 25 de mayo de 2012
Programación Avanzada
en Lenguaje Ensamblador

Ramón Medina

Reservados todos los derechos. Ni la totalidad
ni parte de este libro puede reproducirse o
transmitirse
por
ningún
procedimiento
electrónico o mecánico, incluyendo fotocopia,
grabación magnética o cualquier medio de
almacenamiento de información o sistema de
recuperación, sin permiso escrito del autor.
El autor de estelibro ha hecho el máximo
esfuerzo posible para la obtención de un texto
y unos programas en correcto funcionamiento
y sin errores. Las teorías y programas
presentados en el libro han sido desarrollados
y
comprobados
individualmente
para
determinar su efectividad. Aun así, el autor no
asume ninguna responsabilidad por daños
producidos por, o como consecuencia de la
utilización oaplicación de las ideas o
programas presentadas en este libro.
Copyright

(C)

1992,

Ramón

Medina

Dedicatoria

A mis cuatro más grandes amores: DIOS, Marilys, Luis Alejandro y Cristian Adrián.

ii

Prefacio

Los programadores se pasan la vida argumentando acerca de cual es el mejor lenguaje. Si se le pregunta a
un programador de C acerca del PASCAL y dirá que este nunca será losuficientemente flexible. Si a un
partidario del PASCAL se le comenta acerca de la facilidad del BASIC, seguramente traerá a colación los
GOTO. Y si a un fanático del FORTH, se le dice que el suyo es un lenguaje raro y obscuro, poco adecuado
para trabajos serios, probablemente sea la última vez que le dirija la palabra.
Supongamos, que en lugar de programadores, tenemos a un grupo de chef decocina, discutiendo acerca de
si las recetas deben ser escritas en francés, inglés o español. Por supuesto que resulta tonto. El sabor de la
comida será el mismo independientemente del idioma en que haya sido escrita la receta.
Lo mismo ocurre en programación. Todos los lenguajes de alto nivel, debe convertir sus instrucciones en
código de máquina para poder ser ejecutado por el microprocesadorinstalado en la computadora. Como
podemos ver, todos los lenguajes de programación hablan el mismo idioma.
Por todo esto, tiene sentido aprender a programar en lenguaje ensamblador, sea cual sea el lenguaje de alto
nivel de su preferencia, ya que es el único lenguaje de programación que le permite hablar en el idioma nativo
del microprocesador y explotar todo su potencial.
En los próximoscapítulos trataremos de explicar desde los conceptos básicos hasta tópicos avanzados de la
programación en lenguaje ensamblador, desde los sistemas de numeración y arquitectura interna de un
computador, hasta librerías de aplicaciones y programas residentes.
Para los principiantes, añado lo siguiente: Si alguna vez ha oído que el lenguaje ensamblador es difícil, no lo
crea. Con las característicasy herramientas de programación disponibles hoy en día, en poco tiempo se
sorprenderá desarrollando aplicaciones en este lenguaje con toda libertad.

iii

Contenido

Capítulo I: Conceptos Básicos, 1.
Sistemas de Numeración, 1. Cambios de base de numeración, 2. Estructura de la memoria del computador, 3. Bit, 3. Byte,
4. Nibble, 4. Suma de números binarios, 4. Número negativos, 4.Numeración BCD, 5. BCD empaquetado, 5. BCD
desempaquetado, 5. Caracteres ASCII, 5. Funciones Lógicas, 5. Función AND o producto lógico, 5. Función OR o suma
lógica, 6. Función NOT o inversión, 6. Función XOR u o-exclusiva, 6.

Capítulo II: Organización interna del computador, 7.
Arquitectura fundamental de un computador, 7. Unidad Central de Procesamiento, 8. Unidad de Control, 8. UnidadAritmético-Lógica, 8. Memoria, 8. Memoria ROM, 9. Memoria RAM, 9. Periféricos, 9. Buses, 9. Bus de Datos, 9. Bus de
Direcciones, 9. Bus de Control, 9.

Capítulo III: La familia de microprocesadores 80x86, 11.
Características Generales, 11. Arquitectura Interna Básica, 12. Modos Real y Protegido, 12. Registros Internos, 12.
Registros de Datos, 13. Registros Indice, 14. Registro de Estado, 15....
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS