Introducción al lenguaje ensamblador

Solo disponible en BuenasTareas
  • Páginas : 30 (7280 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de marzo de 2012
Leer documento completo
Vista previa del texto
Instrucciones de procesador

En la capa más baja de operación, todos los procesadores de computadora (microcomputadoras, minicomputadoras y computadoras mainframe) manipulan datos en base a códigos binarios definidos internamente en el chip del procesador por el fabricante. Estos códigos definen que funciones debe realizar el procesador utilizando los datos provistos por el programador. Estoscódigos son referidos como "códigos de instrucción". Diferentes tipos de procesadores contienen diferentes tipos de códigos de instrucción. Los chips de procesador son con frecuencia clasificados por la cantidad y tipo de códigos de instrucción que ellos soportan. A pesar de que puedan existir muchos tipos de procesadores con diferentes códigos de instrucción, una ventaja al programar en ensambladorpara diferentes procesadores es que todos ellos manejan los códigos de instrucción de forma similar.


Manipulación de los códigos de instrucción

Mientras está en funcionamiento un chip de procesador de computadora, éste lee los códigos de instrucción que están almacenados en memoria. Cada conjunto de códigos de instrucción puede contener uno o más bytes de información que instruyen alprocesador para realizar una tarea especifica. Cada código de instrucción es leído de la memoria, cualquier dato que sea requerido para el código de instrucción también es almacenado y leído desde la memoria. Los bytes de memoria que contienen los códigos de instrucción no son diferentes de los bytes que contienen los datos usados por el procesador.

Para diferenciar entre los datos y lasinstrucciones, se utilizan dos apuntadores, tal como se muestra en la figura:

EMBED StaticMetafile

El "apuntador a instrucción" es usado para saber que instrucción se ha ejecutado y cual es la siguiente a ejecutar, por supuesto que existen instrucciones capaces de modificar el curso natural de la ejecución.

El "apuntador a datos" es usado para saber dónde comienza el área de datos, esta regiónde memoria se conoce como la "pila" (o stack en inglés).

Cada instrucción de código puede contener uno o más bytes de información para el procesador, pero debe contener al menos un byte llamado el "código de operación" (opcode en inglés). El opcode define que función debe realizar el procesador. Cada familia de procesadores tiene su propio conjunto de opcodes que definen todas las funcionesdisponibles de realizar.


Lenguaje ensamblador

Los compiladores crean código de una manera en que se incrementa la portabilidad y el cumplimiento de los estándares, lamentablemente esto lleva a que dichos compiladores no creen código eficiente, si se crea código para un procesador con funciones especiales, puede ser que el compilador no utilice estas características, es aquí donde entra ellenguaje ensamblador, con este lenguaje el programador puede hacer uso de las características especificas de un procesador, por supuesto, que para mejorar la eficiencia lo primero que hay que hacer es crear algoritmos eficientes.

El lenguaje ensamblador permite al programador usar el conjunto de códigos de instrucción del procesador sin tener que memorizar sus valores numéricos, para ello, haceuso de mnemónicos, los cuales se forman por palabras en el idioma inglés y representan códigos de instrucción.

Puntos a considerar en la programación en lenguaje ensamblador:

• No existe un formato estándar a ser usado por todos los ensambladores: ensambladores diferentes usan sintaxis diferentes para escribir sentencias de programas.
• Para crear un programa en ensamblador se debe determinarsi es necesario un programa escrito sólo en ensamblador o si se debe combinar con un lenguaje de alto nivel.

LOS REGISTROS DE LA CPU

Una CPU 80x86 contiene registros, localidades internas de almacenamiento que pueden ser accedidas más rápido que las localidades en la RAM.


Registros de datos o registros de propósito general

A los registros EAX, EBX, ECX y EDX se les conoce como...
tracking img