Freescale Semiconductor SC140 Subnc.W, Subnc.w #$15,d0, Dn #s16 → Dn, SUBNC.W #s16,Dn

Models: SC140

1 760
Download 760 pages 48.94 Kb
Page 712
Image 712

SUBNC.W

SUBNC.W

Subtract Without Changing

SUBNC.W

 

the Carry Bit (DALU)

 

Operation

Assembler Syntax

 

Dn – #s16 → Dn

SUBNC.W #s16,Dn {–215

s16 < 215}

Description

 

 

SUBNC.W #s16,Dn

 

 

Subtracts an immediate signed 16-bit value from a source data register (Dn) and stores the result in the destination data register (Dn). The first operand is a 16-bit immediate data that is interpreted as a signed integer. The 16 bits are sign-extended to form a 32-bit operand. The carry bit is not affected by this instruction.

Status and Conditions that Affect Instruction

Register Address

Bit Name

Description

SR[2]

SM

If set, selects 32-bit arithmetic saturation mode.

SR[5:4]

S[1:0]

Scaling mode bits determine which bits in the result are used in the Ln

 

 

bit calculation.

Status and Conditions Changed by Instruction

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.

Example

subnc.w #$15,d0

Register/Memory Address

SR

Immediate

L0:D0

EMR

Before

$00E0 0000

$0015

$0:$00 0000 0010

After

$00E0 0000

$0:$FF FFFF FFFB

$0000 0000

A-398

SC140 DSP Core Reference Manual

Page 712
Image 712
Freescale Semiconductor SC140 specifications Subnc.W, Subnc.w #$15,d0, Dn #s16 → Dn, SUBNC.W #s16,Dn