que tal muchachos.
estoy trabajando con PIC18f2550 en MPLABX con XC8
preciso hacer esto:
_asm
MOVF numero_1, W
MULWF numero_2
_endasm
pero no hay forma, no compila.
intente con
#asm
..
#endasm
y el unico que funciona es el (horrible):
asm("..");
asm("..");
pero este ultimo no me reconoce las variables como definidas (ahí no sé si no estoy teniendo yo un error de concepto por definir las variables en C y esperar el mismo tratamiento en ASM).
alguna idea?
EDIT
con respecto a las variables acabo de probar esto que se supone funciona:
asm("MOVF funcion@numero1, W");
asm("MULWF funcion@numero2");
y.. nada
SOLVED
bien, estoy medio atonito porque no encontre la explicación al error, pero ahora anda :S
void test_process{
...
volatile unsigned char a;
volatile unsigned char b;
a = separable_byte.LB;
b=10;
asm("MOVF test_process@a , W");
asm("MULWF test_process@b");
}
nota de color: por si alguno no lo sabía, la instrucción MULWF permite multiplicar dos enteros de 8 bits sin signo en una sola operación... digamos que para
el caso en donde estemos muy ajustados de tiempo, es el santo grial!
saludos!