]> gitweb.factorcode.org Git - factor.git/commitdiff
arm: work
authorDoug Coleman <doug.coleman@gmail.com>
Tue, 16 Mar 2021 00:59:51 +0000 (19:59 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Fri, 17 Jun 2022 22:17:37 +0000 (17:17 -0500)
basis/bootstrap/assembler/arm.64.factor
basis/cpu/arm/assembler/assembler.factor

index e10d57705679bb13887f0c7b8e24de4250c1fae9..f870742c80aa536ad2fbc96ba00610292a2d149d 100644 (file)
@@ -300,9 +300,23 @@ big-endian off
         ! vm-reg "end_callback" jit-call-1arg
 
         [
+
+            ! write()
+            ! 68 X8 MOVwi64
+            ! X2 MOVwi64
+            ! 0 SVC
+
+            ! exit(42)
+            9999 BRK
+            42 X0 MOVwi64
+            93 X8 MOVwi64
+            0 SVC
+
+            
+
             ! Rn Rd MOVr64
-            arg1 arg2 MOVr64
-            vm-reg "begin_callback" jit-call-1arg
+            arg1 arg2 MOVr64
+            vm-reg "begin_callback" jit-call-1arg
 
             ! return-reg arg1 MOVr64 ! arg1 is return
             ! jit-call-quot
index d1d92fb8bb23a48d3412f264079f921a7d4235cd..ecb542f6ed1766958186aa985bf88d879b866269 100644 (file)
@@ -136,3 +136,5 @@ ERROR: imm-out-of-range imm n ;
 : ADCS32 ( Rm Rn Rd -- ) ADCS32-encode >out ;
 : ADC64 ( Rm Rn Rd -- ) ADC64-encode >out ;
 : ADCS64 ( Rm Rn Rd -- ) ADCS64-encode >out ;
+
+: BRK ( imm16 -- ) BRK-encode >out ;