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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/28/07 02:11
Read: times


 
#139911 - Deterministic Way
Responding to: ???'s previous message
Well....I have to admit I tried and tried to find a way to reduce Russ's algorithm to less than 11 bytes. I found 4 or 5 other ways to code to 11 bytes but none at 10. Oh well on the otherhand......

Sometimes it is desirable to code things in a way that the code path execution time is always the same length of time. (This can reduce jitter in certain types of applications).

I made a new version that achieves the deterministic goal and also has a faster execution rate for most cases of the input pattern.

0006                  24     Quiz13:
0006 F8               25             mov     r0, a  
0007 540F             26             anl     a, #0Fh
0009 2409             27             add     a, #9
000B 83               28             movc    a, @a+pc
000C C8               29             xch     a, r0
000D C4               30             swap    a
000E 540F             31             anl     a, #0Fh
0010 2402             32             add     a, #2
0012 83               33             movc    a, @a+pc
0013 28               34             add     a, r0
0014 22               35             ret
                      36     ;
0015 00               37             db      0       ; 0 - 0000
0016 01               38             db      1       ; 1 - 0001
0017 01               39             db      1       ; 2 - 0010
0018 02               40             db      2       ; 3 - 0011
0019 01               41             db      1       ; 4 - 0100
001A 02               42             db      2       ; 5 - 0101
001B 02               43             db      2       ; 6 - 0110
001C 03               44             db      3       ; 7 - 0111
001D 01               45             db      1       ; 8 - 1000
001E 02               46             db      2       ; 9 - 1001
001F 02               47             db      2       ; A - 1010
0020 03               48             db      3       ; B - 1011
0021 02               49             db      2       ; C - 1100
0022 03               50             db      3       ; D - 1101
0023 03               51             db      3       ; E - 1110
0024 04               52             db      4       ; F - 1111


Michael Karas


List of 16 messages in thread
TopicAuthorDate
weekend-end quiz            01/01/70 00:00      
   How about this?            01/01/70 00:00      
      @#$%^&            01/01/70 00:00      
   Two equivalent functions            01/01/70 00:00      
      OK, I admit, 2:1            01/01/70 00:00      
         Nice variation!            01/01/70 00:00      
            shortest?            01/01/70 00:00      
               Eleven bytes. No tricks.            01/01/70 00:00      
                  The wayward path followed...            01/01/70 00:00      
   Deterministic Way            01/01/70 00:00      
      Yet another tweak            01/01/70 00:00      
         OMG....            01/01/70 00:00      
            You are forgiven            01/01/70 00:00      
   commented            01/01/70 00:00      
      Nastiness density increased            01/01/70 00:00      
   That looks like my assembly code.            01/01/70 00:00      

Back to Subject List