Xilinx MicroBlaze Reference Manual page 284

Hide thumbs Also See for MicroBlaze:
Table of Contents

Advertisement

sh
Store Halfword
rD, rA, rB
sh
shr
rD, rA, rB
rD, rA, rB
shea
1 1 0 1 0 1
0
6
Description
Stores the contents of the least significant halfword of register rD, into the halfword aligned memory
location that results from adding the contents of registers rA and rB.
If the R bit is set, a halfword reversed memory location is used and the two bytes in the halfword are
reversed, storing data with the opposite endianness of the endianness defined by the E bit (if virtual
protected mode is enabled).
If the EA bit is set, an extended address is used, formed by concatenating rA and rB instead of adding
them.
A data TLB miss exception occurs if virtual protected mode is enabled, and a valid translation entry
corresponding to the address is not found in the TLB.
A data storage exception occurs if virtual protected mode is enabled, and access is prevented by no-
access-allowed or read-only zone protection. No-access-allowed can only occur in user mode.
An unaligned data access exception occurs if the least significant bit in the address is not zero.
A privileged instruction error occurs if the EA bit is set, Physical Address Extension (PAE) is enabled,
and the instruction is not explicitly allowed.
Pseudocode
if EA = 1 then
← (
Addr
rA) & (rB)
else
Addr
(rA) + (rB)
if TLB_Miss(Addr) and MSR[VM] = 1 then
ESR[EC]
10010;ESR[S]
MSR[UMS]
else if Access_Protected(Addr) and MSR[VM] = 1 then
ESR[EC]
MSR[UMS]
else if Addr[31]
ESR[EC]
else
Mem(Addr)
MicroBlaze Processor Reference Guide
UG984 (v2018.2) June 21, 2018
rD
rA
11
1
MSR[UM]; MSR[VMS]
10000;ESR[S]
1; ESR[DIZ]
MSR[UM]; MSR[VMS]
MSR[VM]; MSR[UM]
0 then
00001; ESR[W]
0; ESR[S]
(rD)[16:31]
www.xilinx.com
Chapter 5: MicroBlaze Instruction Set Architecture
rB
0 R 0 EA 0 0 0 0 0 0 0
16
21
MSR[VM]; MSR[UM]
0; MSR[VM]
No-access-allowed
0; MSR[VM]
1; ESR[Rx]
0
0
rD
Send Feedback
31
285

Advertisement

Table of Contents
loading

Table of Contents