
212
MicroBlaze Processor Reference Guide
UG081 (v14.7)
Chapter 5:
MicroBlaze Instruction Set Architecture
Registers Altered
•
rD and MSR[C], unless an exception is generated, in which case they are unchanged
•
MSR[UM], MSR[VM], MSR[UMS], MSR[VMS], if a TLB miss exception or a data storage
exception is generated
•
ESR[EC], ESR[S], if an exception is generated
•
ESR[DIZ], if a data storage exception is generated
Latency
•
1 cycle with
C_AREA_OPTIMIZED=0
•
2 cycles with
C_AREA_OPTIMIZED=1
Note
This instruction is used together with SWX to implement exclusive access, such as semaphores and
spinlocks.
The carry flag (MSR[C]) may not be set immediately (dependent on pipeline stall behavior). The
LWX instruction should not be immediately followed by an MSRCLR, MSRSET, MTS, or SRC
instruction, to ensure the correct value of the carry flag is obtained.