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