2. Alamat Load-Effective
n Ada beberapa instruksi LEA dalam kumpulan
instruksi 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
5. Alamat Load-Effective (lanjt.)
n LDS, LES, LFS, LGS, LSS
¡ Instruksi LDS, LES, LFS, LGS, LSS mengisi
register 16-bit atau register 32-bit dengan
alamat offset dan register segmen DS, ES,
FS, GS, atau SS
¡ Gambar 4.15 menunjukkan contoh instruksi
LDS, BX,[DI]
n Instruksi ini memindahkan bilangan 32-bit yang
dialamatkan oleh DI dalam segmen data ke
dalam register BX dan DX
n Contoh 4.4
8. 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) atau
auto-decrement (D=1) pada register DI dan SI
pada saat operasi string.
¡ Instruksi CLD akan membuat falg D=0, dan
STD akan membuat flag D=1
9. 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 secara
default 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 (Tabel
4.10)
11. Pemindahan Data String (lanjt.)
¡ Gambar 4.16 memperlihatkan pengaruh eksekusi
instruksi LODSW jika flag D=0, SI=1000H, dan
DS=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)
14. Pemindahan Data String (lanjt.)
¡ Dalam contoh 4.5 diasumsikan bahwa instruksi
STOSW digunakan untuk membersihkan display
teks pada monitor
n MOVS
¡ Instruksi MOVS digunakan untuk memindahkan data
byte atau word atau doubleword dari satu lokasi
memori ke lokasi memori yang lain (Tabel 4.13)
¡ Instruksi MOVS memindahkan data dari segmen
data dengan alamat ditunjukkan oleh SI ke segmen
ekstra dengan alamat yang ditunjukkan oleh DI
¡ Contoh 4.6 merupakan program pendek yang
menggunakan MOVS
18. Pemindahan Data String (lanjt.)
n INS
¡ Instruksi INS (input string) digunakan untuk
memindahkan data dari piranti I/O ke lokasi memori
di segmen ekstra dengan alamat yang ditunjukkan
oleh 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 segmen
yang ditunjukkan SI ke piranti I/O dengan alamat
DX à Tabel 4.15 & contoh 4.8