Sres:
Estuve viendo el soft MIKROC y en un ejemplo de conversion A/D en el medio de sentencias en lenguaje C ponen la siguiente efectuando un llamado al ASM:
asm {
MOVF Math_Main_global_UpperWord_1,W
MOVWF _tlong0_3
MOVF Math_Main_global_UpperWord_2,W
MOVWF _tlong0_4
}
Necesitaria saber si alguno de ustedes sabe que es en realidad esta sentencia y que significa por ejemplo "Math_Main_global_UpperWord_2,W".
Les pongo el programa.
unsigned char ch0;
int , t0;
char a[17], *tc0;
long tlong0;
void main() {
LCD8_Config(&PORTB, &PORTD, 2,1,0, 7,6,5,4,3,2,1,0); // Same as previous
LCD8_Init(&PORTB, &PORTD); // Initialize LCD8 connected to PORTB
LCD8_Cmd(LCD_CLEAR); // Clear display
LCD8_Cmd(LCD_CURSOR_OFF); // Turn cursor off
//LCD8_Out(1,1, text); // Print text to LCD8, 2nd row, 1st column
OPTION_REG = 0x80;
ADCON1 = 0x82;
TRISA = 0XFF;
tc0 = "Voltaje";
do {
t0 = ADC_read(0);
LCD8_Out(1,1,tc0);
tlong0 = t0 * 5000;
asm {
MOVF Math_Main_global_UpperWord_1,W
MOVWF _tlong0_3
MOVF Math_Main_global_UpperWord_2,W
MOVWF _tlong0_4
}
t0 = tlong0 >> 10;
ch0 = t0/1000;
LCD8_Chr(1,9,48+ch0);
LCD8_Chr_CP('.');
ch0 = (t0/1000) % 10;
LCD8_Chr_CP(48+ch0);
ch0 =(t0/10) % 10;
LCD8_Chr_CP(48+ch0);
ch0 = t0 % 10;
LCD8_Chr_CP(48+ch0);
LCD8_Chr_CP('V');
}while (1);
Muchas gracias.