WRMSK_EXPSTATE — Write State EXPSTATE With Mask

Instruction Word

Slot
Inst
6
3
6
2
6
1
6
0
5
9
5
8
5
7
5
6
5
5
5
4
5
3
5
2
5
1
5
0
4
9
4
8
4
7
4
6
4
5
4
4
4
3
4
2
4
1
4
0
3
9
3
8
3
7
3
6
3
5
3
4
3
3
3
2
3
1
3
0
2
9
2
8
2
7
2
6
2
5
2
4
2
3
2
2
2
1
2
0
1
9
1
8
1
7
1
6
1
5
1
4
1
3
1
2
1
1
1
0
9876543210
Format x24 - 24 bit(s) 0
WRMSK_EXPSTATE 000011100010 0000
t 3210
s 3210

Assembler Syntax

WRMSK_EXPSTATE at, as

C Syntax

#include <xtensa/tie/xt_ioports.h>

extern void WRMSK_EXPSTATE(unsigned art, unsigned ars);

Description

(please consult the Xtensa ® Instruction Set Architecture Reference Manual for any cross references and additional information)

WRMSK_EXPSTATE writes to the exported state EXPSTATE, the bit pattern defined by the value in address register at with address register as acting as a bit pattern mask. For every bit that is a 1 in the mask as, the corresponding bit of state EXPSTATE is updated with the value of the corresponding bit in the data register at. For every bit that is a 0 in the mask as, the corresponding bit of state EXPSTATE is unchanged.

Operation

EXPSTATE ← (AR[s] & AR[t]) | (EXPSTATE & ~AR[s])

Exceptions

  • EveryInstR Group
  • Implementation Pipeline

    In Out
    EXPSTATE Estage, art Estage, ars Estage EXPSTATE Estage

    Protos that use WRMSK_EXPSTATE

    proto WRMSK_EXPSTATE { in uint32 art, in uint32 ars }{}{
    WRMSK_EXPSTATE art, ars;
    }