i386/i486 Advanced Programming, 1993
Real Mode Protected Mode Virtual 8086 Mode

Author:

Language: English

Prix indicatif 52,74 €

Disponible chez l'éditeur (délai d'approvisionnement : 15 jours).

Add to cartAdd to cart
Publication date:
228 p. · 17.8x25.4 cm · Broché
This book gives x86 assembly language programmers a view about how to use the resources and features provided by the i386/i486 processor, the newest and most advanced microprocessor from the Intel x86 family. Because the i386/i486 processor is entirely compatible with its predecessor, the 8086/88 processor, this book concentrates on the enhanced features compared to its predecessor. We assume the reader is already familiar with the concepts of 8086/88 assembly language programming. Our goal is to show you the programming methods that apply to powerful features of the i386/i486. The i387 math coprocessor is not discussed in this book. A detailed explanation about how to use each i386/i486 instruction is not covered in this book. However, we list the complete i386/i486 instruction set in Appendix B. Organization of the Book This book is divided into sections to help readers start learning from the concepts that are similar to the 8086/8088 processor. Then, the discussion shifts to the resources and environment of the i386/i486 processor. Throughout the book, real-life program examples are used to illustrate in detail how you can use the enhanced features or functions of the processor. Chapter 1 introduces the i386/i486 architecture and its enhanced features. The discussion includes the operation mode, general registers, segment registers, system registers, and system data structures. Chapter 2 discusses the method that the i386/i486 processor uses to make itself fully compatible with the 8086/88 processor and to define the interrupt vector table address, which is different from the 8086/88 processor.
Section I Introduction.- 1 The i386/i486 Architecture.- 1.1 Overview.- 1.2 Operation Modes.- 1.3 Registers.- 1.4 Protected Mode Data Structures.- 1.5 Instructions.- 1.6 Summary.- Section II Real-Address Mode.- 2 Programming in Real-Address Mode.- 2.1 Environment Emulation.- 2.2 Instruction Execution Emulation.- 2.3 Real-Address Mode Operation.- 2.4 Interrupt Table Program.- 2.5 Summary.- Section III Protected Mode.- 3 Memory Management.- 3.1 Segmentation.- 3.2 Segmentation Address Translation.- 3.3 Paging.- 3.4 Page Address Translation.- 3.5 Summary.- 4 Enter and Leave Protected Mode.- 4.1 Entering Protected Mode.- 4.2 Protected Mode Execution Environment.- 4.3 Leaving Protected Mode.- 4.4 Sample Program 1.- 4.5 Protected Mode Exceptions.- 4.6 Sample Program 2.- 4.7 Summary.- 5 Page Programming.- 5.1 Sample Program 1.- 5.2 Sample Program 2.- 5.3 Summary.- 6 Control Transfers.- 6.1 Privilege Level.- 6.2 Data Access Privilege Cheeking.- 6.3 Control Transfers Privilege Checking.- 6.4 Control Transfers From Higher to Lower Level.- 6.5 Control Transfers From Lower to Higher Level.- 6.6 Control Transfers in the Same Privilege Level.- 6.7 Sample Program.- 6.8 Summary.- 7 Multitasking.- 7.1 Task State Segment.- 7.2 Task Switch.- 7.3 Sample Program.- 7.4 Summary.- 8 Debugging.- 8.1 Breakpoint and Trap.- 8.2 Debug Register.- 8.3 Examples.- 8.4 Summary.- 9 Input/Output.- 9.1 I/O Addressing.- 9.2 I/O Privilege Level Protection.- 9.3 I/O Permission Bit Map Protection.- 9.4 Sample Program.- 9.5 Summary.- 10 Exceptions and Interrupts.- 10.1 Differences Between Exceptions and Interrupts.- 10.2 Vectors.- 10.3 IDT Descriptors.- 10.4 Handler Protection.- 10.5 Error Code.- 10.6 Sample Program.- 10.8 Summary.- Section IV Virtual-8086 Mode.- 11V86 Mode Programming.- 11.1 V86 Mode Environment.- 11.2 Enter and Leave V86 Mode.- 11.3 Exceptions and Interrupts in V86 Mode.- 11.4 Sample Programs.- 11.5 Summary.- Section V Appendices.- Appendix A Sample i486 Programs.- Appendix B The i386/i486 Instruction Set.- Appendix C Assembler and Linker.