summaryrefslogtreecommitdiff
path: root/sim/testsuite/sim/arm/hello.ms
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/sim/arm/hello.ms')
-rw-r--r--sim/testsuite/sim/arm/hello.ms91
1 files changed, 0 insertions, 91 deletions
diff --git a/sim/testsuite/sim/arm/hello.ms b/sim/testsuite/sim/arm/hello.ms
deleted file mode 100644
index b063c296d25..00000000000
--- a/sim/testsuite/sim/arm/hello.ms
+++ /dev/null
@@ -1,91 +0,0 @@
-# output(): Hello, world.\n
-# mach(): all
-
-# Emit hello world while switching back and forth between arm/thumb.
-# ??? Unfinished
-
- .macro invalid
-# This is "undefined" but it's not properly decoded yet.
- .word 0x07ffffff
-# This is stc which isn't recognized yet.
- stc 0,cr0,[r0]
- .endm
-
- .global _start
-_start:
-# Run some simple insns to confirm the engine is at least working.
- nop
-
-# Skip over output text.
-
- bl skip_output
-
-hello_text:
- .asciz "Hello, world.\n"
-
- .p2align 2
-skip_output:
-
-# Prime loop.
-
- mov r4, r14
-
-output_next:
-
-# Switch arm->thumb to output next chacter.
-# At this point r4 must point to the next character to output.
-
- adr r0, into_thumb + 1
- bx r0
-
-into_thumb:
- .thumb
-
-# Output a character.
-
- mov r0,#3 @ writec angel call
- mov r1,r4
- swi 0xab @ ??? Confirm number.
-
-# Switch thumb->arm.
-
- adr r5, back_to_arm
- bx r5
-
- .p2align 2
-back_to_arm:
- .arm
-
-# Load next character, see if done.
-
- add r4,r4,#1
- sub r3,r3,r3
- ldrb r5,[r4,r3]
- teq r5,#0
- beq done
-
-# Output a character (in arm mode).
-
- mov r0,#3
- mov r1,r4
- swi #0x123456
-
-# Load next character, see if done.
-
- add r4,r4,#1
- sub r3,r3,r3
- ldrb r5,[r4,r3]
- teq r5,#0
- bne output_next
-
-done:
- mov r0,#0x18
- ldr r1,exit_code
- swi #0x123456
-
-# If that fails, try to die with an invalid insn.
-
- invalid
-
-exit_code:
- .word 0x20026