Linux Assembly Language Programming - Bob Neveln

Linux Assembly Language Programming

Bob Neveln (Autor)

Media-Kombination
272 Seiten
2000
Prentice Hall
978-0-13-087940-0 (ISBN)
49,95 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Part of the Open Source Technology Series, this book will detail the intricasies of using assembly language on the Linux platform. In addition, it will provide a guide to creating device drivers for use in the Linux environment.
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?