Home | History | Annotate | Download | only in arm
      1 .syntax unified
      2 
      3 @ Loads, ARM ================================================================
      4 .arm
      5 
      6 @ LDR (immediate, ARM)
      7 @ LDR (literal)
      8 @No unpredictable or undefined combinations.
      9 
     10 @ LDR (register)
     11 ldr r0,[r1,pc, LSL #2]			@ Unpredictable
     12 ldr r0,[r1,pc, LSL #2]!			@ ditto
     13 ldr r0,[r1],pc, LSL #2			@ ditto
     14 ldr r0,[pc,r1, LSL #2]!			@ ditto
     15 ldr r0,[pc],r1, LSL #2			@ ditto
     16 
     17 @ LDRB (immediate, ARM)
     18 ldrb pc,[r0,#4]				@ Unpredictable
     19 ldrb pc,[r0],#4				@ ditto
     20 ldrb pc,[r0,#4]!			@ ditto
     21 
     22 @ LDRB (literal)
     23 ldrb pc, label				@ Unpredictable
     24 ldrb pc,[pc,#-0]			@ ditto
     25 
     26 @ LDRB (register)
     27 ldrb pc,[r0,r1, LSL #2]			@ Unpredictable
     28 ldrb pc,[r0,r1, LSL #2]!		@ ditto
     29 ldrb pc,[r0],r1, LSL #2			@ ditto
     30 ldrb r0,[r1,pc, LSL #2]			@ ditto
     31 ldrb r0,[r1,pc, LSL #2]!		@ ditto
     32 ldrb r0,[r1],pc, LSL #2			@ ditto
     33 ldrb r0,[pc,r1, LSL #2]!		@ ditto
     34 ldrb r0,[pc],r1, LSL #2			@ ditto
     35 
     36 @ LDRBT
     37 ldrbt pc,[r0],#4			@ Unpredictable
     38 ldrbt r0,[pc],#4			@ ditto
     39 ldrbt pc,[r0],r1, LSL #4		@ ditto
     40 ldrbt r0,[pc],r1, LSL #4		@ ditto
     41 ldrbt r0,[r1],pc, LSL #4		@ ditto
     42 
     43 @ LDRD (immediate)
     44 ldrd r0,pc,[r1,#4]			@ Unpredictable
     45 ldrd r0,pc,[r1],#4			@ ditto
     46 ldrd r0,pc,[r1,#4]!			@ ditto
     47 
     48 @ LDRD (literal)
     49 ldrd r0,pc, label			@ Unpredictable
     50 ldrd r0,pc,[PC,#-0]			@ ditto
     51 
     52 @ LDRD (register)
     53 ldrd r0,pc,[r1,r2]			@ Unpredictable
     54 ldrd r0,pc,[r1,r2]!			@ ditto
     55 ldrd r0,pc,[r1],r2			@ ditto
     56 ldrd r0,r1,[r2,pc]			@ ditto
     57 ldrd r0,r1,[r2,pc]!			@ ditto
     58 ldrd r0,r1,[r2],pc			@ ditto
     59 ldrd r0,r1,[pc,r2]!			@ ditto
     60 ldrd r0,r1,[pc],r2			@ ditto
     61 
     62 @ LDREX
     63 ldrex pc,[r0]				@ Unpredictable
     64 ldrex r0,[pc]				@ ditto
     65 
     66 @ LDREXB
     67 ldrexb pc,[r0]				@ Unpredictable
     68 ldrexb r0,[pc]				@ ditto
     69 
     70 @ LDREXD
     71 ldrexd r0,r1,[pc]			@ Unpredictable
     72 
     73 @ LDREXH
     74 ldrexh pc,[r0]				@ Unpredictable
     75 ldrexh r0,[pc]				@ ditto
     76 
     77 @ LDRH (immediate, ARM)
     78 ldrh pc,[r0,#4]				@ Unpredictable
     79 ldrh pc,[r0],#4				@ ditto
     80 ldrh pc,[r0,#4]!			@ ditto
     81 
     82 @ LDRH (literal)
     83 ldrh pc, label				@ Unpredictable
     84 ldrh pc,[pc,#-0]			@ ditto
     85 
     86 @ LDRH (register)
     87 ldrh pc,[r0,r1]				@ Unpredictable
     88 ldrh pc,[r0,r1]!			@ ditto
     89 ldrh pc,[r0],r1				@ ditto
     90 ldrh r0,[r1,pc]				@ ditto
     91 ldrh r0,[r1,pc]!			@ ditto
     92 ldrh r0,[r1],pc				@ ditto
     93 ldrh r0,[pc,r1]!			@ ditto
     94 ldrh r0,[pc],r1				@ ditto
     95 
     96 @ LDRHT
     97 ldrht pc, [r0], #4			@ Unpredictable
     98 ldrht r0, [pc], #4			@ ditto
     99 ldrht pc, [r0], r1			@ ditto
    100 ldrht r0, [pc], r1			@ ditto
    101 ldrht r0, [r1], pc			@ ditto
    102 
    103 @ LDRSB (immediate)
    104 ldrsb pc,[r0,#4]			@ Unpredictable
    105 ldrsb pc,[r0],#4			@ ditto
    106 ldrsb pc,[r0,#4]!			@ ditto
    107 
    108 @ LDRSB (literal)
    109 ldrsb pc, label				@ Unpredictable
    110 ldrsb pc,[pc,#-0]			@ ditto
    111 
    112 @ LDRSB (register)
    113 ldrsb pc,[r0,r1]			@ Unpredictable
    114 ldrsb pc,[r0,r1]!			@ ditto
    115 ldrsb pc,[r0],r1			@ ditto
    116 ldrsb r0,[r1,pc]			@ ditto
    117 ldrsb r0,[r1,pc]!			@ ditto
    118 ldrsb r0,[r1],pc			@ ditto
    119 ldrsb r0,[pc,r1]!			@ ditto
    120 ldrsb r0,[pc],r1			@ ditto
    121 
    122 @ LDRSBT
    123 ldrsbt pc, [r0], #4			@ Unpredictable
    124 ldrsbt r0, [pc], #4			@ ditto
    125 ldrsbt pc, [r0], r1			@ ditto
    126 ldrsbt r0, [pc], r1			@ ditto
    127 ldrsbt r0, [r1], pc			@ ditto
    128 
    129 @ LDRSH (immediate)
    130 ldrsh pc,[r0,#4]			@ Unpredictable
    131 ldrsh pc,[r0],#4			@ ditto
    132 ldrsh pc,[r0,#4]!			@ ditto
    133 
    134 @ LDRSH (literal)
    135 ldrsh pc, label				@ Unpredictable
    136 ldrsh pc,[pc,#-0]			@ ditto
    137 
    138 @ LDRSH (register)
    139 ldrsh pc,[r0,r1]			@ Unpredictable
    140 ldrsh pc,[r0,r1]!			@ ditto
    141 ldrsh pc,[r0],r1			@ ditto
    142 ldrsh r0,[r1,pc]			@ ditto
    143 ldrsh r0,[r1,pc]!			@ ditto
    144 ldrsh r0,[r1],pc			@ ditto
    145 ldrsh r0,[pc,r1]!			@ ditto
    146 ldrsh r0,[pc],r1			@ ditto
    147 
    148 @ LDRSHT
    149 ldrsht pc, [r0], #4			@ Unpredictable
    150 ldrsht r0, [pc], #4			@ ditto
    151 ldrsht pc, [r0], r1			@ ditto
    152 ldrsht r0, [pc], r1			@ ditto
    153 ldrsht r0, [r1], pc			@ ditto
    154 
    155 @ LDRT
    156 ldrt pc, [r0], #4			@ Unpredictable
    157 ldrt r0, [pc], #4			@ ditto
    158 ldrt pc,[r0],r1, LSL #4			@ ditto
    159 ldrt r0,[pc],r1, LSL #4			@ ditto
    160 ldrt r0,[r1],pc, LSL #4			@ ditto
    161 
    162 
    163 @ Stores, ARM ================================================================
    164 
    165 @ STR (immediate, ARM)
    166 str r0,[pc],#4				@ Unpredictable
    167 str r0,[pc,#4]!				@ ditto
    168 
    169 @ STR (register)
    170 str r0,[r1,pc, LSL #4]			@ Unpredictable
    171 str r0,[r1,pc, LSL #4]!			@ ditto
    172 str r0,[r1],pc, LSL #4			@ ditto
    173 
    174 @ STRB (immediate, ARM)
    175 strb pc,[r0,#4]				@ Unpredictable
    176 strb pc,[r0],#4				@ ditto
    177 strb pc,[r0,#4]!			@ ditto
    178 strb r0,[pc],#4				@ ditto
    179 strb r0,[pc,#4]!			@ ditto
    180 
    181 @ STRB (register)
    182 strb pc,[r0,r1, LSL #4]			@ Unpredictable
    183 strb pc,[r0,r1, LSL #4]!		@ ditto
    184 strb pc,[r0],r1, LSL #4			@ ditto
    185 strb r1,[r0,pc, LSL #4]			@ ditto
    186 strb r1,[r0,pc, LSL #4]!		@ ditto
    187 strb r1,[r0],pc, LSL #4			@ ditto
    188 strb r0,[pc,r1, LSL #4]!		@ ditto
    189 strb r0,[pc],r1, LSL #4			@ ditto
    190 
    191 @ STRBT
    192 strbt pc,[r0],#4			@ Unpredictable
    193 strbt r0,[pc],#4			@ ditto
    194 strbt pc,[r0],r1, LSL #4		@ ditto
    195 strbt r0,[pc],r1, LSL #4		@ ditto
    196 strbt r0,[r1],pc, LSL #4		@ ditto
    197 
    198 @ STRD (immediate)
    199 strd r0,pc,[r1,#4]			@ ditto
    200 strd r0,pc,[r1],#4			@ ditto
    201 strd r0,pc,[r1,#4]!			@ ditto
    202 strd r0,r1,[pc],#4			@ ditto
    203 strd r0,r1,[pc,#4]!			@ ditto
    204 
    205 @STRD (register)
    206 strd r0,pc,[r1,r2]			@ Unpredictable
    207 strd r0,pc,[r1,r2]!			@ ditto
    208 strd r0,pc,[r1],r2			@ ditto
    209 strd r0,r1,[r2,pc]			@ ditto
    210 strd r0,r1,[r2,pc]!			@ ditto
    211 strd r0,r1,[r2],pc			@ ditto
    212 strd r0,r1,[pc,r2]!			@ ditto
    213 strd r0,r1,[pc],r2			@ ditto
    214 
    215 @ STREX
    216 strex pc,r0,[r1]			@ Unpredictable
    217 strex r0,pc,[r1]			@ ditto
    218 strex r0,r1,[pc]			@ ditto
    219 
    220 @ STREXB
    221 strexb pc,r0,[r1]			@ Unpredictable
    222 strexb r0,pc,[r1]			@ ditto
    223 strexb r0,r1,[pc]			@ ditto
    224 
    225 @ STREXD
    226 strexd pc,r0,r1,[r2]			@ Unpredictable
    227 strexd r0,r1,r2,[pc]			@ ditto
    228 
    229 @ STREXH
    230 strexh pc,r0,[r1]			@ Unpredictable
    231 strexh r0,pc,[r1]			@ ditto
    232 strexh r0,r1,[pc]			@ ditto
    233 
    234 @ STRH (immediate, ARM)
    235 strh pc,[r0,#4]				@ Unpredictable
    236 strh pc,[r0],#4				@ ditto
    237 strh pc,[r0,#4]!			@ ditto
    238 strh r0,[pc],#4				@ ditto
    239 strh r0,[pc,#4]!			@ ditto
    240 
    241 @ STRH (register)
    242 strh pc,[r0,r1]				@ Unpredictable
    243 strh pc,[r0,r1]!			@ ditto
    244 strh pc,[r0],r1				@ ditto
    245 strh r0,[r1,pc]				@ ditto
    246 strh r0,[r1,pc]!			@ ditto
    247 strh r0,[r1],pc				@ ditto
    248 strh r0,[pc,r1]!			@ ditto
    249 strh r0,[pc],r1				@ ditto
    250 
    251 @ STRHT
    252 strht pc, [r0], #4			@ Unpredictable
    253 strht r0, [pc], #4			@ ditto
    254 strht pc, [r0], r1			@ ditto
    255 strht r0, [pc], r1			@ ditto
    256 strht r0, [r1], pc			@ ditto
    257 
    258 @ STRT
    259 strt r0, [pc], #4			@ Unpredictable
    260 strt r0, [pc],r1, LSL #4		@ ditto
    261 strt r0, [r1],pc, LSL #4		@ ditto
    262 
    263 @ ============================================================================
    264 
    265 .label:
    266 ldr r0, [r1]
    267