Browse Source

* Direct params to internal assembler

marco 25 years ago
parent
commit
f2142127d8
1 changed files with 20 additions and 17 deletions
  1. 20 17
      rtl/i386/rttip.inc

+ 20 - 17
rtl/i386/rttip.inc

@@ -23,7 +23,7 @@ asm
         push    %ecx
         push    %edx
 // decide what type it is
-        movl    12(%ebp),%ebx
+        movl    TypeInfo,%ebx
         movb    (%ebx),%al
 // This is MANIFESTLY wrong
         subb    $9,%al
@@ -62,7 +62,7 @@ asm
         addl     $4,%ebx
 // %ebx points to offset in record.
 // Us it to calculate data
-        movl    8(%ebp),%eax
+        movl    Data,%eax
         addl    (%ebx),%eax
         addl     $4,%ebx
 // push data
@@ -92,14 +92,14 @@ asm
 // calculate data
         movl    %ecx,%eax
         imull    %edx,%eax
-        addl    8(%ebp),%eax
+        addl    Data,%eax
 // push data
         pushl   %eax
         call    INITIALIZE
         jmp     .LMyArrayInitLoop
 // AnsiString handling :
 .LDoAnsiStringInit:
-        movl 8(%ebp), %eax
+        movl Data, %eax
         movl $0,(%eax)
 .LExitInitialize:
         pop     %edx
@@ -116,7 +116,7 @@ asm
         push    %ecx
         push    %edx
 // decide what type it is
-        movl    12(%ebp),%ebx
+        movl    TypeInfo,%ebx
         movb    (%ebx),%al
         subb    $9,%al
         jz      .LDoAnsiStringFinal
@@ -154,7 +154,7 @@ asm
         addl     $4,%ebx
 // %ebx points to offset.
 // Use to calculate data
-        movl    8(%ebp),%eax
+        movl    Data,%eax
         addl    (%ebx),%eax
         addl     $4,%ebx
 // push data
@@ -184,14 +184,14 @@ asm
 // calculate data
         movl    %ecx,%eax
         imull    %edx,%eax
-        addl    8(%ebp),%eax
+        addl    Data,%eax
 // push data
         pushl   %eax
         call    FINALIZE
         jmp     .LMyArrayFinalLoop
 // AnsiString handling :
 .LDoAnsiStringFinal:
-        pushl   8(%ebp)
+        pushl   Data
         call    ANSISTR_DECR_REF
 .LExitFinalize:
         pop     %edx
@@ -209,7 +209,7 @@ asm
         push    %ecx
         push    %edx
 // decide what type it is
-        movl    12(%ebp),%ebx
+        movl    TypeInfo,%ebx
         movb    (%ebx),%al
         subb    $9,%al
         jz      .LDoAnsiStringAddRef
@@ -242,7 +242,7 @@ asm
         decl    %edx
         jl      .LExitAddRef
 // Calculate data
-        movl    8(%ebp),%eax
+        movl    Data,%eax
         addl    (%ebx),%eax
         addl     $4,%ebx
 // Push type
@@ -270,14 +270,14 @@ asm
 // calculate data
         movl    %ecx,%eax
         imull    %edx,%eax
-        addl    8(%ebp),%eax
+        addl    Data,%eax
 // push data
         pushl   %eax
         call    ADDREF
         jmp     .LMyArrayAddRefLoop
 // AnsiString handling :
 .LDoAnsiStringAddRef:
-        pushl   8(%ebp)
+        pushl   Data
         call    ANSISTR_INCR_REF
 .LExitAddRef:
         pop     %edx
@@ -295,7 +295,7 @@ asm
         push    %ecx
         push    %edx
 // decide what type it is
-        movl    12(%ebp),%ebx
+        movl    TypeInfo,%ebx
         movb    (%ebx),%al
         subb    $9,%al
         jz      .LDoAnsiStringDecRef
@@ -328,7 +328,7 @@ asm
         decl    %edx
         jl      .LExitDecRef
 // Calculate data
-        movl    8(%ebp),%eax
+        movl    Data,%eax
         addl    (%ebx),%eax
         addl     $4,%ebx
 // Push type
@@ -356,14 +356,14 @@ asm
 // calculate data
         movl    %ecx,%eax
         imull    %edx,%eax
-        addl    8(%ebp),%eax
+        addl    Data,%eax
 // push data
         pushl   %eax
         call    DECREF
         jmp     .LMyArrayDecRefLoop
 // AnsiString handling :
 .LDoAnsiStringDecRef:
-        movl    8(%ebp),%eax
+        movl    Data,%eax
         pushl   %eax
         call    ANSISTR_DECR_REF
 .LExitDecRef:
@@ -375,7 +375,10 @@ end;
 
 {
   $Log$
-  Revision 1.18  2000-01-07 16:41:33  daniel
+  Revision 1.19  2000-01-11 21:11:34  marco
+   * Direct params to internal assembler
+
+  Revision 1.18  2000/01/07 16:41:33  daniel
     * copyright 2000
 
   Revision 1.17  1999/07/31 22:27:28  michael