Xilinx MicroBlaze Reference Manual page 273

Hide thumbs Also See for MicroBlaze:
Table of Contents

Advertisement

rsub
Arithmetic Reverse Subtract
rD, rA, rB
rsub
rsubc
rD, rA, rB
rD, rA, rB
rsubk
rsubkc
rD, rA, rB
0 0 0 K C 1
0
6
Description
The contents of register rA is subtracted from the contents of register rB and the result is placed into
register rD. Bit 3 of the instruction (labeled as K in the figure) is set to one for the mnemonic rsubk.
Bit 4 of the instruction (labeled as C in the figure) is set to one for the mnemonic rsubc. Both bits are
set to one for the mnemonic rsubkc.
When an rsub instruction has bit 3 set (rsubk, rsubkc), the carry flag will Keep its previous value
regardless of the outcome of the execution of the instruction. If bit 3 is cleared (rsub, rsubc), then the
carry flag will be affected by the execution of the instruction.
When bit 4 of the instruction is set to one (rsubc, rsubkc), the content of the carry flag (MSR[C]) affects
the execution of the instruction. When bit 4 is cleared (rsub, rsubk), the content of the carry flag does
not affect the execution of the instruction (providing a normal subtraction).
Pseudocode
if C = 0 then
(rD)
(rB) +
else
(rD)
(rB) +
if K = 0 then
MSR[C]
CarryOut
Registers Altered
rD
MSR[C]
Latency
1 cycle
Note
In subtractions, Carry = (Borrow). When the Carry is set by a subtraction, it means that there is no
Borrow, and when the Carry is cleared, it means that there is a Borrow.
MicroBlaze Processor Reference Guide
UG984 (v2018.2) June 21, 2018
Subtract
Subtract with Carry
Subtract and Keep Carry
Subtract with Carry and Keep Carry
rD
rA
11
(rA) + 1
(rA)
+ MSR[C]
www.xilinx.com
Chapter 5: MicroBlaze Instruction Set Architecture
rB
0 0 0 0 0 0 0 0 0 0 0
16
21
31
274
Send Feedback

Advertisement

Table of Contents
loading

Table of Contents