[fpc-pascal] rotating bits

Florian Klaempfl florian at freepascal.org
Thu May 25 10:20:05 CEST 2006


Tomas Hajny wrote:
> On 25 May 06, at 0:10, ϸňđ Ęîńŕđĺâńęčé ń mail.ru wrote:
> 
>>>> First parameter is in eax, second in edx (third one is ecx)
>> TH> Yes, of course, sorry for confusion... :-( Anyway, loading of the first
>> TH> parameter can be still skipped (and the stack frame is probably not useful
>> TH> in this case either). So you'd get:
>> TH> function brol(b: byte; c: byte): byte; assembler; nostackframe;
>> TH> asm
>> TH>   movb  %dl,%cl
>> TH>   rolb  %cl,%al
>> TH> end ['cl'];
>> TH> Tomas
>>
>> 1. So, is there any problem with including this functions and bit checks
>> (bt./bs. in intel assembler: writing (a and (1 shl i)) isn't great too)?
> 
> I guess there is no problem in including it. The 
> only questions from my point of view are:
> 
> 1) Are they useful in general, so that it would 
> make sense to include them either in FPC itself 
> (as opposed to some standalone unit)?

- they must be available for all cpu platforms, so we need at least a
generic implementation
- for an efficient implementation, this needs a compiler patch so the
compiler can really efficiently inline





More information about the fpc-pascal mailing list