EasyManua.ls Logo

Xilinx MicroBlaze - Page 219

Xilinx MicroBlaze
316 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
MicroBlaze Processor Reference Guide 220
UG984 (v2018.2) June 21, 2018 www.xilinx.com
Chapter 5: MicroBlaze Instruction Set Architecture
brki
Break Immediate
brki
rD, IMM
1 0 1 1 1 0 rD 0 1 1 0 0 IMM
0 6 11 16
31
Description
Branch and link to the instruction located at address value in IMM, sign-extended to 32 bits. The
current value of PC will be stored in rD. The BIP flag in the MSR will be set, except in case of a Software
Break, and the reservation bit will be cleared.
When MicroBlaze is configured to use an MMU (C_USE_MMU >= 1) this instruction is privileged,
except as a special case when “brki rD, C_BASE_VECTORS+0x8” or “brki rD,
C_BASE_VECTORS+0x18” is used to perform a Software Break. This means that, apart from the
special case, if the instruction is attempted in User Mode (MSR[UM] = 1) a Privileged Instruction
exception occurs.
As a special case, when MicroBlaze is configured to use an MMU (C_USE_MMU >= 1) and “brki rD,
C_BASE_VECTORS+0x8” or “brki rD, C_BASE_VECTORS+0x18” is used to perform a Software
Break, the Machine Status Register bits User Mode and Virtual Mode are cleared.
Pseudocode
if MSR[UM] and IMM C_BASE_VECTORS+0x8 and IMMC_BASE_VECTORS+0x18 then
ESR[EC] 00111
else
(rD)
PC
PC sext(IMM)
if IMM
0x18 then
MSR[BIP] ← 1
Reservation ← 0
if IMM = C_BASE_VECTORS+0x8 or IMM = C_BASE_VECTORS+0x18 then
MSR[UMS] MSR[UM]
MSR[UM] 0
MSR[VMS]
MSR[VM]
MSR[VM] 0
Registers Altered
rD, unless an exception is generated, in which case the register is unchanged
•PC
MSR[BIP], MSR[UM], MSR[VM]
ESR[EC], in case a privileged instruction exception is generated
Latency
3 cycles
Send Feedback

Table of Contents

Other manuals for Xilinx MicroBlaze

Related product manuals