Download - BAB IV Operasi Perpindahan Data
![Page 1: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/1.jpg)
Operasi perpindahan data
mikroprosesor
![Page 2: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/3.jpg)
![Page 4: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/4.jpg)
![Page 5: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/5.jpg)
• 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](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/6.jpg)
Contoh program operasi PUSH &POP
![Page 7: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/9.jpg)
![Page 10: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/11.jpg)
• 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](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/12.jpg)
![Page 13: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/13.jpg)
![Page 14: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/14.jpg)
• 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](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/15.jpg)
![Page 16: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/16.jpg)
![Page 17: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/17.jpg)
• 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](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/18.jpg)
![Page 19: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/19.jpg)
![Page 20: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/20.jpg)
![Page 21: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/21.jpg)
• 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](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/22.jpg)
![Page 23: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/23.jpg)
![Page 24: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/24.jpg)
![Page 25: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/25.jpg)
![Page 26: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/26.jpg)
![Page 27: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/27.jpg)
• 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](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/28.jpg)
![Page 29: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/29.jpg)
![Page 30: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/30.jpg)
![Page 31: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/31.jpg)
Isi memori DI=100 dan isi memori SI=107 sebelum program dijalankan
![Page 32: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/32.jpg)
Isi memori DI=100 dan isi memori SI=107 Setelah program dijalankan
![Page 33: BAB IV Operasi Perpindahan Data](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/33.jpg)
• 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](https://reader033.vdocuments.mx/reader033/viewer/2022052208/577c7d081a28abe0549d1666/html5/thumbnails/34.jpg)
• 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