28.2.118 __builtin_sacr_16

Architecture

dsPIC33A, dsPIC33C/E/F, dsPIC30

Description

Extract a possibly shifted rounded accumulator value into a 16-bit value.

Example:

int16_t result;
volatile register int Accum asm("A");

result = __builtin_sacr_16(Accum,0);

Prototype

int16_t __builtin_sacr_16(int Accum, int16_t shift);

Arguments

Accum  - accumulator to extract

shift - literal shift value, negative values represent a shift left.

Return Value

The accumulator is shifted by shift bits and rounded.

Machine Instruction

sac.r

or

sacr

Error Messages

An error message is produced if shift is not a literal value.

An error message is produced if shift is out of range.