Browse Source

* fixed assembler errors

florian 22 years ago
parent
commit
358cc9ab64
1 changed files with 14 additions and 11 deletions
  1. 14 11
      rtl/powerpc/sysutilp.inc

+ 14 - 11
rtl/powerpc/sysutilp.inc

@@ -24,9 +24,9 @@ function InterLockedDecrement (var Target: integer) : Integer; assembler;
 { side-effect: target := target-1 }
 { side-effect: target := target-1 }
 asm
 asm
 InterLockedDecLoop:
 InterLockedDecLoop:
-        lwarx   r0,0(r3)
+        lwarx   r0,r0,r3
         subi    r0,r0,1
         subi    r0,r0,1
-        stwcx.  r0,0(r3)
+        stwcx.  r0,r0,r3
         bne     InterLockedDecLoop
         bne     InterLockedDecLoop
         mr      r3,r0
         mr      r3,r0
 end;
 end;
@@ -38,9 +38,9 @@ function InterLockedIncrement (var Target: integer) : Integer; assembler;
 { side-effect: target := target+1 }
 { side-effect: target := target+1 }
 asm
 asm
 InterLockedIncLoop:
 InterLockedIncLoop:
-        lwarx   r0,0(r3)
+        lwarx   r0,r0,r3
         addi    r0,r0,1
         addi    r0,r0,1
-        stwcx.  r0,0(r3)
+        stwcx.  r0,r0,r3
         bne     InterLockedIncLoop
         bne     InterLockedIncLoop
         mr      r3,r0
         mr      r3,r0
 end;
 end;
@@ -52,8 +52,8 @@ function InterLockedExchange (var Target: integer;Source : integer) : Integer; a
 { side-effect: target := source                 }
 { side-effect: target := source                 }
 asm
 asm
 InterLockedXchgLoop:
 InterLockedXchgLoop:
-        lwarx   r0,0(r3)
-        stwcx.  r4,0(r3)
+        lwarx   r0,r0,r3
+        stwcx.  r4,r0,r3
         bne     InterLockedXchgLoop
         bne     InterLockedXchgLoop
         mr      r3,r0
         mr      r3,r0
 end;
 end;
@@ -64,18 +64,21 @@ function InterLockedExchangeAdd (var Target: integer;Source : integer) : Integer
 { output: target in r3                          }
 { output: target in r3                          }
 { side-effect: target := target+source          }
 { side-effect: target := target+source          }
 asm
 asm
-InterLockedXchgLoop:
-        lwarx   r0,0(r3)
+InterLockedXchgAddLoop:
+        lwarx   r0,r0,r3
         add     r0,r0,r4
         add     r0,r0,r4
-        stwcx.  r0,0(r3)
-        bne     InterLockedXchgLoop
+        stwcx.  r0,r0,r3
+        bne     InterLockedXchgAddLoop
         sub     r3,r0,r4
         sub     r3,r0,r4
 end;
 end;
 
 
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.2  2002-09-07 16:01:26  peter
+  Revision 1.3  2003-04-24 12:13:23  florian
+    * fixed assembler errors
+
+  Revision 1.2  2002/09/07 16:01:26  peter
     * old logs removed and tabs fixed
     * old logs removed and tabs fixed
 
 
 }
 }