SpinAsm AND and SpinAsm LOG: Difference between pages
(Difference between pages)
Jump to navigation
Jump to search
No edit summary |
(Created page with "==LOG== {| class="wikitable" |+ !Mnemonic !Operation !Instruction coding |- |LOG |<nowiki>C * LOG(|ACC|) + D</nowiki> |CCCCCCCCCCCCCCCCDDDDDDDDDDD01011 |} ======Description====== LOG will multiply the Base2 LOG of the current absolute value in ACC with C and add the constant D to the result. It is important to note that the LOG function returns a fixed point number in S4.19 format instead of the standard S.23 format, which in turn means that the most negative Base2 LO...") |
||
Line 1: | Line 1: | ||
== | ==LOG== | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
Line 6: | Line 6: | ||
!Instruction coding | !Instruction coding | ||
|- | |- | ||
| | |LOG | ||
|ACC | |<nowiki>C * LOG(|ACC|) + D</nowiki> | ||
| | |CCCCCCCCCCCCCCCCDDDDDDDDDDD01011 | ||
|} | |} | ||
======Description====== | ======Description====== | ||
LOG will multiply the Base2 LOG of the current absolute value in ACC with C and add the constant D to the result. | |||
It is important to note that the LOG function returns a fixed point number in S4.19 format instead of the standard S.23 format, which in turn means that the most negative Base2 LOG value is –16. | |||
The LOG instruction can handle absolute linear accumulator values from 0.99999988 to 0.00001526 which translates to a dynamic range of apx. 96dB. | |||
D an offset to be added to the logarithmic value in the range of –16 to + 15.999998. | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
Line 19: | Line 25: | ||
!Entry formats, range | !Entry formats, range | ||
|- | |- | ||
| | |C | ||
| | |16 Bit | ||
| | |Real (S1.14) | ||
Hex ($ | Hex ($0000 $FFFF) | ||
Symbolic | |||
|- | |||
|D | |||
|11 Bit | |||
|Real(S4.6) | |||
Symbolic | Symbolic | ||
|} | |} | ||
======Syntax====== | ======Syntax====== | ||
LOG C, D | |||
======Coding Example====== | ======Coding Example====== | ||
<syntaxhighlight line="1"> | <syntaxhighlight line="1"> | ||
log 1.0,0 | |||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 20:44, 6 January 2023
LOG
Mnemonic | Operation | Instruction coding |
---|---|---|
LOG | C * LOG(|ACC|) + D | CCCCCCCCCCCCCCCCDDDDDDDDDDD01011 |
Description
LOG will multiply the Base2 LOG of the current absolute value in ACC with C and add the constant D to the result.
It is important to note that the LOG function returns a fixed point number in S4.19 format instead of the standard S.23 format, which in turn means that the most negative Base2 LOG value is –16.
The LOG instruction can handle absolute linear accumulator values from 0.99999988 to 0.00001526 which translates to a dynamic range of apx. 96dB.
D an offset to be added to the logarithmic value in the range of –16 to + 15.999998.
Name | Width | Entry formats, range |
---|---|---|
C | 16 Bit | Real (S1.14)
Hex ($0000 $FFFF) Symbolic |
D | 11 Bit | Real(S4.6)
Symbolic |
Syntax
LOG C, D
Coding Example
log 1.0,0