Some related reading:
http://www.earlymoderntexts.com/jfb/huckfinn.pdf
I don't feel like it's as 1-dimensional as you are making it out to be. Huckfinn's understanding of morality is that it is wrong of him to let Jim go free--
" I tried to make out to myself that I warn’t to blame,
because I didn’t run Jim off from his rightful owner; but it warn’t no use, conscience up
and say, every time: ‘But you knowed he was running for his freedom, and you could a
paddled ashore and told somebody.’ That was so - I couldn’t get around that, no way.
That was where it pinched. Conscience says to me: ‘What had poor Miss Watson done to
you, that you could see her nigger go off right under your eyes and never say one single
word? What did that poor old woman do to you, that you could treat her so mean? "
But clearly in this case his sympathies were correct, not his understanding of right and wrong. So that definition of morality doesn't work. There is a long history of people having ideas about what is right and wrong that are in fact incorrect. Read Himmler's comments about the holocaust for a harsh example.
You have to keep your understanding of morality open to correction.