bab iv operasi perpindahan data

34
Operasi perpindahan data mikroprosesor

Upload: ejarenollx-tm

Post on 09-Jul-2016

63 views

Category:

Documents


13 download

DESCRIPTION

sistem mikroprosesor

TRANSCRIPT

Page 1: BAB IV Operasi Perpindahan Data

Operasi perpindahan data

mikroprosesor

Page 2: BAB IV Operasi Perpindahan Data

Instruksi perpindahan data• Push • Instruksi untuk memasukkan (menyimpan ) sebuah data ke dalam

tumpukan (stack). • Data asal berupa isi dari sebuah register , atau isi dari suatu lokasi

memori, atau data langsung (mentah). Ukuran data mentah 8, 16 atau 32 bit.

• Sintaks : PUSH REG PUSH [alamat] PUSH dataContoh PUSH BX ; menyimpan isi register BX ke stack PUSH [DI] ; menyimpan isi lokasi memori beralamat (DSx10 +DI) ke stack PUSH 12h ; menyimpan data 12h ke stack Alamat stack dibentuk oleh register SS dan SP (SS:SP)

Page 3: BAB IV Operasi Perpindahan Data
Page 4: BAB IV Operasi Perpindahan Data
Page 5: BAB IV Operasi Perpindahan Data

• POP

• Instruksi untuk mengambil kembali sebuah data dari dalam tumpukan (stack) untuk diletakkan kembali kedalam suatu register 16 bit atau ke lokasi memori 16 bit tertentu

• Sintaks : POP REG– POP [alamat]– POPF– Contoh– POP BX ; mengambil isi stack paling atas dan

meletakkannya di register BX– POP [DI] ; mengambil isi stack paling atas dan

meletakkannya di lokasi memori beralamat (DS:DI)– POP [ESI] ; mengambil isi stack paling atas dan

meletakkannya dilokasi memori yang beralamat [DS:ESI]

Alamat stack dibentuk oleh register SS dan SP (SS:SP)

Page 6: BAB IV Operasi Perpindahan Data

Contoh program operasi PUSH &POP

Page 7: BAB IV Operasi Perpindahan Data

Setelah instruksi PUSH AX dapat dilihat isi stack berisi 5699H

Sebelum instruksi PUSH AX dapat dilihat isi stack dengan mengetikkan perintah alamat stack yaitu DFFEE. Terlihat isi stack masih kosong

Page 8: BAB IV Operasi Perpindahan Data

instruksi POP DX menyebabkan isi stack (5699H) disalin ke register DX ( register DX berisi 5699H) , kemudian stack kembali kosong dan alamat stack kembali menjadi FFEE

Instruksi POP CX menyebakan isi stack paling atas (1234H) disalin ke register CX (register CX berisi 1234H) dan alamat stack menjadi FFEC.

Setelah instruksi PUSH BX dapat dilihat isi stack menjadi 1234H pada alamat FFEA dan 5699H pada alamat FFEC

Page 9: BAB IV Operasi Perpindahan Data
Page 10: BAB IV Operasi Perpindahan Data

Contoh program memakai operasi stack untuk mencetak huruf dari A -Z

Penjelasan program:Baris MOV BL,DL di baris kelima diatas diganti dengan PUSH DX yang berarti melakukan operasi penyimpanan register stack , dan baris MOV DL,BL diganti dengan POP DX yang berarti mengambil isi stack .

Hasil Program

Page 11: BAB IV Operasi Perpindahan Data

• XCHG (EXCHANGE)

• Instruksi XCHG berfungsi untuk menukarkan isi suatu register dengan register lainnya atau isi suatu register dengan isi suatu memori

• Sintaks

• XCHG reg, reg• XCHG reg, [almat]

• Contoh • XCHG AX,BX ; menukarkan isi register AX dan BX• XCHG DX,[DI] ; menukarkan isi register DX dan isi lokasi

memori beralamat (DSx10 +DI)• XCHG [SI],CH ; menukarkan isi lokasi memori yang

beralamat (DSx10 +SI) dengan isi register CH

Page 12: BAB IV Operasi Perpindahan Data
Page 13: BAB IV Operasi Perpindahan Data
Page 14: BAB IV Operasi Perpindahan Data

• LEA (Load Effective Address)

• Instruksi LEA akan mengambil alamat suatu data pada lokasi memori tertentu dan meletakkannya di suatu register 16 bit

• Sintaks

• LEA reg, [alamat]

• Contoh • LEA BX,[DI] ; alamat offset yang ditunjukkan oleh DI (isi register DI )

diambil dan diletakkan di BX LEA AX,[SI] ; alamat offset yang ditunjukkan oleh SI (isi register SI ) diambil dan diletakkan di AX

Page 15: BAB IV Operasi Perpindahan Data
Page 16: BAB IV Operasi Perpindahan Data
Page 17: BAB IV Operasi Perpindahan Data

• LODS (Load string)– Instruksi lods akan memindahkan data string pada segmen data yang

alamat offsetnya ditunjukkan oleh isi register SI ke accumulator (AL,AX). Setelah memindahkan data isi register SI akan diincrement ( bila D=0) atau decerement (D=1)

– Contoh• LODSB ; data pada lokasi memori beralamat (DSx10+SI) dipindahkan ke

register AL ; SI=SI+1

• LODSW ; data pada lokasi memori beralamat (DSx10+SI) dipindahkan ke register AX ; SI=SI+2

• LODSD ; data pada lokasi memori beralamat (DSx10+SI) dipindahkan ke register EAX ; SI=SI+4

Page 18: BAB IV Operasi Perpindahan Data
Page 19: BAB IV Operasi Perpindahan Data
Page 20: BAB IV Operasi Perpindahan Data
Page 21: BAB IV Operasi Perpindahan Data

• STOS (STORE string)

– Instruksi STOS akan memindahkan string dari accumulator (AL,AX, EAX) ke extra segmen yang alamat offsetnya ditunjukkan oleh isi register DI (ES:DI).

– Contoh• STOSB ; isi register AL dipindahkan ke lokasi memori beralamat

(ESx10+DI) ; DI=DI+1

• STOSW ; isi register AX dipindahkan ke lokasi memori beralamat (ESx10+DI) ; DI=DI+2

• STOSD ; isi register EAX dipindahkan ke lokasi memori beralamat (ESx10+DI) ; DI=DI+4

Page 22: BAB IV Operasi Perpindahan Data
Page 23: BAB IV Operasi Perpindahan Data
Page 24: BAB IV Operasi Perpindahan Data
Page 25: BAB IV Operasi Perpindahan Data
Page 26: BAB IV Operasi Perpindahan Data
Page 27: BAB IV Operasi Perpindahan Data

• MOVS (Move string)

– Instruksi MOVS akan memindahkan string ke suatu lokasi memori lain Instruksi ini memindahkan sebuah byte, word, double word dari suatu segmen beralamat offset SI ke extra segmen DI .

– Contoh• MOVSB ; isi lokasi memori beralamat (ESx10+DI) dipindahkan ke alamat

(ESx10+DI) ; DI=DI+1, SI= SI+1

• MOVSW ; isi lokasi memori beralamat (ESx10+DI) dipindahkan ke alamat (ESx10+DI) ; DI=DI+2, SI= SI+2

• MOVSD ; isi lokasi memori beralamat (ESx10+DI) dipindahkan ke alamat (ESx10+DI) ; DI=DI+4, SI= SI+4

Page 28: BAB IV Operasi Perpindahan Data
Page 29: BAB IV Operasi Perpindahan Data
Page 30: BAB IV Operasi Perpindahan Data
Page 31: BAB IV Operasi Perpindahan Data

Isi memori DI=100 dan isi memori SI=107 sebelum program dijalankan

Page 32: BAB IV Operasi Perpindahan Data

Isi memori DI=100 dan isi memori SI=107 Setelah program dijalankan

Page 33: BAB IV Operasi Perpindahan Data

• Jelaskan baris-baris program berikut, ilustrasikan menggunakan peta register .•  • MOV BX,8332• PUSH BX• POP AX• XCHG AX,BX• MOV DI,0100• MOV SI,200 • LEA BX,[DI]• LODSB• LODSW• STOSW• MOVSB• INT 20

Page 34: BAB IV Operasi Perpindahan Data

• Ketik program berikut menggunakan emulator , amati perubahan isi register dan memori serta kalimat yang dicetak.

• ORG 100h• JMP Proses• Kal DB 'Teknik Elektro $'• Ganti DB 'UNP $'• Proses:• LEA DX,Kal• PUSH DX• MOV AH,09H• INT 21h• LEA DX,Ganti• INT 21h• POP DX• INT 21h• ret