I highly, highly recommend the book "Programming from the Ground Up". It is freely available, and full of small asm sample programs to try out yourself.
highly, highly recommand +1, I'm reading it, it's better than any other program books I've ever read.
It tells you what, how, why, and it tells in an interesting way.