Página 1 de 1

Função __builtin_mac

MensagemEnviado: 24 Out 2007 15:09
por rafael
Olá pessoal do asm51!

Estou tentando utilizar a unidade mac dos dsPIC mas estou encontrando muitos problemas em utilizar a função (ou macro) __builtin_mac( ... )... Eu consigo até compilar... mas sempre me terna zero... aqui vai meu código:

Código: Selecionar todos

register int reg_a asm("A");
int w1=0;
int a0 = 2;
int in1 = 1;
int a1 = 3;
int w2 = 4;

void __attribute__((interrupt, no_auto_psv, shadow)) _U1RXInterrupt(void)
{

    reg_a = __builtin_clr();
    reg_a = __builtin_mac(a0, in1, NULL, NULL, 0, NULL, NULL, 0,0);
    reg_a = __builtin_mac(a1, w2, NULL, NULL, 0, NULL, NULL, 0,0);
    asm ("sac %1,#0,%0" : "=r"(w1) : "w"(reg_a));

    U1_Envia_BCD(w1, 5, 0); //converte de inteiro para BCD (ascii) e envia para a UART

}



obs: achei no forum da microchip um exemplo (no qual copiei)... se alguém puder me ajudar, serei grato!!!

forum da microchip:
http://forum.microchip.com/tm.aspx?m=21 ... ac&#218664

http://forum.microchip.com/tm.aspx?m=25 ... y=&#258130


OBRIGADO!

MensagemEnviado: 24 Out 2007 15:34
por ze
não sei.