Written for those with some background in digital logic and high-level programming, this work serves as a text for new programmers, as well as a reference for students and professionals. It focuses on what is needed to compile for ARM, details real assembly uses, and explores situations that programmers will encounter.