What's the difference between "immoral" and "amoral"

. . . or are the two semantically equivalent?

I am aware that in popular usage the word “amoral” generally connotes a much more cold-blooded attitude towards ethics. Beyond that, though, can anyone come up with a clear method for defining an act or person as “immoral” vs. “amoral”?

One possibility I can come up with is that an immoral person will transgress against a moral system in a specific way while accepting the overall validity of the system and considering their actions to be “wrong.” An immoral person, on the other hand, rejects the validity of the moral system and refuses to label their actions as “right” or “wrong.”

Thoughts?

I basically agree with you… the explanation I’ve always heard is that an amoral person simply has no moral sense. Nothing would make him feel bad or guilty about anything he did; neither does he feel any kind of obligation towards others. An immoral person, on the other hand, may feel pangs of conscience but goes ahead and does what he wants anyway.

Why ask us when the dictionary is so near?
http://m-w.com/cgi-bin/dictionary?book=Dictionary&va=amoral
Immoral Definition & Meaning - Merriam-Webster

Yes. “Immoral” means that you’re going against a moral structure that you perceive; “amoral” means that you have no moral structure.

I would prefer to use “non-” instead of “a-” as the prefix in these cases, because “a-” can be confused with the indefinite article “a, an”. But do we say “non-moral” and does it mean precisely the same thing?