Here is a very nice intro to reversing for x86: http://yurichev.com/non-wiki-files/RE_for_beginners-en.pdf
from: https://github.com/dennis714/RE-for-beginners
It helps to have some basic low-level knowledge, such as asm syntax, the stack, registers, etc., but the author does a good job explaining as he goes along.