Skip to content
Member Filters
Show Inherited
Show Protected
Show abstract
GR32_LowLevel🞂SARFunction

SAR

Arithmetic shift right with sign preservation.

Declarations ​

pascal
function SAR_3(Value: Integer): Integer;
function SAR_4(Value: Integer): Integer;
function SAR_6(Value: Integer): Integer;
function SAR_8(Value: Integer): Integer;
function SAR_9(Value: Integer): Integer;
function SAR_11(Value: Integer): Integer;
function SAR_12(Value: Integer): Integer;
function SAR_13(Value: Integer): Integer;
function SAR_14(Value: Integer): Integer;
function SAR_15(Value: Integer): Integer;
function SAR_16(Value: Integer): Integer;
Overload Details

Overload 1 ​

pascal
function SAR_3(Value: Integer): Integer;

Arithmetically shifts Value right by 3 bits (Value div 8 with negative sign conservation).

ParameterTypeDescription
ValueIntegerInteger value to shift.
TypeDescription
IntegerValue shifted right by 3 bits.

Overload 2 ​

pascal
function SAR_4(Value: Integer): Integer;

Arithmetically shifts Value right by 4 bits.

ParameterTypeDescription
ValueIntegerInteger value to shift.
TypeDescription
IntegerValue shifted right by 4 bits.

Overload 3 ​

pascal
function SAR_6(Value: Integer): Integer;

Arithmetically shifts Value right by 6 bits.

ParameterTypeDescription
ValueIntegerInteger value to shift.
TypeDescription
IntegerValue shifted right by 6 bits.

Overload 4 ​

pascal
function SAR_8(Value: Integer): Integer;

Arithmetically shifts Value right by 8 bits.

ParameterTypeDescription
ValueIntegerInteger value to shift.
TypeDescription
IntegerValue shifted right by 8 bits.

Overload 5 ​

pascal
function SAR_9(Value: Integer): Integer;

Arithmetically shifts Value right by 9 bits.

ParameterTypeDescription
ValueIntegerInteger value to shift.
TypeDescription
IntegerValue shifted right by 9 bits.

Overload 6 ​

pascal
function SAR_11(Value: Integer): Integer;

Arithmetically shifts Value right by 11 bits.

ParameterTypeDescription
ValueIntegerInteger value to shift.
TypeDescription
IntegerValue shifted right by 11 bits.

Overload 7 ​

pascal
function SAR_12(Value: Integer): Integer;

Arithmetically shifts Value right by 12 bits.

ParameterTypeDescription
ValueIntegerInteger value to shift.
TypeDescription
IntegerValue shifted right by 12 bits.

Overload 8 ​

pascal
function SAR_13(Value: Integer): Integer;

Arithmetically shifts Value right by 13 bits.

ParameterTypeDescription
ValueIntegerInteger value to shift.
TypeDescription
IntegerValue shifted right by 13 bits.

Overload 9 ​

pascal
function SAR_14(Value: Integer): Integer;

Arithmetically shifts Value right by 14 bits.

ParameterTypeDescription
ValueIntegerInteger value to shift.
TypeDescription
IntegerValue shifted right by 14 bits.

Overload 10 ​

pascal
function SAR_15(Value: Integer): Integer;

Arithmetically shifts Value right by 15 bits.

ParameterTypeDescription
ValueIntegerInteger value to shift.
TypeDescription
IntegerValue shifted right by 15 bits.

Overload 11 ​

pascal
function SAR_16(Value: Integer): Integer;

Arithmetically shifts Value right by 16 bits.

ParameterTypeDescription
ValueIntegerInteger value to shift.
TypeDescription
IntegerValue shifted right by 16 bits.

Description ​

The SAR_n functions perform an arithmetic shift right by n bits (SAR_3 through SAR_16).

Unlike standard integer division (x div 2^n), which truncates towards zero and introduces asymmetry for negative numbers, SAR_n preserves two's-complement sign extension consistent with CPU SAR assembly instructions across positive and negative values.