.syntax unified

@ Loads, ARM ================================================================
.arm

@ LDR (immediate, ARM)
@ LDR (literal)
@No unpredictable or undefined combinations.

@ LDR (register)
ldr r0,[r1,pc, LSL #2]			@ Unpredictable
ldr r0,[r1,pc, LSL #2]!			@ ditto
ldr r0,[r1],pc, LSL #2			@ ditto
ldr r0,[pc,r1, LSL #2]!			@ ditto
ldr r0,[pc],r1, LSL #2			@ ditto

@ LDRB (immediate, ARM)
ldrb pc,[r0,#4]				@ Unpredictable
ldrb pc,[r0],#4				@ ditto
ldrb pc,[r0,#4]!			@ ditto

@ LDRB (literal)
ldrb pc, label				@ Unpredictable
ldrb pc,[pc,#-0]			@ ditto

@ LDRB (register)
ldrb pc,[r0,r1, LSL #2]			@ Unpredictable
ldrb pc,[r0,r1, LSL #2]!		@ ditto
ldrb pc,[r0],r1, LSL #2			@ ditto
ldrb r0,[r1,pc, LSL #2]			@ ditto
ldrb r0,[r1,pc, LSL #2]!		@ ditto
ldrb r0,[r1],pc, LSL #2			@ ditto
ldrb r0,[pc,r1, LSL #2]!		@ ditto
ldrb r0,[pc],r1, LSL #2			@ ditto

@ LDRBT
ldrbt pc,[r0],#4			@ Unpredictable
ldrbt r0,[pc],#4			@ ditto
ldrbt pc,[r0],r1, LSL #4		@ ditto
ldrbt r0,[pc],r1, LSL #4		@ ditto
ldrbt r0,[r1],pc, LSL #4		@ ditto

@ LDRD (immediate)
ldrd r0,pc,[r1,#4]			@ Unpredictable
ldrd r0,pc,[r1],#4			@ ditto
ldrd r0,pc,[r1,#4]!			@ ditto

@ LDRD (literal)
ldrd r0,pc, label			@ Unpredictable
ldrd r0,pc,[PC,#-0]			@ ditto

@ LDRD (register)
ldrd r0,pc,[r1,r2]			@ Unpredictable
ldrd r0,pc,[r1,r2]!			@ ditto
ldrd r0,pc,[r1],r2			@ ditto
ldrd r0,r1,[r2,pc]			@ ditto
ldrd r0,r1,[r2,pc]!			@ ditto
ldrd r0,r1,[r2],pc			@ ditto
ldrd r0,r1,[pc,r2]!			@ ditto
ldrd r0,r1,[pc],r2			@ ditto

@ LDREX
ldrex pc,[r0]				@ Unpredictable
ldrex r0,[pc]				@ ditto

@ LDREXB
ldrexb pc,[r0]				@ Unpredictable
ldrexb r0,[pc]				@ ditto

@ LDREXD
ldrexd r0,r1,[pc]			@ Unpredictable

@ LDREXH
ldrexh pc,[r0]				@ Unpredictable
ldrexh r0,[pc]				@ ditto

@ LDRH (immediate, ARM)
ldrh pc,[r0,#4]				@ Unpredictable
ldrh pc,[r0],#4				@ ditto
ldrh pc,[r0,#4]!			@ ditto

@ LDRH (literal)
ldrh pc, label				@ Unpredictable
ldrh pc,[pc,#-0]			@ ditto

@ LDRH (register)
ldrh pc,[r0,r1]				@ Unpredictable
ldrh pc,[r0,r1]!			@ ditto
ldrh pc,[r0],r1				@ ditto
ldrh r0,[r1,pc]				@ ditto
ldrh r0,[r1,pc]!			@ ditto
ldrh r0,[r1],pc				@ ditto
ldrh r0,[pc,r1]!			@ ditto
ldrh r0,[pc],r1				@ ditto

@ LDRHT
ldrht pc, [r0], #4			@ Unpredictable
ldrht r0, [pc], #4			@ ditto
ldrht pc, [r0], r1			@ ditto
ldrht r0, [pc], r1			@ ditto
ldrht r0, [r1], pc			@ ditto

@ LDRSB (immediate)
ldrsb pc,[r0,#4]			@ Unpredictable
ldrsb pc,[r0],#4			@ ditto
ldrsb pc,[r0,#4]!			@ ditto

@ LDRSB (literal)
ldrsb pc, label				@ Unpredictable
ldrsb pc,[pc,#-0]			@ ditto

@ LDRSB (register)
ldrsb pc,[r0,r1]			@ Unpredictable
ldrsb pc,[r0,r1]!			@ ditto
ldrsb pc,[r0],r1			@ ditto
ldrsb r0,[r1,pc]			@ ditto
ldrsb r0,[r1,pc]!			@ ditto
ldrsb r0,[r1],pc			@ ditto
ldrsb r0,[pc,r1]!			@ ditto
ldrsb r0,[pc],r1			@ ditto

@ LDRSBT
ldrsbt pc, [r0], #4			@ Unpredictable
ldrsbt r0, [pc], #4			@ ditto
ldrsbt pc, [r0], r1			@ ditto
ldrsbt r0, [pc], r1			@ ditto
ldrsbt r0, [r1], pc			@ ditto

@ LDRSH (immediate)
ldrsh pc,[r0,#4]			@ Unpredictable
ldrsh pc,[r0],#4			@ ditto
ldrsh pc,[r0,#4]!			@ ditto

@ LDRSH (literal)
ldrsh pc, label				@ Unpredictable
ldrsh pc,[pc,#-0]			@ ditto

@ LDRSH (register)
ldrsh pc,[r0,r1]			@ Unpredictable
ldrsh pc,[r0,r1]!			@ ditto
ldrsh pc,[r0],r1			@ ditto
ldrsh r0,[r1,pc]			@ ditto
ldrsh r0,[r1,pc]!			@ ditto
ldrsh r0,[r1],pc			@ ditto
ldrsh r0,[pc,r1]!			@ ditto
ldrsh r0,[pc],r1			@ ditto

@ LDRSHT
ldrsht pc, [r0], #4			@ Unpredictable
ldrsht r0, [pc], #4			@ ditto
ldrsht pc, [r0], r1			@ ditto
ldrsht r0, [pc], r1			@ ditto
ldrsht r0, [r1], pc			@ ditto

@ LDRT
ldrt pc, [r0], #4			@ Unpredictable
ldrt r0, [pc], #4			@ ditto
ldrt pc,[r0],r1, LSL #4			@ ditto
ldrt r0,[pc],r1, LSL #4			@ ditto
ldrt r0,[r1],pc, LSL #4			@ ditto

@ Stores, ARM ================================================================

@ STR (immediate, ARM)
str r0,[pc,#4]				@ Unpredictable
str r0,[pc],#4				@ ditto
str r0,[pc,#4]!				@ ditto

@ STR (register)
str r0,[r1,pc, LSL #4]			@ Unpredictable
str r0,[r1,pc, LSL #4]!			@ ditto
str r0,[r1],pc, LSL #4			@ ditto

@ STRB (immediate, ARM)
strb pc,[r0,#4]				@ Unpredictable
strb pc,[r0],#4				@ ditto
strb pc,[r0,#4]!			@ ditto
strb r0,[pc],#4				@ ditto
strb r0,[pc,#4]!			@ ditto

@ STRB (register)
strb pc,[r0,r1, LSL #4]			@ Unpredictable
strb pc,[r0,r1, LSL #4]!		@ ditto
strb pc,[r0],r1, LSL #4			@ ditto
strb r1,[r0,pc, LSL #4]			@ ditto
strb r1,[r0,pc, LSL #4]!		@ ditto
strb r1,[r0],pc, LSL #4			@ ditto
strb r0,[pc,r1, LSL #4]!		@ ditto
strb r0,[pc],r1, LSL #4			@ ditto

@ STRBT
strbt pc,[r0],#4			@ Unpredictable
strbt r0,[pc],#4			@ ditto
strbt pc,[r0],r1, LSL #4		@ ditto
strbt r0,[pc],r1, LSL #4		@ ditto
strbt r0,[r1],pc, LSL #4		@ ditto

@ STRD (immediate)
strd r0,pc,[r1,#4]			@ ditto
strd r0,pc,[r1],#4			@ ditto
strd r0,pc,[r1,#4]!			@ ditto
strd r0,r1,[pc],#4			@ ditto
strd r0,r1,[pc,#4]!			@ ditto

@STRD (register)
strd r0,pc,[r1,r2]			@ Unpredictable
strd r0,pc,[r1,r2]!			@ ditto
strd r0,pc,[r1],r2			@ ditto
strd r0,r1,[r2,pc]			@ ditto
strd r0,r1,[r2,pc]!			@ ditto
strd r0,r1,[r2],pc			@ ditto
strd r0,r1,[pc,r2]!			@ ditto
strd r0,r1,[pc],r2			@ ditto

@ STREX
strex pc,r0,[r1]			@ Unpredictable
strex r0,pc,[r1]			@ ditto
strex r0,r1,[pc]			@ ditto

@ STREXB
strexb pc,r0,[r1]			@ Unpredictable
strexb r0,pc,[r1]			@ ditto
strexb r0,r1,[pc]			@ ditto

@ STREXD
strexd pc,r0,r1,[r2]			@ Unpredictable
strexd r0,r1,r2,[pc]			@ ditto

@ STREXH
strexh pc,r0,[r1]			@ Unpredictable
strexh r0,pc,[r1]			@ ditto
strexh r0,r1,[pc]			@ ditto

@ STRH (immediate, ARM)
strh pc,[r0,#4]				@ Unpredictable
strh pc,[r0],#4				@ ditto
strh pc,[r0,#4]!			@ ditto
strh r0,[pc],#4				@ ditto
strh r0,[pc,#4]!			@ ditto

@ STRH (register)
strh pc,[r0,r1]				@ Unpredictable
strh pc,[r0,r1]!			@ ditto
strh pc,[r0],r1				@ ditto
strh r0,[r1,pc]				@ ditto
strh r0,[r1,pc]!			@ ditto
strh r0,[r1],pc				@ ditto
strh r0,[pc,r1]!			@ ditto
strh r0,[pc],r1				@ ditto

@ STRHT
strht pc, [r0], #4			@ Unpredictable
strht r0, [pc], #4			@ ditto
strht pc, [r0], r1			@ ditto
strht r0, [pc], r1			@ ditto
strht r0, [r1], pc			@ ditto

@ STRT
strt r0, [pc], #4			@ Unpredictable
strt r0, [pc],r1, LSL #4		@ ditto
strt r0, [r1],pc, LSL #4		@ ditto

@ ============================================================================

.label:
ldr r0, [r1]
