- 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

@ -2,29 +2,32 @@
*/
#include "tchar.h"
#include <reactos/asm.h>
.globl _tcsnlen
PUBLIC _tcsnlen
.code
_tcsnlen:
push %edi
mov 0x8(%esp), %edi
mov 0xC(%esp), %ecx
xor %eax, %eax
test %ecx, %ecx
jz .L1
mov %ecx, %edx
push edi
mov edi, [esp + 8]
mov ecx, [esp + 12]
xor eax, eax
test ecx, ecx
jz .L1
mov edx, ecx
cld
cld
repne _tscas
repne _tscas
sete %al
sub %ecx, %edx
sub %eax, %edx
mov %edx, %eax
sete al
sub edx, ecx
sub edx, eax
mov eax, edx
.L1:
pop %edi
ret
pop edi
ret
END
/* EOF */