[fpc-pascal] Reversing bit-order of byte

Koenraad Lelong fpascal at brouwerij.homelinux.net
Fri May 4 14:53:24 CEST 2012


On 04-05-12 14:31, Thomas Schatzl wrote:
> It might be good to compile with -Cparmv6 (or -Cparmv7, do not know what
> type the processor you use is), this generates a "better" return
> instruction ("bx lr") - and for the rbit instruction you need armv6
> already.
>
>> Wouldn't it be possible to do
>> 	rbit	r0, r0, lsr #23
>> When reading the ARM programming manual I believe it should.
>>
>
> No, rbit does not allow the "flexible operand" encoding.
>
>> But do I gain something ?
>>
>
> If it were possible, at most a few cpu cycles.
>
> Compared to the other variants (e.g. with the multiplies, except for the
> table lookup) you already save a lot of cycles - although I guess they
> would be sufficiently fast anyway, considering the typical uart speeds.
>
> Thomas

Hi Thomas,

My processor flags : -Wpstm32f103rb -Cparmv7m.
The #23 is no typo, I need to reverse 9 bits. I'm using 9 bit 
synchronous transmission. My first usart-tests were at 4Mbps. The person 
that made the driver recommends max. 6Mbps.
If I need more spare time I'll have to see what DMA can do.

Thanks for all information.

Regards,

Koenraad Lelong.



More information about the fpc-pascal mailing list