ee-2623 mikroprosesor & antarmuka

31
EE-2623 Mikroprosesor & Antarmuka Materi 3 Instruksi Team Dosen 2006

Upload: bryson

Post on 06-Feb-2016

41 views

Category:

Documents


2 download

DESCRIPTION

EE-2623 Mikroprosesor & Antarmuka. Materi 3 Instruksi Team Dosen 2006. JENIS INSTRUKSI. Perpindahan Data. Aritmetik. Kendali Program. Effective Address. Contoh soal:. Format instruksi bhs mesin 8088. Terdiri dari Op-code 8 bit + Operand ( data,register,dll ) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: EE-2623 Mikroprosesor & Antarmuka

EE-2623Mikroprosesor & Antarmuka

Materi 3Instruksi

Team Dosen2006

Page 2: EE-2623 Mikroprosesor & Antarmuka

JENIS INSTRUKSI

Page 3: EE-2623 Mikroprosesor & Antarmuka

Perpindahan Data

MOV Clock

Acc mem 10

Mem acc 10

R R 2

Mem R 8 + EA

R mem 9 + EA

Immed R 4

Immed mem 10 + EA

R seg R 2

Mem seg R 8 + EA

Seg R R 2

Seg R mem 9 + EA

Page 4: EE-2623 Mikroprosesor & Antarmuka

AritmetikADD/SUB Clock DIV Clock

R R 3 8 bit reg 80 sd 90

Mem R 9 + EA 16 bit reg 144 sd 162

R mem 16 + EA 8 bit mem (86 sd 96)+EA

Immed R 4 16 bit mem (150 sd 168)+EA

Immed mem 17 + EA

MUL Clock Shift & Rotate Clock

8 bit reg 70 sd 77 Single bit reg 2

16 bit reg 118 sd 133 Var bit reg 8 + 4/bit

8 bit mem (76 sd 83)+EA Single bit mem 15 + EA

16 bit mem (124 sd 139)+EA Var bit mem 20+EA+4/bit

Page 5: EE-2623 Mikroprosesor & Antarmuka

Kendali ProgramJMP Clock Clock

short 15 JCXZ 6 (no branch)18 (branch)

Intrasegment direct 15 J condition 4 (no branch)16 (branch)

Intersegment direct 15

Intrasegment using reg mode

11

Intrasegment indirect 18 + EA

Intersegment indirect 24 + EA

Page 6: EE-2623 Mikroprosesor & Antarmuka

Instruksi Clock

Instruksi Clock

INC/DEC reg8

3 MOV reg,reg 2

INC/DEC data

23+EA

MOV mem,reg

13+EA

INC/DEC reg16

3 MOV reg,mem

12+EA

LOGIC reg,reg

3 MOV mem,imm

14+EA

LOGIC mem,reg

24+EA

MOV reg,imm

4

LOGIC reg,mem

13+EA

MOV mem,acc

14

MOV seg,reg

2 MOV acc,mem

14

MOV reg,seg

2 MOV seg,mem

12+EA

MOV mme,seg

13+EA

Page 7: EE-2623 Mikroprosesor & Antarmuka

Effective AddressAddressing Mode Clock

Direct 6

Register indirect 5

Register relative 9

Based indexed

(BP)+(DI) or (BX)+(SI) 7

(BP)+(SI) or (BX)+(DI) 8

Based indexed relative

(BP)+(DI)+disp or (BX)+(SI)+disp 11

(BP)+(SI)+disp or (BX)+(DI)+disp 12

Page 8: EE-2623 Mikroprosesor & Antarmuka

Contoh soal:Address Mnemonic Assembly Clock

CS:0100 B8 34 12 MOV AX,1234 4

CS:0103 35 34 12 XOR AX,1234 4

CS:0106 74 02 JZ 010A 16 (branch)

CS:0108 B3 12 MOV BL,12 - (skiped)

CS:010A 8A 0E 34 12 MOV CL,[1234] 8 + 6(EA)

CS:010E 88 16 34 12 MOV [1234],DL 9 + 6(EA)

Total 53

Page 9: EE-2623 Mikroprosesor & Antarmuka

Format instruksi bhs mesin 8088Terdiri dari

Op-code 8 bit+

Operand (data,register,dll)

MOV AX,BX 89 (opcode) D8 (operand)

Page 10: EE-2623 Mikroprosesor & Antarmuka

CodingSesungguhnya bhs mesin diciptakan untuk

kemudahan programmer (manusia)Control Unit di CPU hanya mengerti pola bit

perintahMOV AX,BX 89 D8MOV AL,[2400] A0 00 24ADD AX,BX 01 D8

Page 11: EE-2623 Mikroprosesor & Antarmuka

Kode untuk perintah MOV

1 0 0 0 1 0D W

(5 bit) mode pengalamatanPemilihan registerData byte/word ; 0=byte, 1=wordArah transfer data, dari/ke register ; 0=dari, 1=kekode operasi (operation code)

op code mod reg R/Mlow displacement high displacement

ordirect address

low bytedirect address

high byte

byte 1 byte 2 byte 3 byte 4

Page 12: EE-2623 Mikroprosesor & Antarmuka

Contoh coding MOV AL,BL

Page 13: EE-2623 Mikroprosesor & Antarmuka

Kode Operasi Register 8088/86

code

10

code011100

SS

Seg. Reg.CSDSES

101110

W=0 W=1

001010100111

BPSI

Register

000011

SPDI

AXBXCXDX

AHBHCHDH

ALBLCLDL

Page 14: EE-2623 Mikroprosesor & Antarmuka

Pola MOD dan R/M

d8 : 8 - bit displacement, d16 : 16 - bit displacement

[BX] + [DI] [BX] + [DI] + d8 [BX] + [DI] + d16

00 01 MODR/M

[BX] + [SI] [BX] + [SI] + d8 [BX] + [SI] + d16000

10

[BP] + [SI] [BP] + [SI] + d8 [BP] + [SI] + d16[BP] + [DI] [BP] + [DI] + d8 [BP] + [DI] + d16

[BP] + d16

[BX] [BX] + d8 [BX] + d16

[SI] [SI] + d8 [SI] + d16[DI] [DI] + d8 [DI] + d16

DH

101

110

111

001010011100

d16 direct address

[BP] + d8 SI

DI

W=0 W=1ALCLDLBLAHCH

11

MEMORY MODE REGISTER MODE

BH

AXCXDXBXSPBP

Page 15: EE-2623 Mikroprosesor & Antarmuka

Contoh u/ berbagai Ad. Modemov SP,BX; register A. M.mov CX,[4372H]; direct A.M.mov CL,[BX]; register indirect

A.M.mov [SI + 43H],DH; indexed

relative A.M.mov AL,9CH; immediate A.M. (?)

mov CS:[BX],DL; segment ovverides (?)

Page 16: EE-2623 Mikroprosesor & Antarmuka

Kode Operasi Immediate A.M. dan Segment Override

1 0 1 1 w

0 0 1 1 1 0 1 0 0 0 1 0D W

Immediate Addressing Mode

reg data - low byte data - high byte (w=1)byte 1 byte 2 byte 3

regSegment ovveride prefix

byte 1 byte 2

op code mod reg R/M

Page 17: EE-2623 Mikroprosesor & Antarmuka

Op. Code Acc. ke/dari memori

1 0 1 0 0 0 d w Low byte address High byte addressbyte 1 byte 2 byte 3

Page 18: EE-2623 Mikroprosesor & Antarmuka

Latihan

Page 19: EE-2623 Mikroprosesor & Antarmuka

Mode Pengalamatan

Page 20: EE-2623 Mikroprosesor & Antarmuka

Mode Pengalamatan 80x86

• Addressing Mode / Mode Penglamatan : adalah cara, bagaimana mp dapat mengakses operand

• Mode Pengalamatan pada 80x86:– (1) register– (2) immediate– (3) direct– (4) register indirect– (5) based relative– (6) indexed relative– (7) based indexed relative

Page 21: EE-2623 Mikroprosesor & Antarmuka

Mode Pengalamatan Register

• Menggunakan register untuk menyimpan data yang akan dimanipulasi

• Pada mode ini tidak operasi pada memori • Operasi relatif cepat • Contoh:

MOV BX, DX ;copy isi DX ke BX

MOV ES, AX ;copy isi AX ke ES

ADD AL, BH ;jumlahkan isi BH dan AL, hasilnya di AL• Register sumber dan tujuan mempunyai ukuran yang sama

Page 22: EE-2623 Mikroprosesor & Antarmuka

Mode Pengalamatan Immediate

• Operand (source) adalah konstanta, yang terletak setelah opcode

• Operasinya sangat cepat • Immediate addressing mode dapat digunakan pada

semua register, kecuali register segmen dan flag (?)• Contoh:

– MOV AX,2550H ; bilangan 2550H dimasukkan ke AX– MOV CX,625 ; bilangan 625d dimasukkan ke CX– MOV BL, 40H ; bilangan 40H dimasukkan ke BL

Page 23: EE-2623 Mikroprosesor & Antarmuka

Mode Pengalamatan Langsung (Direct)

• Operand dari instruksi ini merupakan alamat memori data yang akan diakses

• Alamat ini merupakan EA (Effective Address) • Contoh :

– MOV DL, [2400] ;copy isi memori dengan alamat DS:2400H ke DL

Ditandai dengan] [

Page 24: EE-2623 Mikroprosesor & Antarmuka

Mode Pengalamatan Register Tidak Langsung (indirect)

• Alamat lokasi memori data yang akan diakses tersimpan dalam register

• Register yang digunakan pada mode ini : SI, DI, dan BX • contoh

– MOV AL,]BX[ • PA (Physical Address) dan EA (Effective Address) ?

Ditandai dengan] [

Page 25: EE-2623 Mikroprosesor & Antarmuka

Mode Pengalamatan Relatif Base (Base Relative)

• Menggunakan register BX and BP, untuk mendapatkan EA (effective address), ditambah dengan displacement

• Segment yang digunakan untuk mendapatkan physical address (PA) adalah:– DS untuk BX – SS untuk BP

• Contoh :• MOV CX,]BX[+10– Pindahkan isi DS:BX+10 dan DS:BX+10+1 ke reg. CX ;– PA = ?

Page 26: EE-2623 Mikroprosesor & Antarmuka

Mode Pengalamatan Relatif Berindeks (Indexed relative)

• Sama seperti based relative addressing mode, register yang digunakan adalah DI dan SI

• Contoh:1. MOV DX, [SI]+5 ;

2. MOV CL, [DI]+20 ;

Page 27: EE-2623 Mikroprosesor & Antarmuka

Mode Pengalamatan Indeks Berbasis (Based indexed)

• kombinasi based dan indexed addressing modes • Menggunakan satu base reg. dan satu index reg.• Contoh:

MOV CL, [BX][DI] + 8 MOV CH, [BX][SI]+20 MOV AH,[BP][DI]+12 MOV AH,[BP][SI]+29

Page 28: EE-2623 Mikroprosesor & Antarmuka

Offset Register untuk berbagai Segment

SS ES DS CS Segment Register

SP,BP SI, DI, BX SI, DI, BX IP Offset Register

Page 29: EE-2623 Mikroprosesor & Antarmuka

Segmen Override

• CPU 80x86 memungkinkan program untuk mengganti register segmen yang seharusnya dengan register segmen yang lain.

• Contoh : MOV AL,[BX] ; penunjuk alamat fisik adalah DS:BX

• Bandingkan dengan : MOV AL,ES:[BX].

Page 30: EE-2623 Mikroprosesor & Antarmuka

Contoh segment overridesInstruksi Segmen yg

digunakanSegmen seharusnya

MOV AX,CS:[BP] CS:BP SS:BP

MOV DX,SS:[SI] SS:SI DS:SI

MOV AX,DS:[BP] DS:BP SS:BP

MOV CS,ES:[BX]+12 ES:BX+12 DS:BX+12

MOV SS:[BX][DI]+32,AX SS:BX+DI+32 DS:BX+DI+32

Page 31: EE-2623 Mikroprosesor & Antarmuka

ESCSSSDS

4321

CONTROLSYSTEM

AH ALBH BLCH CLDH DL

SPBPSIDI

OPERANDFLAGS

C-BUS

IP

ALU

INSTRUCTIONSTREAM

BYTEQUEUE

A- BUS

BIU

EU

mov SP,BX; register A. M. mov CX,[4372H]; direct

A.M. mov CL,[BX]; register

indirect A.M. mov [SI + 43H],DH;

indexed relative A.M. mov AL,9CH; immediate

A.M. (?)

mov CS:[BX],DL; segment ovverides (?)