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
 
Format System
Opcode 0xF1010000
Extension A32 (System)

Operands

  • endian
    BE/LE

Related

Other forms of setend

  • setend Set Endianness (Thumb)

More in A32 (System)

Reference

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';