| .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 (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] |