mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 13:13:00 +00:00
[CRT]
- 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:
parent
0d7a1c46a0
commit
a3623f23de
49 changed files with 912 additions and 918 deletions
|
@ -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 */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue