Linux Assembly Language Programming
Prentice Hall
978-0-13-087940-0 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
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.
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.
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.
Index.
Erscheint lt. Verlag | 28.7.2000 |
---|---|
Verlagsort | Upper Saddle River |
Sprache | englisch |
Maße | 180 x 230 mm |
Gewicht | 426 g |
Themenwelt | Informatik ► Betriebssysteme / Server ► Unix / Linux |
Informatik ► Programmiersprachen / -werkzeuge ► Assembler | |
ISBN-10 | 0-13-087940-1 / 0130879401 |
ISBN-13 | 978-0-13-087940-0 / 9780130879400 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |