could: 6 used to show that you are annoyed that somebody did not do
something. They could have let me know they were going to be late!
might: 6 used to show that you are annoyed about something that
somebody could do or could have done. I think you might at least
offer to help! Honestly, you might have told me!
Referring to the dictionary, ‘could’ isn’t used to denote ‘annoyance’ at the reference time, unlike ‘might’. But semantically it could be used to show the meaning. Can it be or not?
– for example: “You could look more cheerful, Harry” (Harry Potter and the Sorcerer’s Stone)
You are quite right. A technical correction, however:
In all of these, the annoyance is felt at ‘speech time’ (ST). The act (or failure to act) which causes the annoyance occurs at ‘event time’ (ET).
You could look more cheerful. – Hermione is annoyed now (ST) because Harry does not now (ET) look more cheerful.
You might have told me! – The speaker is annoyed now (ST) because the person she is speaking to did not then (ET) tell her what she needed to know.
‘Reference time’ (RT) does not come into play here, because ET = RT. RT is invoked only when a relative time is expressed – in effect, only when a perfect aspect is involved.
And note that with these irrealis (unreal) modals in past form with present reference, it is impossible to express perfect aspect, because these modals have no participles. In fact, if we want to backshift these utterances, we have to carry them unchanged into the past:
Hermione was annoyed. She felt that Harry might look more cheerful.
I was annoyed. I felt that you might have told me!
When MODALPAST has ST reference, the construction MODALPAST + have + VERBPAST PARTICIPLE, although it employs a ‘perfect’ construction, does not express perfect aspect but only ‘anteriority’, pastness.
This is just one more case where the evolving use of modals has thrown a monkey wrench* into the grammatical works.
* BrE = ‘spanner’
Source : Link , Question Author : Listenever , Answer Author : StoneyB on hiatus