Browse Source

Updated some old assembler.

git-svn-id: branches/laksen/spc32@28024 -
Jeppe Johansen 11 years ago
parent
commit
28d7dd40a2
2 changed files with 8 additions and 10 deletions
  1. 4 4
      rtl/embedded/spc32/spc32v1.pp
  2. 4 6
      rtl/spc32/spc32.inc

+ 4 - 4
rtl/embedded/spc32/spc32v1.pp

@@ -31,13 +31,13 @@ asm
   .init
   .init
   .globl _start
   .globl _start
 _start:
 _start:
-  ld 0x1000
-  //ldu hi16(0x1000)
+  ld lo16(_stack_top)
+  ldu hi16(_stack_top)
   st r6
   st r6
   
   
-  nul
+  ld lo16(Pascalmain)
   ldu hi16(Pascalmain)
   ldu hi16(Pascalmain)
-  jmp lo16(Pascalmain)
+  jmp 0
   .text
   .text
 end;
 end;
 
 

+ 4 - 6
rtl/spc32/spc32.inc

@@ -54,25 +54,23 @@ function get_caller_frame(framebp:pointer;addr:pointer=nil):pointer;assembler;
 {$define FPC_SYSTEM_HAS_SPTR}
 {$define FPC_SYSTEM_HAS_SPTR}
 Function Sptr : pointer;assembler;
 Function Sptr : pointer;assembler;
   asm
   asm
+    ld r6
+    st r0
   end;
   end;
 
 
 
 
 function InterLockedDecrement (var Target: longint) : longint; assembler; nostackframe;
 function InterLockedDecrement (var Target: longint) : longint; assembler; nostackframe;
   asm
   asm
-    ld -1
-    st r1
     ld r0
     ld r0
-    inc r1
+    inc -1
     st r0
     st r0
   end;
   end;
 
 
 
 
 function InterLockedIncrement (var Target: longint) : longint; assembler; nostackframe;
 function InterLockedIncrement (var Target: longint) : longint; assembler; nostackframe;
   asm
   asm
-    ld 1
-    st r1
     ld r0
     ld r0
-    inc r1
+    inc 1
     st r0
     st r0
   end;
   end;