Subtract and round (dalu), Operation assembler syntax – Freescale Semiconductor StarCore SC140 User Manual

Page 698

Advertising
background image

A-384

SC140 DSP Core Reference Manual

SBR

SBR

Subtract And Round (DALU)

SBR

Description

Status and Conditions that Affect Instruction

Status and Conditions Changed by Instruction

Example

sbr d3,d0

Operation

Assembler Syntax

Rnd(Dn – Da)

→ Dn

SBR Da,Dn

SBR Da,Dn

Subtracts the first data register (Da) of a pair from the second (Dn), then rounds the result and stores the
result in the second data register (Dn). Rounding adjusts the LSB of the high part of the destination register
according to the value of the low part of the register, and then zeros the low part. The two modes of the
round function, Rnd(), are described on page A-359.

Register Address

Bit Name

Description

SR[2]

SM

If set, selects 32-bit arithmetic saturation mode.

SR[3]

RM

Rounding mode

SR[5:4]

S[1:0]

Scaling bits determine which bits in the result are used in the Ln bit
calculation and which bits are used in rounding.

Register Address

Bit Name

Description

EMR[2]

DOVF

Set if the result cannot be represented in 40 bits, or if the result
saturates to 32 bits in arithmetic saturation mode.

Ln

L

If not in arithmetic saturation mode (SR [SM] = 0), calculates and
updates the Ln bit in the destination register. If in arithmetic
saturation mode (SR [SM] = 1), clears the Ln bit in the destination
register.

Register/Memory Address

Before

After

SR

$00E0 0000

D3

$00 1539 0030

L0:D0

$0:$00 2AE7 0080

$0:$00 15AE 0000

EMR

$0000 0000

Advertising