setend
Set Endianness
SETEND <endian>
Sets the endianness for data accesses (BE/LE).
Pseudocode Operation
if endian == 'BE' then
CPSR.E ← 1
else if endian == 'LE' then
CPSR.E ← 0
Example
SETEND endian
Encoding
Binary Layout
111100010000
31:20
00
19:18
0
17
1
16
0
15
0
14
0
13
0
12
0
11
0
10
E
9
0
8
0
7
0
6
0
5
00000
4:0
Operands
-
endian
BE/LE
Reference
View in Arm A64 ISA Reference ↗
Arm AArch32 ISA
Instruction Forms
| Encoding | Instruction | ISA | Bit pattern | ||
|---|---|---|---|---|---|
| 0xF1010000 | SETEND{<q>} <endian_specifier> | A32 | 111100010000 | 00 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | E | 0 | 0 | 0 | 0 | 00000 | ||
| 0xB650 | SETEND{<q>} <endian_specifier> | T32 | 1011011001 | 0 | 1 | E | 000 |
Description
Set Endianness writes a new value to PSTATE.E.
Operation
EncodingSpecificOperations(); AArch32.CheckSETENDEnabled(); PSTATE.E = if set_bigend then '1' else '0';