about assembly optimize

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi, I don't want to psoc automatically optimize my code, how should I do?

   

My code as following,

   

WORD GetMsCount()
{
  WORD tmpCount;
   
  do
  {
    tmpCount = msCount;
  }
  while(tmpCount != msCount);

   

  return tmpCount;
}

0 Likes
1 Reply
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Since msCount seems to be changed within an interrupt handler do not forget to declare it as "volatile"!!

   

In Project -> Build Settings -> Compiler -> Optimization you may set "Optimization Level" to "None", this setting is best for debugging.

   

Without the "volatile" attribute your while-loop would be prone to optimizatin taking tmpCount != msCount out of the loop because it does not change, leaving an infinite loop  behind.

   

 

   

Bob

0 Likes