lect 3 instruction set and addressing modes n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Lect 3: Instruction Set and Addressing Modes PowerPoint Presentation
Download Presentation
Lect 3: Instruction Set and Addressing Modes

Loading in 2 Seconds...

play fullscreen
1 / 14

Lect 3: Instruction Set and Addressing Modes - PowerPoint PPT Presentation


  • 230 Views
  • Uploaded on

Lect 3: Instruction Set and Addressing Modes. 386 Instruction Set (3.4). Basic Instruction Set : 8086/8088 instruction set Extended Instruction Set : 80286; several new instructions and additional addressing modes 80386 specific instruction set: . 80386. 80286. 8086/8088. Protected Mode.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Lect 3: Instruction Set and Addressing Modes' - sage


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
386 instruction set 3 4
386 Instruction Set (3.4)
  • Basic Instruction Set : 8086/8088 instruction set
  • Extended Instruction Set : 80286; several new instructions and additional addressing modes
  • 80386 specific instruction set:

80386

80286

8086/8088

Protected Mode

System control

Instruction set

System control

Instruction set

Basic +

Extended+

80386 specific

Instruction

Set

Basic +

Extended

Instruction

Set

Basic

Instruction

Set

Real Mode

386 instruction set 3 41
386 Instruction Set (3.4)
  • Addressing Modes of 386DX (3.5)
    • Addressing Modes: a method of specifying an operand
      • Operands : in REG, Memory, I/O ports, and within Instruction
    • * Control Transfer : direct, indirect addressing
    • the modes available

register addressing : REG

immediate addressing: within Instruction

direct addressing

register indirect addressing

based addressing

indexed addressing

based indexed addressing

MEM or I/O

addressing modes
Addressing Modes
  • Register Operand Addressing Mode
    • can be accessed in byte, word, or double word sizes.
    • MOV AX, BX
    • Byte: AL, AH, BL, BH, CL, CH, DL, DH

Word: AX, BX, CX, DX, SP, BP, SI, DI, CS, DS, SS, ES, FS, GS

Double Word: EAX, EBX, ECX, EDX, ESP, EBP, ESI, EDI

    • See Fig 3.8 in page 64
  • Immediate Operand Addressing
    • an operand is part of the instruction
    • MOV AL, 15H
    • 8 bits, 16 bits, and 32 bits in length
    • See Fig 3.10 in page 67
register addressing

Address

Memory

Content

Instruction

80386

MPU

IP

CS

DS

SS

ES

FS

GS

AX

BX

CX

DX

SP

BP

SI

DI

Register Addressing

0000

01000 8B MOV AX, BX

01001 C3

01002 XX

0100

XXXX

ABCD

ABCD

immediate addressing

Address

Memory

Content

Instruction

80386

MPU

IP

CS

DS

SS

ES

FS

GS

AX

BX

CX

DX

SP

BP

SI

DI

Immediate Addressing

0000

01000 B0 MOV AL, 15H

01001 15

01002 XX

0100

15

XX

direct addressing
Direct Addressing
  • 16-bit Memory Operand Addressing Modes
    • 16-bit addressing modes and 32-bit addressing modes
    • Physical address = Segment Base: EA(effective address)
      • Segment Base Address(SBA) : the starting location of the segment
      • EA : the offset of the operand from the beginning of the segment of memory

EA = Base + Index + Displacement

Base = BX or BP, Index = SI or DI, displacement = 8-bit or 16-bit

16 bit memory operand addressing

01000

01001

01002

01003

01004

IP

CS

DS

8B

0E

34

12

XX

SS

ES

FS

GS

0000

0100

AX

0200

BX

CX

DX

SP

BP

SI

XXXX

DI

03234 ED

03235 BE

BEED

16-bit Memory Operand Addressing
  • Direct Addressing Mode
    • PA = Segment Base : Direct Address
    • MOV CX, [1234H]

MOV CX, [1234H]

16 bit memory operand addressing1

01000

01001

01002

01003

01004

IP

CS

DS

8B

04

XX

XX

XX

SS

ES

FS

GS

0000

0100

AX

0200

BX

CX

DX

SP

BP

XXXX

SI

DI

03234 ED

03235 BE

BEED

1234

16-bit Memory Operand Addressing
  • Register Indirect Addressing Mode
    • PA = Segment Base : Indirect Address {BX,BP,SI,DI}
    • example : MOV AX, [SI]

MOV AX,[SI]

16 bit memory operand addressing2

01000

01001

01002

01003

01004

IP

CS

DS

SS

ES

FS

GS

88

07

34

12

XX

0000

Element n-1

Displacement

AX

0100

BX

0200

Data Structure

CX

+

DX

Element 1

SP

BaseRegister

BP

Element 0

SI

ED

DI

1000

04234

04235

1234

16-bit Memory Operand Addressing
  • Based Addressing Mode
    • PA = Segment Base : {BX or BP} + {8-bit or 16-bit displacement}
    • Base register : the beginning of a data structure (See Fig 3.16 (b) in page 74
    • Example: MOV [BX]+1234H, AL

MOV [BX]+1234H, AL

16 bit memory operand addressing3

01000

01001

01002

01003

01004

IP

CS

DS

SS

ES

FS

GS

AX

BX

CX

DX

SP

BP

SI

DI

16-bit Memory Operand Addressing
  • Indexed Addressing Mode
    • PA = Segment Base : {SI, DI}+{8-bit or 16-bit displacement}
    • Displacement : the starting address of an array; Index: selects the specific element in the array
    • Example: MOV AL, [SI]+2000H

8A

44

34

12

XX

MOV AL, [SI]+1234H

0000

0100

0200

Element n-1

IndexRegister

XX

1000

Array of data

+

BE

05234

05235

Element 1

Displacement

Element 0

2000

16 bit memory operand addressing4
16-bit Memory Operand Addressing
  • Based-Indexed Addressing Mode
    • PA= Seg Base: {BX, BP}+{SI,DI}+{8-bit or 16-bit displacement}
    • to access complex data structures
    • See fig 3.20 in page 80
    • Example: MOV AH, [BX][SI]+1234H

opcode : 8A 44 34 12

32 bit memory operand addressing modes
32-bit Memory Operand Addressing Modes
  • Enhanced in two ways
    • Scale factor : EA = base + (index x scale factor) + displacement
    • PA = Segment Base: EA
32 bit memory operand addressing modes1
32-bit Memory Operand Addressing Modes
  • See fig 3.23 in page 83: change 16-bit displacement to 32-bit displacement
  • How can we specify the 32-bit extension modes?
    • Default (D) bit in the code segment descriptor
    • 2 prefixes to the instruction set

Operand size prefix

Address size prefix