• Tidak ada hasil yang ditemukan

Instruksi Mikroprosesor. Mode Pengalamatan-Jenis[1]

N/A
N/A
Protected

Academic year: 2021

Membagikan "Instruksi Mikroprosesor. Mode Pengalamatan-Jenis[1]"

Copied!
19
0
0

Teks penuh

(1)

LOGO

Oleh. Junartho Halomoan ([email protected])

Mikroprosesor dan Antarmuka

Instruksi Mikroprosesor

Mode Pengalamatan-Jenis[1]

Addressing Mode / Mode Penglamatan : adalah

cara, bagaimana 8088 dapat mengakses

operand

Mode Pengalamatan pada 80x86:

– (1) register

– (2) immediate

– (3) direct

(4) register indirect/ register tidak langsung – (5) based relative/ relatif berbasis

– (6) indexed relative/ relatif berindex

– (7) based indexed relative/ relatif berbasis dan index

JUN

(2)

2

Mode Pengalamatan - Reg [2]

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

Mode Pengalamatan-Imm[3]

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

JUN

(3)

Ditandai dengan [ ]

Mode Pengalamatan-Direct[4]

 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

Mode Pengalamatan-Direct[5]

JUN

(4)

4 Ditandai

dengan [ ]

Mode Pengalamatan-Indirect[6]

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) ???

Mode Pengalamatan-Indirect[7]

JUN

(5)

Mode Pengalamatan–Based.Re[8]

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

Salinkan isi DS:BX+10 dan DS:BX+10+1 ke reg. CX (little endian convt.);

PA = ?

Mode Pengalamatan–Index.Re[7]

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

 Contoh:

 MOV DX, [SI]+5 ;

 MOV CL, [DI]+20 ;

JUN

(6)

6

Mode Pengalamatan–Base.Indx[8]

 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

Mode Pengalamatan–Base.Indx[9]

JUN

- ITTELKOM

(7)

Jenis Instruksi.CLK - MOV [1]

MOV Clock Acc  mem 10 Mem  acc 10 R  R 2 Mem  R 12 + EA R  mem 13 + 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

Jenis Instruksi. CLK-Aritmatika[2]

ADD/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

JUN

(8)

8

JMP 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

Jenis Instruksi.CLK-Kend.Prog[3]

Jenis Instruksi.CLK- lainnya [4]

Instruksi Clock Instruksi Clock INC/DEC reg8 3 MOV seg,reg 2 INC/DEC data 23+EA MOV reg,reg 2 INC/DEC reg16 3 MOV mem,reg 13+EA LOGIC reg,reg 3 MOV reg,mem 12+EA LOGIC mem,reg 24+EA MOV mem,imm 14+EA LOGIC reg,mem 13+EA MOV reg,imm 4 LOGIC reg,imm 4 MOV mem,acc 14 LOGIC mem,imm 23/25+E

A MOV acc,mem 14

LOGIC acc,imm 4 MOV seg,mem 12+EA MOV reg,seg 2 MOV mem,seg 13+EA

JUN

(9)

Jenis Instruksi.CLK-Eff.Addr[5]

Addressing 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

Catatan: EA = Effective address

Jenis Instruksi.CLK-contoh [6]

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] 12 + 6(EA) CS:010E 88 16 34 12 MOV [1234],DL 13+ 6(EA)

Total 61

JUN

(10)

10

Terdiri dari

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

Format bhs mesin 8088[1]

bahasa mesin op-code 8 bit operand (data,register,dll) + mnemonic

Format bhs mesin 8088[2]

Sesungguhnya bhs mesin diciptakan untuk

kemudahan programmer (manusia)

Control Unit di CPU hanya mengerti pola bit

perintah

MOV AX,BX



8B C3 (versi EMU

8086/ MASM), 89 D8 (versi debug)

MOV AL,[2400] 

A0

00 24

ADD AX,BX



01 D8

JUN

(11)

Format bhs mesin 8088-MOV[3]

1 0 0 0 1 0 D W

(5 bit) mode pengalamatan Pemilihan register

Data byte/word ; 0=byte, 1=word

Arah transfer data, dari/ke register ; 0=dari, 1=ke kode operasi (operation code)

op code mod reg R/M low displacement high displacement or

direct address

low byte direct addresshigh byte byte 1 byte 2 byte 3 byte 4

Format bhs mesin 8088[4]

code 10 code 01 11 00 SS Seg. Reg. CS DS ES 101 110 W=0 W=1 001 010 100 111 BP SI Register 000 011 SP DI AX BX CX DX AH BH CH DH AL BL CL DL Pola Register

JUN

- ITTELKOM

(12)

12

Format bhs mesin 8088[5]

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

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

00 01

MOD R/M

[BX] + [SI] [BX] + [SI] + d8 [BX] + [SI] + d16 000

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 001 010 011 100 d16 direct address [BP] + d8 SI DI W=0 W=1 AL CL DL BL AH CH 11

MEMORY MODE REGISTER MODE BH AX CX DX BX SP BP

Pola MOD dan R/M

Format bhs mesin 8088-contoh[6]

Contoh: coding MOV AL,BL

JUN

(13)

Format bhs mesin 8088[7]

Contoh u/ berbagai Ad. Mode

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 (?)

ES CS SS DS 4 3 2 1 CONTROL SYSTEM AH AL BH BL CH CL DH DL SP BP SI DI OPERAND FLAGS C-BUS IP ALU INSTRUCTION STREAM BYTE QUEUE 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 (?)

Format bhs mesin 8088[8]

JUN

- ITTELKOM

(14)

14

Format bhs mesin 8088[9]

1 0 1 1 w

0 0 1 1 1 0 1 0 0 0 1 0 D W Immediate Addressing Mode

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

byte 1 byte 2 byte 3

reg

Segment ovveride prefix

byte 1 byte 2 op code mod reg R/M

Kode Operasi Immediate A.M. dan Segment Override

Format bhs mesin 8088[10]

1 0 1 0 0 0 d wbyte 1 Low byte addressbyte 2 High byte addressbyte 3

Op. Code Acc. ke/dari memori

JUN

(15)

Format bhs mesin 8088-Lat[11]

Segment overides[1]

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]

JUN

(16)

16 SS ES DS CS Segment Register SP,BP SI, DI, BX SI, DI, BX IP Offset Register

Segment overides[2]

Offset Register untuk berbagai Segment

Segment overides-contoh[3]

Instruksi Segmen yg

digunakan Segmenseharusnya 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

JUN

(17)

Latihan Soal [1]

If DS=7FA2H and the offset is 438EH, determine: a) The physical address

b) The lower range of the data segment c) The upper range of the data segment d) Show the logical address

a) The Physical address is; 7FA20+438E= 83DAE b) The lower range: 7FA20(7FA20+0000)

c) The upper range: 8FA1F(7FA20+FFFF) d) The logical address is; 7FA2:438E

Latihan Soal [2]

Ex: SP=1236, AX=24B6, DI=85C2, and DX=5F93, show the contents of the stack as each nstruction is executed.PUSH AX, PUSH DI, PUSH DX

SP? SS:SP??

JUN

(18)

18

Latihan Soal [3]

Ex: assume that the stack is shown below, and SP=18FA, show the contents of the stack and registers as each of the following instructions is executed.POP CX,POP DX,POP BX

SP? SS:SP??

Latihan Soal [4]

Ex: Show how the flag register is affected by the addition of 38H and 2FH. CF,PF,AF,ZF,SF?

MOV BH,38H ; ADD BH,2FH ;

CF = 0 since there is no carry beyond d7

PF = 0 since there is odd number of 1`s in the result

AF = 1 since there is a carry from d3 to d4 ZF = 0 since the result is not zero

SF = 0 since d7 of the result is zero

JUN

(19)

Latihan Soal [5]

MOV AX,34F5H SUB AX,95EBH CF,PF,AF,ZF,SF?

CF = 1 since there is carry beyond d15

PF = 0 since there is odd number of 1s in the lower byte

AF = 1 since there is a carry from d3 to d4 ZF = 0 since the result is not zero

SF = 1 since d15 of the result is 1

Thank You!

Please study this subject at home

JUN

Referensi

Dokumen terkait

Kias adalah merupakan salah satu sumber hukum yang menjadikan hukum Islam tidak sempit dan tidak kaku, sebab segala persoalan yang baru muncul dalam kehidupan

ini, maka yang menjadi tujuan dari penelitian ini adalah untuk menjelaskan persepsi dan sikap masyarakat terhadap Bantuan Stimulan Perumahan Swadaya (BSPS) di

Alami, Fikri, Ratna Widyawati, 2010,” Studi Eksperimental Perkuatan Geser Balok Beton Bertulang Dengan Gfrp (Glass Fiber Reinforced Polymer) ” , Jurnal Rekayasa Vol.. ASCE

The significance of the co-production can be seen from these three movies, namely Rodrigo de Villa (Persari-LVN ), Leilani (Persari- LVN), and Holiday in Bali

Proses Perawatan/ Curing Beton.. Proses

Berangkat dari teori komunikasi massa (exposure dan efek), teori budaya, dan teori perilaku, maka dirumuskan hipotesis yang menyatakan bahwa “Eksposure tayangan hiburan

Kegiatan Apresiasi Kawasan Mandiri Pangan tahun 2015 dilaksanakan dua kali pada bulan Maret 2015, dengan sasaran peserta yang berbeda pada periode pertama untuk

The interview protocol contained questions related to academics in an American graduate school, including general and specific differences between American and Indonesian