Autor Tema: Macros en ensamblador (CCS)  (Leído 5254 veces)

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

Desconectado PicMinor

  • PIC16
  • ***
  • Mensajes: 236
Macros en ensamblador (CCS)
« en: 24 de Junio de 2025, 08:11:37 »
¡¡ Saludos al foro !!

Estoy intentando traducir a CCS un programa escrito en mikroc y estoy atascado con una macro en ensamblador.
El código es similar a esto:

#define PRUEBA(x)     #ASM   
                  BTFSC     INDF, x         ; se salta la siguiente intruccion si x es 1
                  BCF       TRISIO, 2       ; pone GP2 como salida
                  NOP                            ; no hace nada
                  BSF       TRISIO, 2       ; pone GP2 en como entrada
            #ENDASM

Y no me compila. Me da un error     "Expecting a ("     en la primera línea de ensamblador BTFSC  INDF, x  y a partir de ahí pues errores de todo tipo.

¿Alguien sabe qué estoy haciendo mal?

¡¡ Gracias por anticipado !!


Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
Re:Macros en ensamblador (CCS)
« Respuesta #1 en: 25 de Junio de 2025, 03:06:32 »
y algo asi :
void PRUEBA(int8 x){   
  #asm
                  btfsc     INDF, x         ; se salta la siguiente intruccion si x es 1
                  bcf       TRISIO, 2       ; pone GP2 como salida
                  nop                            ; no hace nada
                  bsf       TRISIO, 2       ; pone GP2 en como entrada
  #endasm
}

Desconectado PicMinor

  • PIC16
  • ***
  • Mensajes: 236
Re:Macros en ensamblador (CCS)
« Respuesta #2 en: 25 de Junio de 2025, 03:25:33 »
Gracias por tu respuesta. Lo probaré

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Macros en ensamblador (CCS)
« Respuesta #3 en: 26 de Junio de 2025, 18:41:02 »
¡¡ Saludos al foro !!

Estoy intentando traducir a CCS un programa escrito en mikroc y estoy atascado con una macro en ensamblador.
El código es similar a esto:

#define PRUEBA(x)     #ASM   
                  BTFSC     INDF, x         ; se salta la siguiente intruccion si x es 1
                  BCF       TRISIO, 2       ; pone GP2 como salida
                  NOP                            ; no hace nada
                  BSF       TRISIO, 2       ; pone GP2 en como entrada
            #ENDASM

Y no me compila. Me da un error     "Expecting a ("     en la primera línea de ensamblador BTFSC  INDF, x  y a partir de ahí pues errores de todo tipo.

¿Alguien sabe qué estoy haciendo mal?

¡¡ Gracias por anticipado !!

El problema parece ser: ¿Qué es x?

¿Dónde y cómo lo tienes definido?
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32


 

anything