Title: Guide to Assembly Language Programming in Linux
First published: July 15, 2005
Description: This unique guide provides comprehensive coverage of the key elements of Assembly language programming with in-depth coverage of the Linux operating system, which is the fastest-growing operating system with an estimated 18 million Linux users worldwide. The book specifically targets professionals who would like to learn Assembly and intend or expect to move to the Linux operating system. This highly useful guidebook comes complete with all the necessary software (Linux, NASM, debugger), making it an extremely valuable resource tool for all those who want to learn Assembly programming and Linux. Readers need only have a basic knowledge of any structured, high-level language such as C to obtain the full benefits of this guidebook. Sivarama P. Dandamudi is a professor of computer science at Carleton University in Ottawa, Ontario, Canada, as well as associate editor responsible for computer architecture at the International Journal of Computers and Their Applications.

He has more than two decades of experience teaching about computer systems and organization.

Features and Benefits: • Free NASM assembler provides hands-on assembly language programming experience • Three chapters on computer organization provide the necessary background to program in assembly language • Presentation of material is suitable for self-study, with extensive programming examples and figures • All examples are complete in that they can be assembled and run, giving a better feeling as to how these programs work Key Topics: • Computer organization, including digital logic circuits, memory organization, IA-32 architecture • Installing and using Linux and NASM • Debugging assembly language programs • Overview of assembly language instructions • Writing procedures, addressing modes, conditional execution, logical and bit operations • Advanced assembly language, including string processing, ASCII and BCD arithmetic, recursion, protected-mode interrupt processing, high-level language interface, floating-point operations.
Subjects: Linux, Assembly languages (Electronic computers), Assembler language (Computer program language), Linux (computer operating system), Computer science, Software engineering, Programming Techniques, Programming Languages, Compilers, Interpreters, Software Engineering/Programming and Operating Systems