Autor Tema: problema compilar en ccs las divisiones enteras  (Leído 2510 veces)

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

Desconectado eldruida_876

  • PIC10
  • *
  • Mensajes: 3
problema compilar en ccs las divisiones enteras
« en: 13 de Junio de 2004, 09:58:00 »
Este es un ejemplo sencillo para comprobar que no compila las divisiones enteras:
   
# include <16f84a.h>
      # use delay(clock=4000000)
      # byte puerto_a=5
      # byte puerto_b=6

    void main(void)
    {
    int var = 0;
    set_tris_a(0x1f);
    set_tris_b(0x00);
    while (true)
      {
      var=puerto_a;
      puerto_b=var/18;
      }
    }
Cuando compila el codigo fuente el resultado en asembler es el siguiente:

CCS PCM C Compiler, Version 3.163, 15174

               Filename: c:documents and settingsubénescritorioasmcdivisiondiv.LST

               ROM used: 44 (4%)
                         Largest free fragment is 980
               RAM used: 3 (4%) at main() level
                         6 (9%) worst case
               Stack:    1 locations

*
0000:  MOVLW  00
0001:  MOVWF  0A
0002:  GOTO   019
0003:  NOP
....................
....................
....................
....................
....................
....................       # include <16f84a.h>
....................  //////// Standard Header file for the PIC16F84A device ////////////////
.................... #device PIC16F84A
.................... #list
....................
....................       # use delay(clock=4000000)
....................       # byte puerto_a=5
....................       # byte puerto_b=6
....................
....................     void main(void)
....................     {
0019:  CLRF   04
001A:  MOVLW  1F
001B:  ANDWF  03,F
....................     int var = 0;
001C:  CLRF   0F
....................     set_tris_a(0x1f);
001D:  MOVLW  1F
001E:  TRIS   5
....................     set_tris_b(0x00);
001F:  MOVLW  00
0020:  TRIS   6
....................     while (true)
....................       {
....................       var=puerto_a;
0021:  MOVF   05,W
0022:  MOVWF  0F
....................       puerto_b=var/18;
0023:  MOVF   0F,W
0024:  MOVWF  10
0025:  MOVLW  12
0026:  MOVWF  11
0027:  GOTO   004     nos envia a una direccion sin instrucciones
0028:  MOVF   0D,W
0029:  MOVWF  06
....................       }
002A:  GOTO   021
....................     }
....................
002B:  SLEEP


He probado con varias versiones del compilador , obteniendo el mismo resultado.
Agradeceria cualquier ayuda para obtener los resultados deseados.

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: problema compilar en ccs las divisiones enteras
« Respuesta #1 en: 13 de Junio de 2004, 11:21:00 »
A mi me compila sin problemas en la version 3.190
¿Qué error te da?

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: problema compilar en ccs las divisiones enteras
« Respuesta #2 en: 13 de Junio de 2004, 11:59:00 »
Eso es un goto a una parte de código oculto por el compilardor. En concreto la parte que supongo te interesaba ver. La que realiza la división.
Prueba esto por ejemplo. La dirección a donde apunta es la 004, que es a donde apuntan las interrupciones. Incluye en el código algo que escriba sobre esa dirección, por ejemplo:
Codigo:

#INT_EXT
void interr(void){
int hola=0;
}



Verás como ahora ese goto apunta a otro lado, que tampoco aparecerá código...

Saludos!
Saludos desde Huelva (ESPAÑA)

Desconectado Ginho_rj

  • PIC12
  • **
  • Mensajes: 87
RE: problema compilar en ccs las divisiones enteras
« Respuesta #3 en: 13 de Junio de 2004, 12:16:00 »
aqui direito,mas porque não tem fuses???porque envia um valor float para o port_b ????

Desconectado eldruida_876

  • PIC10
  • *
  • Mensajes: 3
RE: problema compilar en ccs las divisiones enteras
« Respuesta #4 en: 13 de Junio de 2004, 16:02:00 »
Como bien dice cucaracha es parte de codigo oculto.
He comprobado que si genera el codigo, por que, en la micropic-trainer me funciona. Ademas he conseguido ver ese codigo oculto atraves del ic-prog con la utilidad de pasar de hex a asm.
Gracias a todos por vuestra participacion, tan solo deciros que, posteare amenudo.Pues me estoy iniciando y me surgen muchas dudas.

Desconectado cucaracha

  • PIC24H
  • ******
  • Mensajes: 1409
    • CUCAWEB
RE: problema compilar en ccs las divisiones enteras
« Respuesta #5 en: 13 de Junio de 2004, 16:45:00 »
Ok, pues por aquí andamos...
En el foro hay mucho de lo que sacar ayuda en esto de los micros.

Bienvenido y suerte!
Saludos desde Huelva (ESPAÑA)


 

anything