]> Git Repo - binutils.git/blob - sim/testsuite/arm/misaligned1.ms
Automatic date update in version.in
[binutils.git] / sim / testsuite / arm / misaligned1.ms
1 # Test LDR instructions with offsets misaligned by 1 byte.
2 # mach(): all
3
4         .macro invalid
5 # This is "undefined" but it's not properly decoded yet.
6         .word 0x07ffffff
7 # This is stc which isn't recognized yet.
8         stc 0,cr0,[r0]
9         .endm
10
11         .global _start
12 _start:
13 # Run some simple insns to confirm the engine is at least working.
14         nop
15
16 # Skip over output text.
17         bl do_test
18
19 pass:
20         .asciz "pass\n"
21         .p2align 2
22
23 do_test:
24         mov r4, r14
25         bl continue
26 word1:
27         .word 0x5555
28 continue:
29         ldr r6, [r14, #1]
30         ldr r7, word2
31         cmp r6, r7
32         # Failed.
33         bne done
34
35 output_next:
36 # Output a character (in arm mode).
37         mov r0,#3
38         mov r1,r4
39         swi #0x123456
40
41 # Load next character, see if done.
42         add r4,r4,#1
43         sub r3,r3,r3
44         ldrb r5,[r4,r3]
45         teq r5,#0
46         bne output_next
47
48 done:
49         mov r0,#0x18
50         ldr r1,exit_code
51         swi #0x123456
52
53 # If that fails, try to die with an invalid insn.
54         invalid
55
56 exit_code:
57         .word 0x20026
58         .word 0xFFFFFFFF
59 word2:
60         .word 0x55000055
61         .word 0xFFFFFFFF
This page took 0.02672 seconds and 4 git commands to generate.