fundamentals of embedded software where c and assembly meet - daniel w lewis (Prentice-Hall, 2003)