Post on 11-Apr-2019
Instruksi-InstruksiPemindahan Data
Sistem KomputerUniversitas Gunadarma
Alamat Load-Effective
n Ada beberapa instruksi LEA dalam kumpulaninstruksi mikroprosesor¡ Tabel 4.9 berisi instruksi alamat LEA
n LEA¡ Intruksi LEA memuat register 16-bit atau 32-
bit dengan alamat offset dari data yang ditetapkan oleh operand.
¡ Contohnya, LEA AX,NUMB¡ Membandingkan : LEA BX,[DI] & MOV BX,[DI]¡ Contoh 4.3
Alamat Load-Effective (lanjt.)
Alamat Load-Effective (lanjt.)
Alamat Load-Effective (lanjt.)
n LDS, LES, LFS, LGS, LSS¡ Instruksi LDS, LES, LFS, LGS, LSS mengisi
register 16-bit atau register 32-bit denganalamat offset dan register segmen DS, ES, FS, GS, atau SS
¡ Gambar 4.15 menunjukkan contoh instruksiLDS, BX,[DI] n Instruksi ini memindahkan bilangan 32-bit yang
dialamatkan oleh DI dalam segmen data kedalam register BX dan DX
n Contoh 4.4
Alamat Load-Effective (lanjt.)
Alamat Load-Effective (lanjt.)
Pemindahan Data String
n Ada 5 instruksi pemindahan data string: LODS, STOS, MOVS, INS, dan OUTS
n Flag Arah¡ Flag arah (D) –berada pada register flag-
memilih operasi auto-increment (D=O) atauauto-decrement (D=1) pada register DI dan SI pada saat operasi string.
¡ Instruksi CLD akan membuat falg D=0, danSTD akan membuat flag D=1
Pemindahan Data String (lanjt.)
n DI dan SI¡ Alamat offset pada DI mengakses data dalam
segmen ekstra untuk semua instruksi string yang digunakan.
¡ Alamat offset pada SI mengakses data secaradefault pada segmen data
n LODS¡ Instruksi LODS memuat register AL, AX, atau EAX
dengan data yang disimpan pada alamat offset segmen data yang ditunjuk oleh register SI (Tabel4.10)
Pemindahan Data String (lanjt.)
Pemindahan Data String (lanjt.)
¡ Gambar 4.16 memperlihatkan pengaruh eksekusiinstruksi LODSW jika flag D=0, SI=1000H, danDS=1000H
n STOS¡ Instruksi STOS menyimpan isi register AL, AX, atau
EAX pada lokasi memori segmen ekstra yang alamatnya ada di register DI
¡ Tabel 4.11 berisi instruksi STOS yang diijinkan¡ Instruksi STOSB (stores a byte), STOSW (stores a
word) dan STOSD (stores a doubleword)
Pemindahan Data String (lanjt.)
Pemindahan Data String (lanjt.)
Pemindahan Data String (lanjt.)
¡ Dalam contoh 4.5 diasumsikan bahwa instruksiSTOSW digunakan untuk membersihkan display teks pada monitor
n MOVS¡ Instruksi MOVS digunakan untuk memindahkan data
byte atau word atau doubleword dari satu lokasimemori ke lokasi memori yang lain (Tabel 4.13)
¡ Instruksi MOVS memindahkan data dari segmendata dengan alamat ditunjukkan oleh SI ke segmenekstra dengan alamat yang ditunjukkan oleh DI
¡ Contoh 4.6 merupakan program pendek yang menggunakan MOVS
Pemindahan Data String (lanjt.)
Pemindahan Data String (lanjt.)
Pemindahan Data String (lanjt.)
Pemindahan Data String (lanjt.)
n INS¡ Instruksi INS (input string) digunakan untuk
memindahkan data dari piranti I/O ke lokasi memoridi segmen ekstra dengan alamat yang ditunjukkanoleh register DI
¡ Alamat I/O diisikan pada register DX¡ Lihat tabel 4.14 dan contoh 4.7
n OUTS¡ Instruksi OUTS (output string) digunakan untuk
memindahkan data dari lokasi memori segmenyang ditunjukkan SI ke piranti I/O dengan alamatDX à Tabel 4.15 & contoh 4.8
Pemindahan Data String (lanjt.)
Pemindahan Data String (lanjt.)
Pemindahan Data String (lanjt.)
Pemindahan Data String (lanjt.)