Rinse and peel the asparagus and cut off any woody ends. Bring a large saucepan with lightly salted water to the boil. Add asparagus, sugar and butter, reduce the temperature to low and simmer for 20 to 25 minutes until tender. Drain and allow to cool.
When cold, cut asparagus into about 1cm long pieces, and set the tips aside for garnish.
For the salad dressing mix together mayonnaise with a dash of vinegar. Stir in ketchup and add salt, pepper and dill.
Chop two of the hard boiled eggs and slice the third. Combine asparagus pieces, chopped eggs and ham in a bowl. Add salad dressing and toss. Chill in the fridge to marinate for a few hours.
Before serving garnish with egg slices and asparagus tips.