Instruksi-Instruksi Pemindahan 2+-+Mikro... · Pemindahan Data String n Ada 5 instruksi pemindahan…

  • View
    215

  • Download
    0

Embed Size (px)

Transcript

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 untukmemindahkan 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.)