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