In contrast to high level languages like C and Java, assembly language programming is more fundamental to computer operation. This site has extensive information about different assembly languages, including Windows, Linux, and DOS. There are online books, titled The Art of Assembly Language Programming, that can be downloaded for each of these platforms. These books are excellent for beginners. Libraries with hundreds of code snippets for common functions are provided, so programmers don't have to redo something that has already been done. The High Level Assembler is a tool to simplify assembly programming for users that already know a high level language. It can also be downloaded at no cost.