Program Dario;

var this: packed array [1..30] of Char;
    does: integer value 30 div SizeOf ( Integer );
    work: integer value ord ( 'O' ) + ord ( 'K' ) shl 8;

procedure I_am_happy_because (var dest; count, fill_value: integer);
begin
  asm ('cld'           (* only on i386 *)
       'rep'
       'stosl'
       : {* no output registers *}
       : 'c' (count), 'a' (fill_value), 'D' (@dest)
       : '%ecx', '%edi' );
end;

begin
  I_am_happy_because(this, does, work);
  writeln ( this [ 5..6 ] );
end.
