From 1e8a7f68539e0106716877bf26a2bac77dfbbcb3 Mon Sep 17 00:00:00 2001 From: Jonas Maebe Date: Tue, 28 Mar 2000 11:14:33 +0000 Subject: [PATCH] * added missing register that is destroyed by strecopy + some destroyed register lists for procedures that didn't have one yet --- rtl/i386/strings.inc | 20 ++++++++++++-------- rtl/i386/stringss.inc | 11 +++++++---- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/rtl/i386/strings.inc b/rtl/i386/strings.inc index 791caca1ec..a13518b986 100644 --- a/rtl/i386/strings.inc +++ b/rtl/i386/strings.inc @@ -40,7 +40,7 @@ asm movsb .LStrCopyNil: movl dest,%eax -end; +end ['EAX','ECX','ESI','EDI']; function strecopy(dest,source : pchar) : pchar;assembler; @@ -65,7 +65,7 @@ asm movl dest,%eax decl %edi movl %edi,%eax -end ['EAX','ESI','EDI']; +end ['EAX','ECX','ESI','EDI']; function strlcopy(dest,source : pchar;maxlen : longint) : pchar;assembler; @@ -243,7 +243,7 @@ end ['EAX','ECX','ESI','EDI']; function strscan(p : pchar;c : char) : pchar;assembler; asm - xorl %eax,%eax + xorl %eax,%eax movl p,%edi orl %edi,%edi jz .LSTRSCAN @@ -261,7 +261,7 @@ asm movl %edi,%eax decl %eax .LSTRSCAN: -end; +end ['EAX','ECX','EDI']; function strrscan(p : pchar;c : char) : pchar;assembler; @@ -289,7 +289,7 @@ asm movl %edi,%eax incl %eax .LSTRRSCAN: -end; +end ['EAX','ECX','EDI']; function strupper(p : pchar) : pchar;assembler; @@ -311,7 +311,7 @@ asm jnz .LSTRUPPER1 .LStrUpperNil: movl p,%eax -end; +end ['EAX','ESI','EDI']; function strlower(p : pchar) : pchar;assembler; @@ -333,11 +333,15 @@ asm jnz .LSTRLOWER1 .LStrLowerNil: movl p,%eax -end; +end ['EAX','ESI','EDI']; { $Log$ - Revision 1.7 2000-02-09 16:59:29 peter + Revision 1.8 2000-03-28 11:14:33 jonas + * added missing register that is destroyed by strecopy + + some destroyed register lists for procedures that didn't have one yet + + Revision 1.7 2000/02/09 16:59:29 peter * truncated log Revision 1.6 2000/01/07 16:41:33 daniel diff --git a/rtl/i386/stringss.inc b/rtl/i386/stringss.inc index 4396b57be9..3ae9e53855 100644 --- a/rtl/i386/stringss.inc +++ b/rtl/i386/stringss.inc @@ -64,20 +64,23 @@ asm cld movl d,%edi // load destination address movl s,%esi // Load Source adress - movl %edi,%ebx // Set return value lodsb // load length in ECX movzbl %al,%ecx rep movsb xorb %al,%al // Set #0 stosb - movl %ebx,%eax // return value to EAX + movl d,%eax // return value to EAX popl %esi -end ['EDI','ESI','EBX','EAX','ECX']; +end ['EDI','EAX','ECX']; { $Log$ - Revision 1.9 2000-02-09 16:59:29 peter + Revision 1.10 2000-03-28 11:14:33 jonas + * added missing register that is destroyed by strecopy + + some destroyed register lists for procedures that didn't have one yet + + Revision 1.9 2000/02/09 16:59:29 peter * truncated log Revision 1.8 2000/01/11 22:56:57 pierre