Linux Assembly Language Programming

Linux Assembly Language Programming

4.12 (8 ratings by Goodreads)
By (author) 

List price: US$49.99

Currently unavailable

We can notify you when this item is back in stock

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


Master x86 assembly language from the Linux point of view! Assembly language lies at the boundary between hardware and software. While it can be described purely in terms of how it controls hardware, many of its features only make sense in the context of operating systems and programming languages. In Linux Assembly Language Programming, Bob Neveln explains all the key features of x86 assembly language in the context of the Linux operating system and the C language. The book's step-by-step, one-concept-at-a-time coverage is designed to help experienced hardware programmers move to Linux, and learn how to create Linux device drivers. As developers learn new x86 assembly language skills, they also gain "under the hood" insight into how Linux works -- and into the way processor and software design impact each other. For C programmers who want to understand more about the interactions between Linux and hardware; and for assembler programmers who want to apply their skills in the Linux environment.
show more

Product details

  • Mixed media product | 272 pages
  • 175.26 x 231.14 x 20.32mm | 566.99g
  • Prentice Hall
  • Upper Saddle River, United States
  • English
  • w. graphs.
  • 0130879401
  • 9780130879400
  • 2,173,099

About Bob Neveln

BOB NEVELN is currently coordinator of Computer Science at Widener University, where has worked on the mathematics and evolution of the genetic code. He holds a Ph.D. in Mathematics from Northwestern University.
show more

Back cover copy

Master x86 assembly language from a Linux perspective! Essential information for creating Linux device drivers How Linux works "under the hood!" The first Linux-centered guide to x86 assembly language!

In Linux Assembly Language Programming, Bob Neveln explains all the key features of x86 assembly language in the context of the Linux operating system and the C language. The book's step-by-step, one-concept-at-a-time coverage will help any hardware programmer move to Linux, and master essential skills for Linux device driver development. You won't just learn new x86 assembly language skills: you'll also gain powerful "under the hood" insight into how Linux works.

Linux x86 assembly language programming, from start to finish!

Place-holding numeration Logic circuits Computation The four-field format Machine language Memory The stack Linux user programs NASM DOS programs Interrupts Bit manipulations Device drivers And more...
show more

Table of contents

1. Introduction.

The Fetch-Execute Cycle. The Linux Operating System. The Gnu C Compiler. The Edlinas Assembler. NASM. Other Assemblers.

2. Placeholding Numeration.

The Decimal and Pentimal Systems. Pentimal Arithmetic. Conversion to Pentimal. The Binary System. Memory as a Rectangle of Bits. The Hexadecimal System. Base Distinguishing Notations. Fractions in Other Bases. Converting Fractions.

3. Logic Circuits and Computation.

The NOT Gate. Boolean Operators. Logic Gates. Addition Circuits. Sequential Circuits. Negative Number Representation. Subtraction Using Negation. Placeholding Two's Complement. Memory Circuits. x86 General Registers and their Ancestry. The MOV Command. Addition and Subtraction Commands. Multiplication and Division Commands.

4. Assembly Language.

The Four Field Format. Computers from the CPU Standpoint. Simple Assembly Language Programs. Assembler Programs with Jumps. Assembler Programs with Loops. Signed Comparisons. Unsigned Comparisons. Linux .s files.

5. Machine Language.

Assembling Simple Programs. Opcode Space. The ModRM Byte. 386 Space (0F + ...). 32-Bit vs 16-Bit Code. The 8-Bit Registers. Linux .o Files.

6. Memory.

4-Byte Data Width. Addresses in Brackets. Operand Size Ambiguity. Labels. Immediate Storage.

7. The Stack.

Push and Pop Operations. Subprograms. Parameter Passing. Recursion.

8. Linux User Programs.

Multitasking. Paging. Address Translation. Program Segments. Other Data Segments. Protection. Executable Files in ELF Format. Object Files in ELF Format.

9. Interrupts.

Polling. External Interrupts. ISA Architecture. Internal and Software Interrupts. System Calls. Privilege Levels. Control Transfer. Scheduling.

10. Bit Manipulations.

Bitwise Logic Operations. The AND, OR, NOT, and XOR Commands. Bit Setting and Testing. Shift Instructions.

11. Device Drivers.

Device-Independent Files. Devices as Files. Morse Code Speaker Driver. Serial Port Digitizer Driver.

12. DOS Programs.

Real Mode Segmentation. Edlinas Environment Variables. Fixed Memory Areas. Real Mode Interrupts. Checking DOS Memory.

13. Linux Boot Time Programs.

Changing to Protected Mode. Protected Mode Segmentation. Setting Up the Global Descriptor Table. Closing.

show more

Rating details

8 ratings
4.12 out of 5 stars
5 50% (4)
4 25% (2)
3 12% (1)
2 12% (1)
1 0% (0)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X