A: I'm sorry I didn't attend the meeting yesterday.
B: You _______ have told me you weren't coming for the meeting.
c. both a and b
Either option can be used, but they have quite different tones.
"You should have told me" is clearly an admonition, a reproach. The person did not tell you, but you think they ought to have told you. You are upset that they did not.
When spoken, no word in this sentence would be given any particular emphasis.
"You might have told me" is, in a strictly literal interpretation, not an admonition. It is a simple statement: It is possible that you could have told me. It is also possible that you could have not told me. Either one could be true.
But in actual usage, this sentence is also an admonition. When spoken we often emphasize the word "told:" You might have TOLD me. It would not be emphasized or set off in any way if the sentence was written down, but when reading the sentence it would be understood that the person was saying it in a huffy or offended manner.
Despite the literal interpretation of the two sentences, usually a person saying "might" is more upset/frustrated/offended than if they used "should." It is a more passive-aggressive thing to say. But if the person is very upset then they might use "should" again! It all depends on the context, and in particular the tone and volume the speaker uses.
This depends entirely on what kind of english you're using and what you mean.
In the USA, "You might have told me" would only be used to acknowledge that B is possibly in the wrong, that B may have been informed but don't remember it if they were.
In the UK, "You might have told me!" can be used to mean the same thing as "you should have told me", except with more frustration that you failed to do it.