28.2.114 __builtin_sac_16

Architecture

dsPIC33A, dsPIC33C/E/F, dsPIC30

Description

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

Example:

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

result = __builtin_sac_16(result,0);

Prototype

int16_t __builtin_sac_16(int Accum, int16_t shift);

Arguments

Accum - accumulator to extract

shift - literal amount to shift the accumulator, negative values represent a left shift

Return Value

The accumulator is shifted by shift bits and truncated.

Machine Instruction

sac

Error Messages

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

An error message is produced if shift is not in range.