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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
07/29/05 20:55
Read: times


 
Msg Score: 0
 +1 Good Question
 -1 Message Not Useful
#98453 - This weeks puzzle
This weeks puzzle

Little Joe who loves C reads in many posts that a delay routine should be made in assembler and decides to make one.
He has a C function definition:
void Delay (unsigned short count);

He finds out correctly that "count" will be in R6 (MSB) and R7 (LSB) when "Delay" is called

so little Joe writes the following routine
Delay:
;; here 
loop: djnz r7,loop
      djnz r6,loop
      ret
Little Joe finds out that this works correctly in most cases, but fails for some values of "count". He then adds some code where ";;here" is and the code works in all cases

What code did little Joe add?

Erik

PS: the same measures should be taken every time there is a multibyte loop in asm.

List of 32 messages in thread
TopicAuthorDate
This weeks puzzle            01/01/70 00:00      
   This weeks Puzzle            01/01/70 00:00      
   its D-J-N-Z not J-N-Z-D            01/01/70 00:00      
   inc r6            01/01/70 00:00      
      Fails if R6 is Zero            01/01/70 00:00      
   in my point of view :            01/01/70 00:00      
   not correct question            01/01/70 00:00      
   LSB count value lost in first count            01/01/70 00:00      
   Setup R6/R7            01/01/70 00:00      
      why +1?            01/01/70 00:00      
   this is no fun            01/01/70 00:00      
      Thread closed            01/01/70 00:00      
   It is easy Erik!            01/01/70 00:00      
   Ok, you blew it            01/01/70 00:00      
      Not our mistake...            01/01/70 00:00      
         which was done again and again for the i            01/01/70 00:00      
            which the most of might never have noti            01/01/70 00:00      
               Well...            01/01/70 00:00      
                  well,well            01/01/70 00:00      
                  The explanation is:            01/01/70 00:00      
                     Never the intention            01/01/70 00:00      
                     Thoughts            01/01/70 00:00      
                        I really do not know            01/01/70 00:00      
                        discussion after the solution            01/01/70 00:00      
                           Agree            01/01/70 00:00      
                        Please, no sophisticated forum rules!            01/01/70 00:00      
                           agree            01/01/70 00:00      
      Never mind            01/01/70 00:00      
   My old solution:            01/01/70 00:00      
      constant            01/01/70 00:00      
         Re: constant            01/01/70 00:00      
   Re-Cap            01/01/70 00:00      

Back to Subject List