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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
09/23/04 14:11
Read: times


 
#78012 - RE: Modifying the program counter
Responding to: ???'s previous message
JMPTAB:
	AJMP	OPTION0
	AJMP	OPTION1
	AJMP	OPTION2
    ...
	AJMP	OPTIONN


I hate AJMPS, they tend to make havoc just as you are in the middle of chasing some pesky little bug and insert 5 lines of code to do so.

Multiply by 3 and LJMP as Slobodan suggest is the right solution when most "case processors" are lenghty, but when most "case procesors" are fairly short it is not the most effective.

In such cases my preferred way is:
JMPTAB:  sjmp opt1
         sjmp opt2
         ....
         sjmp opt10
         sjmp opt11_crutch

opt11 crutch: ljmp opt11
opt1:
...
...

opt2:
...
... 

opt10:
...
... 

opt11:
...
...


Of course, the few cases that need crutches are not very effective, but if most can be reached with a SJMP, the above is still better than the lenghty multiply by 3 and the LJMP table. SJMP + LJMP still is faster than MOV b,#3 + MUL

Erik

List of 14 messages in thread
TopicAuthorDate
Modifying the program counter            01/01/70 00:00      
   RE: Modifying the program counter            01/01/70 00:00      
      RE: Modifying the program counter            01/01/70 00:00      
         RE: Modifying the program counter            01/01/70 00:00      
            RE: Modifying the program counter            01/01/70 00:00      
   RE: Modifying the program counter            01/01/70 00:00      
      RE: Modifying the program counter            01/01/70 00:00      
         RE: Modifying the program counter            01/01/70 00:00      
   RE: Modifying the program counter            01/01/70 00:00      
      RE: Modifying the program counter            01/01/70 00:00      
         RE: Modifying the program counter            01/01/70 00:00      
   RE: Modifying the program counter            01/01/70 00:00      
      RE: Modifying the program counter            01/01/70 00:00      
      RE: Modifying the program counter            01/01/70 00:00      

Back to Subject List