Fundamentals of embedded software where C and assembly meet - Lewis, Daniel W. (Pearson Education, 2002)