Re: RE : RE : [fpc-pascal] Reversing bit-order of byte

2012-05-07 Thread Geoffrey Barton
On 7 May 2012, at 13:26, fpc-pascal-requ...@lists.freepascal.org wrote: > > > Message: 4 > Date: Mon, 07 May 2012 12:59:58 +0200 > From: Koenraad Lelong > Subject: Re: RE : RE : [fpc-pascal] Reversing bit-order of byte > To: fpc-pascal@lists.freepascal.org > Message-

Re: RE : RE : [fpc-pascal] Reversing bit-order of byte

2012-05-07 Thread Koenraad Lelong
On 04-05-12 14:53, Koenraad Lelong wrote: On 04-05-12 14:31, Thomas Schatzl wrote: ... 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

Re: RE : RE : [fpc-pascal] Reversing bit-order of byte

2012-05-04 Thread Koenraad Lelong
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 r

Re: RE : RE : [fpc-pascal] Reversing bit-order of byte

2012-05-04 Thread Thomas Schatzl
Hi, On Fri, 2012-05-04 at 14:14 +0200, Koenraad Lelong wrote: > On 03-05-12 13:27, Thomas Schatzl wrote: > ... > > function reverse(b : byte) : byte; assembler; nostackframe; > > asm > >.long 0xe6ff0f30 // rbit r0, r0 > >lsr r0, r0, #23 > > end; > > > > Hi, > > I've been looking a bit fu

Re: RE : RE : [fpc-pascal] Reversing bit-order of byte

2012-05-04 Thread Koenraad Lelong
On 03-05-12 13:27, Thomas Schatzl wrote: ... function reverse(b : byte) : byte; assembler; nostackframe; asm .long 0xe6ff0f30 // rbit r0, r0 lsr r0, r0, #23 end; Hi, I've been looking a bit further at this. I disassembled the code and this is the result : 8000150: e6ff0f30

Re: RE : RE : [fpc-pascal] Reversing bit-order of byte

2012-05-03 Thread Koenraad Lelong
On 03-05-12 13:27, Thomas Schatzl wrote: ... function reverse(b : byte) : byte; assembler; nostackframe; asm rbit r0, r0 // rbit reverses the whole word, so now you have // your value in bits 31-24... so shift right by that amount // should fix this up (bits 23-0 contain junk, we shif

Re: RE : RE : [fpc-pascal] Reversing bit-order of byte

2012-05-03 Thread Thomas Schatzl
Hi, On Thu, 2012-05-03 at 12:54 +0200, Ludo Brands wrote: > > Thanks all for your replies. > > I already found the RBIT-instruction. I also found out I need > > to study > > the arm assembly language ;-) > > > > But how do I get my variable ? Is that in some register ? Is > > there any > > do