These two shoulds actually function in a very similar manner in the sense that in both cases something has not happened that was expected to happen.I would like to know the difference between "should(1)" and "should(2)".
1. You should have called me.
2. He should have been home by now.
In "You should have called me," the speaker either expected the listener to call him, or something would have been better in some way if the listener had called...but he didn't.
In "He should have been home by now," the speaker is stating that someone was expected to come home before the moment of speaking...but he didn't.
About the only difference I see here is that in the first sentence, although the phone call was never made, the speaker is not waiting for it. The speaker knows the phone call will not be made. Whatever suitable time frame that may have existed for the call has passed.
In the second sentence, however, the speaker is still waiting for the person's arrival. The speaker is thinking, "He's late. He may be home any moment...but he is not home yet. Why isn't he home yet?"
Hope this helps.
Student or Learner