Preheat oven to 350F (175C).
Butter an 11" x 7" baking dish.
Cut off tough asparagus ends.
Using a sharp knife or potato peeler, peel outer skin from asparagus.
Tie asparagus together in 1 or 2 bunches with string or rubber bands.
Pour cold salted water 2 to 3 inches deep in an asparagus cooker, tall stockpot or old coffeepot.
Place asparagus upright in water.
Bring water to a boil.
Cover and cook over high heat 6 to 8 minutes, depending on size.
Drain on paper towels; remove string or rubber bands.
Divide asparagus into 4 bundles.
Wrap 2 slices ham around each bundle.
Arrange wrapped asparagus bundles in buttered baking dish in a single layer.
Sprinkle with Parmesan cheese and dot with butter.
Bake 8 to 10 minutes or until cheese is melted.