summaryrefslogtreecommitdiff
path: root/tb/sim/strex.S
blob: 5ea2b335c58ec97d7a0865e7ee0edd6b39a43e1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.global reset

reset:
	ldr   r0, =0x1000
	ldr   r1, =0x01234567
	str   r1, [r0]
	mvn   r1, r1
	str   r1, [r0, #4]
	strex r2, r0, [r0] @ Debe fallar
	ldrex r3, [r0]
	add   r0, r0, #4
	ldrex r4, [r0]
	strex r5, r3, [r0] @ Debe fallar
	sub   r0, r0, #4
	strex r6, r4, [r0] @ Debe servir
	mov   pc, lr