src/stdlib/SDL_stdlib.c
changeset 2760 02aa80d7905f
parent 2735 204be4fc2726
child 2781 5651642f4a78
equal deleted inserted replaced
2759:95fccd9bf262 2760:02aa80d7905f
   638     /* *INDENT-ON* */
   638     /* *INDENT-ON* */
   639 }
   639 }
   640 
   640 
   641 void
   641 void
   642 __declspec(naked)
   642 __declspec(naked)
       
   643 _allshr()
       
   644 {
       
   645     /* *INDENT-OFF* */
       
   646     __asm {
       
   647         cmp         cl,40h
       
   648         jae         RETZERO
       
   649         cmp         cl,20h
       
   650         jae         MORE32
       
   651         shrd        eax,edx,cl
       
   652         sar         edx,cl
       
   653         ret
       
   654 MORE32:
       
   655         mov         eax,edx
       
   656         xor         edx,edx
       
   657         and         cl,1Fh
       
   658         sar         eax,cl
       
   659         ret
       
   660 RETZERO:
       
   661         xor         eax,eax
       
   662         xor         edx,edx
       
   663         ret
       
   664     }
       
   665     /* *INDENT-ON* */
       
   666 }
       
   667 
       
   668 void
       
   669 __declspec(naked)
   643 _aullshr()
   670 _aullshr()
   644 {
   671 {
   645     /* *INDENT-OFF* */
   672     /* *INDENT-OFF* */
   646     __asm {
   673     __asm {
   647         cmp         cl,40h
   674         cmp         cl,40h