- Make all x86assembly ML compatible
- Remove memcpy, it was duplicated from memmove, copy the label instead
- Guard some code against compilation on msvc, as these functions are intrinsics on MSVC and cannot be implemented
- Fix some x64 assembly (don't modify stack below rsp)

svn path=/branches/cmake-bringup/; revision=49421
This commit is contained in:
Timo Kreuzer 2010-11-02 00:06:33 +00:00
parent 0d7a1c46a0
commit a3623f23de
49 changed files with 912 additions and 918 deletions

View file

@ -33,12 +33,13 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
.globl __aullshr
.intel_syntax noprefix
#include <reactos/asm.h>
PUBLIC __aullshr
/* FUNCTIONS ***************************************************************/
.code
//
// ullshr - long shift right
@ -65,13 +66,13 @@ __aullshr:
// depends only on the high order bit of edx).
//
cmp cl,64
jae short ..RETZERO
jae short .RETZERO
//
// Handle shifts of between 0 and 31 bits
//
cmp cl, 32
jae short ..MORE32
jae short .MORE32
shrd eax,edx,cl
shr edx,cl
ret
@ -79,7 +80,7 @@ __aullshr:
//
// Handle shifts of between 32 and 63 bits
//
..MORE32:
.MORE32:
mov eax,edx
xor edx,edx
and cl,31
@ -89,7 +90,9 @@ __aullshr:
//
// return 0 in edx:eax
//
..RETZERO:
.RETZERO:
xor eax,eax
xor edx,edx
ret
END