Sunteți pe pagina 1din 8

SOFTWARE DE LOS MICROCONTROLADORES PIC 16/17 1

LECCIÓN 4: SOFTWARE DE LOS MICROCONTROLADORES PIC 16/17

Índice:

Formato de las instrucciones


Juego de instrucciones
Ensamblador MPASM
directivas
programa fuente (.asm)
otros ficheros: .lst, .err, .hex, .cod, .o

• FORMATO DE LAS INSTRUCCIONES

Instrucción (PIC16CXXX): 14 bits = código de operación + operando/s

- manejan bytes (los operandos son registros):

- manipulan bits:

- control y operandos inmediatos:

- instrucciones “CALL” y “GOTO”:

índice

• JUEGO DE INSTRUCCIONES (Instruction set)


SOFTWARE DE LOS MICROCONTROLADORES PIC 16/17 2

- juego de instrucciones -
índice

• ENSAMBLADOR MPASM

Directivas

No se graban en la memoria de programa.


Controlan el funcionamiento del ensamblador indicándole:

- cómo debe tratar las instrucciones


- las referencias de los datos
- formato que debe dar al fichero
SOFTWARE DE LOS MICROCONTROLADORES PIC 16/17 3
SOFTWARE DE LOS MICROCONTROLADORES PIC 16/17 4

- directivas de MPASM -
índice

Programa Fuente (.asm)

Se crea con cualquier editor de texto en caracteres ASCII. Debe cumplir:

1) En cada línea puede haber hasta 4 tipos de información: etiquetas, mnemónicos,


operandos y comentarios.

2) Su orden y posición es importante:


- las etiquetas deben comenzar en la columna 1
- los mnemónicos pueden comenzar en la columna 2 (o posteriores)
- los operandos deben ir detrás de los mnemónicos
- los comentarios pueden ir detrás de los operandos, de los mnemónicos o de las
etiquetas, o pueden comenzar en cualquier columna si el primer carácter que no
sea un espacio es “ ∗ ” ó “ ; ”.

3) La anchura máxima de línea es de 255 caracteres.

4) La etiqueta y los mnemónicos, y éstos y los operandos deben estar separados por uno
o más espacios. Los operandos entre sí pueden ir separados por una “ , ”.

5) Y también:

etiquetas:

· la etiqueta puede ir seguida por “ : ”, “ESPACIO”, “TAB”, o el final de la


línea, sin que se consideren parte de ella
· deben comenzar por una letra o por “ _ ”, y pueden tener caracteres
alfanuméricos, “ _ ”, y “ ? ”.
SOFTWARE DE LOS MICROCONTROLADORES PIC 16/17 5

· pueden tener hasta 31 caracteres, y distinguen mayúsculas (por defecto)


aunque esta opción se puede anular con CLI

mnemónicos:

· los mnemónicos de las instrucciones de ensamblador, las directivas y las


llamadas a macros deben comenzar, al menos, en la columna 2
· si en la misma línea hay una etiqueta, deben estar separados por uno o más
espacios (valen las “TAB”)

operandos:

· los operandos deben separarse de los mnemónicos por uno o más espacios (o
“TAB”)
· los operandos que vienen en listas deben separarse por “ , “
· si un mnemónico requiere un número fijo de operandos, todo lo que venga
detrás de ellos en la misma línea se ignora (se permiten comentarios al final de
la línea)
· si un mnemónico permite un número variable de operandos, el final de la lista
de operandos viene determinado por el final de la línea o por el inicio de un
comentario

comentarios:

· los comentarios al final de una línea deben estar separados del resto de la línea
por uno o más espacios (o “TAB”)
· todo lo que hay en una línea detrás del carácter de comentario y hasta el final
de ella, se ignora

- ejemplo de programa fuente (.asm) -

- generación de código absoluto -


SOFTWARE DE LOS MICROCONTROLADORES PIC 16/17 6

- creación de una biblioteca de programas reutilizables -

- generación de un programa ejecutable a partir de módulos -


índice

Otros ficheros

Se generan al ensamblar el programa fuente

- ficheros de MPASM -
índice
SOFTWARE DE LOS MICROCONTROLADORES PIC 16/17 7

fichero de listado ( .lst)

- Al principio de cada página indica la versión del programa, nombre del fichero
que se ensambla, fecha, hora y número de página.

- Si las 8 primeras columnas están juntas, indican el valor (de 32 bits) de


símbolos creados por las directivas SET, EQU, VARIABLE, CONSTANT, o
CBLOCK.

- Si las 8 primeras columnas están separadas, las 4 primeras indican la dirección


de base donde irá el programa en la memoria de programa y las 4 siguientes
están reservadas para código máquina.

- Las siguientes columnas indican en primer lugar el número de línea del fichero
fuente asociado y tras él se repite la propia línea del fichero fuente.

- Los errores, advertencias y mensajes están entre las líneas y se refieren a la


línea siguiente.

- También se incluye una lista con todos los símbolos utilizados en el programa.

- Así mismo se indica la memoria utilizada: “ X ” indica memoria utilizada, y “


− ” no utilizada.

- ejemplo de fichero de listado (.lst) -


índice

fichero de errores ( .err)


SOFTWARE DE LOS MICROCONTROLADORES PIC 16/17 8

Este fichero indica la línea errónea y da una breve descripción del error.

Ejemplo: Error[113] C:\PROG.ASM 7 : Symbol not previously defined (start)


índice

fichero objeto ( .hex)

Fichero que ya puede ser leído por el simulador, el emulador o el programador.


Existen 3 formatos diferentes: INHX8M, INHX8S y INHX32. Utilizamos el
INHX8M.

- formato INHX8M -

- ejemplo de fichero hexadecimal ( .hex) -


índice

fichero de símbolos y depuración ( .cod)

Cuando el programa forma un solo cuerpo (no está formado por programas
objeto reublicables enlazados) genera este fichero para la depuración.
índice

código objeto reubicable ( .o)

Fichero con programa objeto reubicable.


índice

S-ar putea să vă placă și