Autor Tema: problema con un include  (Leído 1165 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Biopepe

  • PIC10
  • *
  • Mensajes: 3
problema con un include
« en: 02 de Julio de 2005, 04:53:00 »
hola foreros , resulta que tenemos un programa en ensamblador en el que dependiendo de donde pongamos un include, el programa se  resetea.
Nos gustaría que alguien nos dijese la ubicación teórica de los includes y la posible causa por la cual podemos tener éste problema.Muchas gracias  

Desconectado antoniof

  • Moderadores
  • PIC24F
  • *****
  • Mensajes: 729
RE: problema con un include
« Respuesta #1 en: 03 de Julio de 2005, 13:37:00 »
Colocar un include en cualquier zona de un programa tiene el mismo efecto que pegar el texto del archivo que se incluye en la misma zona del programa.
Si en el archivo que incluyes hay tablas, y no manejas bien el registro pclath, el PIC puede resetearse, por eso lo más recomendado es poner el include al principio del programa:

Codigo:
;Programa

   org   0x00      ;Vector de reset
   
   goto   inicio

   org   0x04      ;Vector de interrupción
   
   movwf   w_temp      ;Copy W to TEMP register
   swapf   status,w   ;Swap status to be saved into W
   clrf   status      ;bank 0, regardless of current bank, Clears IRP,RP1,RP0
   movwf   status_temp   ;Save status to bank zero STATUS_TEMP register
   movf   pclath,w   ;Only required if using pages 1, 2 and/or 3
   movwf   pclath_temp   ;Save PCLATH into W
   clrf   pclath      ;Page zero, regardless of current page
   goto   isr      ;Salta a la rutina de interrupción
   
;*****************************************************************
;
;      Tablas de la página 0 de memoria
;
;*****************************************************************   

#include spi.asm