Shop OBEX P1 Docs P2 Docs Learn Events
No Subject — Parallax Forums

No Subject

lostcauzlostcauz Posts: 36
edited 2007-03-08 23:57 in General Discussion
CON
  _clkmode      = xtal1 + pll16x                     
  _xinfreq      = 5_000_000
  
OBJ
  tv : "tv_text"                                                                       

PUB main  | Num1
  Num1 := $AABBCCDD
  
  tv.start(13)  
  tv.hex(Num1,8)
  
  cognew(@rev_bytes,@Num1)                            
  
  tv.str(string(" Reversed "))  
  tv.hex(Num1,8)                                            

DAT
        org                     'Reverse bytes in long
rev_bytes
        rdlong  edx,par         'AABBCCDD
        ror     edx,#8          'DDAABBCC
        mov     eax,edx         'DDAABBCC 
        ror     edx,#16         'BBCCDDAA
        and     eax,ebx         'DD00BB00       'FF00FF00 
        and     edx,ecx         '00CC00AA       '00FF00FF
        or      eax,edx         'DDCCBBAA       'Reversed
        
        CogId   ebx 
        wrlong  eax,par         'Return result        
        CogStop ebx               
        
eax     long    0
ebx     long    $FF00FF00 
ecx     long    $00FF00FF 
edx     long    0
Sign In or Register to comment.