Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/17/05 13:50
Read: times


 
#89867 - re explosive bytes
Responding to: ???'s previous message
sorry, could not help that after the previous post being "Atomic" (never heard the expression before, if interested, the definition is at http://www.webopedia.com/TERM/A/at...ation.html ). I have always been aware of the issue, just never knew the word.

Ian, it is nice that there is a word for it, will use in future.

If the interrupt happens to occur during the mov a,mydatabyte instruction then it may put a new value in mydata byte

my rule re ISR/main sharing of variables is
if both can write to a byte or the variable is longer than a byte, it may only be accessed in main code with interrupts disabled.

The problem here is that when coding in C, the variable may be hidden if that rule is observed. qwerty &= 0xf0; may seem "atomic" but is not, in assembly mov a,qwerty, and a,#0f0h, mov qwerty,a is easy to recognize as non-atomic.

Erik

List of 38 messages in thread
TopicAuthorDate
DS5250 Lockup in ISR's With Priority            01/01/70 00:00      
   Update:            01/01/70 00:00      
      Software Bug            01/01/70 00:00      
      using what            01/01/70 00:00      
         register banks            01/01/70 00:00      
            Shared Data Problem            01/01/70 00:00      
            What stops?            01/01/70 00:00      
               timer isr stops            01/01/70 00:00      
                  Hunting down the ghost            01/01/70 00:00      
   Using different banks            01/01/70 00:00      
      Can't be            01/01/70 00:00      
         stack            01/01/70 00:00      
            more on ISRs            01/01/70 00:00      
         DS5240 has a 1k stack.            01/01/70 00:00      
            but are you using it            01/01/70 00:00      
               Stack            01/01/70 00:00      
   ISRs with Own Register Banks.            01/01/70 00:00      
      Good Questions on ISR's            01/01/70 00:00      
         Shared Data            01/01/70 00:00      
         Not a given            01/01/70 00:00      
            Variable in isr            01/01/70 00:00      
               Sometimes true            01/01/70 00:00      
                  Atomic Operations            01/01/70 00:00      
                     re explosive bytes            01/01/70 00:00      
                        Common Solutions            01/01/70 00:00      
                           Stop's the timer            01/01/70 00:00      
                              Code            01/01/70 00:00      
                        Explosions everywhere            01/01/70 00:00      
                           atomic explosions            01/01/70 00:00      
                              Unreal Time Explosions            01/01/70 00:00      
               Look at the ASM            01/01/70 00:00      
         I have had a very similar problem            01/01/70 00:00      
      ASM instructions & USING            01/01/70 00:00      
         Please do tell us....            01/01/70 00:00      
            Do I really have to?            01/01/70 00:00      
            Brian, Michael            01/01/70 00:00      
               ASM instructions & USING            01/01/70 00:00      
         probably not the case here            01/01/70 00:00      

Back to Subject List