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