home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.asm.x86      Ahh, the lost art of x86 assembly      4,675 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 3,798 of 4,675   
   James Harris to All   
   Fast conversion to a boolean of 0 or 1   
   06 Mar 19 19:37:35   
   
   From: james.harris.1@nospicedham.gmail.com   
      
   A small programming challenge if you are interested, just for fun.   
      
   Say we want any value other than 0 in EAX to be reduced to 1 - e.g. so   
   that if non-zero means true but we want true to be 1.   
      
   Is there a faster solution than the naive   
      
        cmp eax, 0   
        je done   
        mov eax, 1   
      done:   
      
   Naturally, the speed of that will depend on how predictable the input   
   values are. Taking into account the usual suspect characteristics of x86   
   CPUs is there a generally faster solution?   
      
   I can think of three bit-twiddling ways but I'm not sure they would be   
   faster than the above. In fact, I think they might be slower. In any   
   case I'd be interested to see what others think. I suspect some of you   
   may already have a preferred solution.   
      
   So, any suggestions?   
      
      
   --   
   James Harris   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca