Hi I have program procedure fun(a : integer);overload; begin write('integer ',a); end; procedure fun(a:int64);overload; begin write('int64 ',a); end; var w : word; begin w:=3; fun(w+3); end; Why on arch x64 program write 'int64 6' but on i386 'integer 6' Where I can read about this behaviour. Darek