28.2.78 __builtin_min_excess
Architecture
dsPIC33C/E/F, dsPIC30
Description
Force (Signed) Data Range Minimum Limit with Limit Excess Direction. Compares a 16-bit signed data value to a minimum signed limit value and updates flag if excess.
Prototype
int16_t __builtin_min_excess(int16_t value, int16_t low, int16_t *flag_excess);
Arguments
value
– Data value
low
– Minimum limit value
flag_excess
– 1 if data subceeds (is less than) limit,
else 0
Return Value
Returns value limited by low.
Updates flag_excess
value to 1 if data value subceeds
the min limit value, else set to 0.
Machine Instruction
min
Error Messages
None
Example
Assume Accumulator Register A contains 3
Assume Accumulator Register B contains 5
volatile register int accumA asm("A");
volatile register int accumB asm("B");
int16_t flag_excess;
accumA = __builtin_min_excess(accumA, accumB, &flag_excess);
In assembly:
min A,[flag_excess]
For this example, the value in A
will be 5, since A
is
less than the min value in B
. The
flag_excess
will be set to 1, to indicate that the
data value subceeds the min limit value.