1.

TABLE OF CONTENTS

3-5

2.

BASE ARCHITECTURE

. . . . . . . . . . . . . . 7

 

2.1

Introduction

. . . . . . . . . . . . . 7

 

2.2

Register Overview

7

 

2.3

Register Descriptions

8

 

2.3.1

General Purpose Registers

. . . . . . . . . . . . . 8

 

2.3.2

Instruction Pointer

. . . . . . . . . . . . . 8

 

2.3.3

Flags Register

. . . . . . . . . . . . . 8

 

2.3.4

Segment Registers

. . . . . . . . . . . .. 10

 

2.3.5

Segment Descriptor Registers

. . . . . . . . . . . .. 11

 

2.3.6

Control Registers

. . . . . . . . . . . .. 11

 

2.3.7

System Address Registers

. ... 12

 

2.3.8

Debug and Test Registers

13

 

2.3.9

Register Accessibility

. . . . . . . . . . . .. 13

 

2.3.10

Compatibility

. . . . . . . . . . . .. 13

 

2.4

Instruction Set

. . . . . . . . . . . .. 14

 

2.4.1

Instruction Set Overview

. . . . . . . . . . . .. 14

 

2.4.2

80386 Instructions

. . . . . . . . . . . .. 15

 

2.5

Addressing Modes

. . . . . . . . . . . .. 17

 

2.5.1

Addressing Modes Overview

. . . . . . . . . . . .. 17

 

2.5.2

Register and Immediate Modes

. . . . . . . . . . . .. 17

 

2.5.3

32-Bit Memory Addressing Modes

17

 

2.5.4

Differences between 16- and 32- Bit Addresses

. . . . . . . . . . . .. 18

 

2.6

Data Types

19

 

2.7

Memory Organization

. . . . . . . . . . . .. 21

 

2.7.1

Introduction

. . . . . . . . . . . .. 21

 

2.7.2

Address Spaces

. . . . . . . . . . . . .. 21

 

2.7.3

Segment Register Usage

. . . . . . . . . . . .. 22

 

2.8

1/0 Space

. . . . . . . . . . . .. 22

 

2.9

Interrupts

. . . . . . . . . . . .. 23

 

2.9.1

Interrupts and Exceptions

. . . . . . . . . . . .. 23

 

2.9.2

Interrupt Processing

. . . . . . . . . . . .. 23

 

2.9.3

Maskable Interrupt

. . . . . . . . . . . .. 23

 

2.9.4

Non-Maskable Interrupt

. . . . . . . . . . . .. 24

 

2.9.5

Software Interrupts

. . . . . . . . . . . .. 24

 

2.9.6

Interrupt and Exception Priorities

. . . . . . . . . . . .. 25

 

2.9.7

Instruction Restart

. . .. . . . . . . . .. 26

 

2.9.8

Double Faults

. . . . . . . . . . . .. 26

 

2.10

Reset and Initialization

....... 26

 

2.11

Testability

. . . . . . . . . . . .. 27

 

2.11.1

Self-Test

27

 

2.11.2

TLB Testing

. . . . . . . . . . . .. 27

 

2.12

Debugging Support

27

 

2.12.1

Breakpoint Instruction

. . . . . . . . . . . .. 28

 

2.12.2

Single-Step Trap

. . . . . . . . . . . . .. 28

 

2.12.3

Debug Registers

, . . . . . . . . . . . .. 28

2.12.3.1

Linear Address Breakpoint Registers (DRO-DR3)

28

2.12.3.2

Debug Control Register (DR7)

28

2.12.3.3

Debug Status Register (DR6)

31

2.12.3.4 Use of Resume Flag (RF) in Flag Register

31

3

Page 64
Image 64
Intel 80386 manual Table of Contents