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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
04/13/07 13:06
Read: times


 
#137155 - now stay consistent
Responding to: ???'s previous message
it might work to your needs, but if you modify your code, you need to keep in mind some things.

1. ALWAYS terminate your code. I wouldn't even trust that the assembler's END statement would properly terminate your code.

So, to be absolutely certain that your code is terminated properly, add a line that causes an endless loop. You can use "ljmp $", "ajmp $", or "sjmp $". For beginners, LJMP is the best because there are fewer restrictions when using it.

2. Check your memory. Make sure that you have enough space to store your code. It is easy to write a program that exceeds 2K.

3. Clear all the registers that could potentially screw you up later. In another words, do NOT make assumptions. Make facts. Initialize everything you use.

Here is an example.

If you had code like this:

djnz R5,$
ajmp $

and you expected R5 to count from 255 to 0, then if someone came along and pressed RESET, then your count might be off because part of the internal memory does not clear out on a reset.

So you will need to use this instead:

mov R5,#0h
djnz R5,$
ajmp $

That way, when reset is pressed, R5 will be guaranteed to have a value of 0. Now R5 can count from 255 to 0.


As for the hardware, Make sure that all connections are secure. Even a loose connection can create problems.

List of 34 messages in thread
TopicAuthorDate
RxD to LCD problems            01/01/70 00:00      
   Serial ISR            01/01/70 00:00      
   work needed.            01/01/70 00:00      
   you need to control flow            01/01/70 00:00      
      confused            01/01/70 00:00      
         this is what I mean            01/01/70 00:00      
            OK            01/01/70 00:00      
               yes            01/01/70 00:00      
            Non-useful Serial ISR            01/01/70 00:00      
               AND it's stuck            01/01/70 00:00      
                  thanks            01/01/70 00:00      
               I was going for optimization.            01/01/70 00:00      
      It's functioning            01/01/70 00:00      
         now stay consistent            01/01/70 00:00      
            Terminating code?            01/01/70 00:00      
               .            01/01/70 00:00      
                  correct terminology            01/01/70 00:00      
                  Missing the point            01/01/70 00:00      
                     i get it now            01/01/70 00:00      
                        Most, but not all            01/01/70 00:00      
                        why on earth            01/01/70 00:00      
                        if it\'s almost correct, it\'s still wrong :-)            01/01/70 00:00      
                           ok            01/01/70 00:00      
                              Not R6 and R7            01/01/70 00:00      
                                 well it happend again            01/01/70 00:00      
                                    Q.E.D.            01/01/70 00:00      
                                       One further comment is needed            01/01/70 00:00      
                              Hey            01/01/70 00:00      
                        Dangerous recommendation            01/01/70 00:00      
                           good point            01/01/70 00:00      
                              they all do            01/01/70 00:00      
                  it 'trust' the same as 'experiment'?            01/01/70 00:00      
   more issues            01/01/70 00:00      
      Joe, please read this            01/01/70 00:00      

Back to Subject List