Lenguaje Ensamblador

Páginas: 6 (1431 palabras) Publicado: 29 de mayo de 2012
Tipos de datos del lenguaje ensamblador

Identificación de elementos del programa en ensamblador

Cada instrucción de un PIC está formada por una palabra de 14 bits y a su vez está dividida e un tipo de código denominado OPCODE, que especifica el tipo de instrucción, y uno o más operandos que además especifican la operación de la instrucción. Todo ello forma un mnemónico o instrucción. Lasinstrucciones son elementos del lenguaje en ensamblador que veremos más adelante.
Estos OPCODES o instrucciones se componen de los siguientes tipos de datos. Estos son abreviaturas usados en el lenguaje ensamblador. Sólo los 6 primeros componen estos OPCODES.
Como ya he comentado anteriormente, las instrucciones se componen del código de la instrucción y de algunos operandos, que son los datos conlos que la instrucción en sí, deberá hacer operaciones dentro del microcontrolador. Estos operandos son:

* f Registro de direcciones de registros(file register address) (0x00-0x7F)
* w Registro de trabajo (Working Register)
* b Dirección de un bit dentro de un registro de 8 bits (0-7)
* l ó k Literal
* d Bit de destino
* x Los bits que estén representados por este tipode dato no tienen ninguna función y su valor lo define el compilador.

Estos vienen explicados detalladamente a continuación.

* f (file register)

Este carácter se usa para definir registros de cualquier tipo. Cualquier instrucción que contenga este campo, contendrá la dirección de un registro, no su contenido. Un registro puede variar entre las direcciones 00h y 7Fh. En el caso delos registros especiales en vez de la dirección podremos poner directamente el nombre del registro.
Ej: (ya voy a empezar a poner algunos ejemplos con instrucciones para q nos vayamos familiarizando)
en vez de:

BSF 03,5
podemos poner:

BSF STATUS,5

con lo cual habremos pasado de trabajar en el banco 0 al banco 1

* w (working register)

W (w) da nombre al acumulador de los PICs,el cual lo vimos anteriormente cuando tratamos los registros. Este no es un registro situado en un banco de memoria, si no que es independiente. A diferencia que el anterior, cuando nos referimos a él, nos referimos al contenido, no al continente, puesto que el continente es único, w, y ya viene dado por la instrucción. Su uso es muy sencillo, pues lo usaremos principalmente para pasar informaciónde un registro a otro, o para contener la información entre dos o más instrucciones. Es como un portapapeles, para hacernos una idea ;).

* b (bit addres dentro de un registro)

Esta letra define la dirección de un bit dentro de un byte. En ciertas ocasiones en vez de modificar o acceder a bytes tendremos que modificar o acceder a bits. De esta manera podemos especificar a una instrucciónque posición ocupa el bit sobre el cual recaerá la acción que esta ejecute. Al igual que en los registros especiales, podemos poner directamente el nombre de un bit dentro de un registro.
Ej:
en vez de:

BSF STATUS,5

ponemos:

BSF STATUS,RP0

* l o k (literal)

Este valor será almacenado en la propia instrucción en tiempo de ensamblado, esto significa que son los valores quenosotros introducimos en las instrucciones para que trabaje con ellos (independientemente de los datos que podamos almacenar o contener en la EEPROM de datos). El valor que podemos introducir dentro de un literal está comprendido entre 0 y 255, ya q es el máximo que puede representar un byte. No debemos olvidar que este valor debe ser introducido en hexadecimal. Siendo así, el valor que puedealmacenar l está comprendido entre 0 y FF.

* d (destiny bit)

Donde nos encontremos esta letra, deberemos especificar donde se alamacenará el resultado de una instrucción, en w o en un registro. Puesto que esto no es un lenguaje de alto nivel, no podemos almacenar el resultado de una operación sobre una tercera variable o registro, así que este deberá ser almacenado en el registro origen...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Lenguaje Ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Qué es el lenguaje ensamblador

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS