Looking in the user manual for the Teensy 3.x type processor uers guide, I have found 3 interesting commands that could possibly speed up bit shift operations for time critical code. The three specific operators for ARM assembler are
LSR = Logical Shift Right
ASR = "arithmetic" right shift
LSL = Logical Shift Left
excluding...
RORS
ROR
RRXS
RRX
The three are quite interesting, but I am alittle taken because all examples reference uint32_t & int32_t only. What about uint8_t and int8_t and using the "LSL" and LSR" commands specifically. Do any experts in the group have experience using these commands and how should / could I make assembler code compatable with the Arduino or C++ language? Theres "__asm__" but how do I create such a function that inserts a value determining how far to shift similar to 1<<3 & 1>>3.
Thanks
BLMinTenn
LSR = Logical Shift Right
ASR = "arithmetic" right shift
LSL = Logical Shift Left
excluding...
RORS
ROR
RRXS
RRX
The three are quite interesting, but I am alittle taken because all examples reference uint32_t & int32_t only. What about uint8_t and int8_t and using the "LSL" and LSR" commands specifically. Do any experts in the group have experience using these commands and how should / could I make assembler code compatable with the Arduino or C++ language? Theres "__asm__" but how do I create such a function that inserts a value determining how far to shift similar to 1<<3 & 1>>3.
Thanks
BLMinTenn