Surface states in semi-infinite crystals: A Green function method