Funkcja wykonuje skalowanie liczby 32 bitowej do liczby 16 bitowej w formacie Int16. Liczba wejściowa 32 bitowa jest dzielona przez wartość współczynnika Factor. Wynik dzielenia przekazywany jest na wyjście Out, jeśli po operacji dzielenia, wyniku liczby nie da się zapisać w postaci jednej liczby 16 bitowej, na wyjściu Ovf ustawiana jest wartość “1”. Funkcja działa podobnie do operacji dzielenia liczby 32 bitowej, gdzie wyjściem Out jest jedynie młodsza, 16-bitowa część wyniku.
In_Lo | In_Hi | Factor | In32 bit | Out | Ovf |
---|---|---|---|---|---|
100 | 0 | 1 | 100 | 100 | 0 |
100 | 0 | 10 | 100 | 10 | 0 |
-31072 | 1 | 10 | 100000 | 10000 | 0 |
0 | 10 | 100 | 655360 | 6553 | 0 |