hi, im trying fpc/lazarus to avr/arduino and it works! thank you. thank you thank you very very much!!!
but, if we don`t forget the atmega328 is a microcontroller, maybe a bit oriented view will be mandatory
when you need test a pin status , we need to read a whole port, and them mask the wanted bit, and the assembler generated don`t seems efficient (i guess).
when you need to output a bit, the assembler generated is good, but you may type things like that:
PortB:= PortB AND %11111011;
then assembler generated is: cbi 5,0--its ok! but you must type a whole line!!

or another example
PORTB :=PORTB and not ( 1 shl 5 ) ; // LED pin5 off
with a native new class "bit", may will can access bits more directly like turbo51 does for 8051 microcontroller:
example:
P2.5:= true; //set bit 5 of port 2
if p2.5 then p2.4:= false; //if pin 5 of port 2 is set, then clear pin 4 of port 2
i looking the assembler instructions set of avr it can be do it (i guess)
again thank you very very very much!