gusman13
Newbie level 1
Compiler: HI-TECH PICC v9.60PL5 (PRO, Lite) & PICC v9.70PL0 (PRO,Lite)
MPLAB 8.40, 8.30
MPLAB HI-TECH Plug-In v1.35
Situations
------------
1) Defining two or more assembly instructions asm("instruction") in #define resulting in wrong code.
The result assembly code is unexpected....
It places 3 nops but one nop before every other command or call...
Strange thing is that in HI-TIDE v3.15PL2 there is no problem. 3 NOP in the right place.
2) Wrong bit assignment of 'c', 'z' etc in Status register
3) Yesterday I wrote a program and somehow in asm("---") generated btfsc for btfss and vice-versa... I can't recall the situation so I can not reproduce the error...
MPLAB 8.40, 8.30
MPLAB HI-TECH Plug-In v1.35
Situations
------------
1) Defining two or more assembly instructions asm("instruction") in #define resulting in wrong code.
Code:
#include <htc.h>
#define nop() asm("nop")
#define testnop() { nop(); nop(); nop();}
#define testnop1() nop(); nop(); nop()
void main(void)
{
/* Routine 1*/
/* Routine 2*/
testnop();
/* Routine 3*/
/* Routine 4*/
/* Routine 5*/
}
The result assembly code is unexpected....
Code:
...
...
call routine2
NOP
call routine3
NOP
call routine4
NOP
...
...
It places 3 nops but one nop before every other command or call...
Strange thing is that in HI-TIDE v3.15PL2 there is no problem. 3 NOP in the right place.
2) Wrong bit assignment of 'c', 'z' etc in Status register
3) Yesterday I wrote a program and somehow in asm("---") generated btfsc for btfss and vice-versa... I can't recall the situation so I can not reproduce the error...