La capacidad de comunicarse es de gran importancia en cualquier campo.
Enviado por John0099 • 8 de Abril de 2018 • 2.468 Palabras (10 Páginas) • 562 Visitas
...
El registro SP
El registro BP
Registros de propósitos generales:
Son los caballos de batalla o las herramientas del sistema. Son los únicos en el sentido de que se puede direccionarlos como una palabra o como una parte de un byte.
AX, BX, CX y DX
Registro índice:
Los registros SI y DI están disponibles para direccionamientos indexados y para sumas y restas. Que son las operaciones de punta.
SI y DI
Lenguaje ensamblador
El lenguaje ensamblador(assembly language) un lenguaje de bajo nivel para las computadoras, microprocesadores, microcontroladores y otros circuitos integrados programables, el lenguaje ensamblador es una abstracción del lenguaje máquina de modo que permite a los programadores darles una facilidad o un entendimiento más simple y menos complejo a la hora de programar.
Para poder programar en Bajo nivel (Ensamblador) debemos conocer desde lo básico hasta lo más complicado. La primera computadora programable fue la ENIAC en 1946 pero se programaba mediante circuitos complejos que no eran nada funcionales. Después se empezó a utilizar el lenguaje máquina que son claves binarias que representan un CÓDIGO DE operación (OPCODE). Estas se almacenan en grupos de instrucciones llamados programas.
La implementación del lenguaje máquina llegó a ser muy complicada debido a que se debían aprender series enormes de códigos binarios para realizar operaciones. de aquí surgió lo que hoy conocemos como lenguaje ensamblador así pues se puede decir que el lenguaje ensamblador Es la primera abstracción del lenguaje máquina, consiste en asociar los OPCODE con palabras clave que sean fáciles de recordar para el programador. Estas palabras claves se denominan mnemónicos, estas representan los pasos de procesamiento o instrucciones y los registros del procesador, las posiciones de memoria y otras características del lenguaje.
Un lenguaje ensamblador tiene una serie de elementos estos son :
Etiquetas, Instrucciones, Operandos, Directivas, macros, comentarios.
Etiquetas: Una etiqueta es una denominación textual (por lo general una palabra fácil de leer) para una línea en un programa, o a una sección de un programa donde los micro pueden saltar a - o incluso al inicio de un conjunto de líneas de un programa. También puede ser utilizado para ir a un punto determinado del código del programa (como Goto.......) para ejecutar el programa y puede incluso tener una condición que deba cumplirse para que la instrucción Goto pueda ser ejecutada. Es importante que una etiqueta comience con una letra del alfabeto o con un subrayado "_". La longitud de la etiqueta puede ser de hasta 32 caracteres. También es importante que una etiqueta se inicie en la primera columna.
[pic 1]
Instrucciones: Las instrucciones están definidas por el microcontrolador específico que se esté utilizando, por lo que sólo queda seguir las instrucciones para su uso en el lenguaje ensamblador. La forma en que se escribe una instrucción también se llama "sintaxis". En el siguiente ejemplo, podemos reconocer un error en la escritura porque las instrucciones movlp y gotto no existen para el microcontrolador PIC16F84.
[pic 2]
Algunas instrucciones del lenguaje ensamblador son:
Mov: mueve el valor de un registro o un número hacia otro registro ejemplo mov Bx, 5, movAX, bx.
Add: Sumar el valor de un registro a otro registro ADD BX, 5
Sub: Rest el valor de un registro o valor específico a un registro sub cx, 2
Inc: incrementa en 1 el valor del registro inc bx
Dec: Decrementa en 1 el valor del registro dec bx
Operandos: Los Operandos son elementos que acompañan a la instrucciones para estas sean ejecutadas. Por lo general son registros, variables o constantes.
[pic 3]
Directivas: Una directiva es similar a una instrucción, pero a diferencia de una instrucción esta es independiente del modelo del microcontrolador, y representa una característica del propio lenguaje ensamblador. Las directivas generalmente tienen significados intencionales a través de variables o registros. Por ejemplo, LEVEL puede ser una designación para una variable en la memoria RAM en la dirección 0Dh. De esta manera, la variable en esa dirección se puede acceder a través de la designación LEVEL. Esto es mucho más fácil para un programador de entender que para él tratar de recordar la dirección 0Dh.
Algunas instrucciones del lenguaje assembler no se traducen directamente a instrucciones del lenguaje máquina. Estas instrucciones son directivas para el assembler; éstas asignan al programa ciertas áreas de memoria, definen símbolos, designan áreas de RAM para almacenamiento de datos temporales, colocan tablas o datos constantes en memoria y permiten referencias a otros programas.
Para usar éstas directivas o pseudo-operandos, el programador las coloca en el campo del código de operación, y, si lo requiere la directiva, una dirección o dato en el campo de dirección.
Algunas directivas se presentan en la siguiente tabla:
$
Incluye un archivo
#define
Asigna un valor a una etiqueta
#elif
Introduce una nueva condición en un bloque #if...#endif
#else
Ensambla las instrucciones si la condición es falsa
#endif
Acaba bloques #if, #ifdef o #ifndef
#error
Genera un error
#if
Ensambla las instrucciones si la condición es verdadera
...