Anda di halaman 1dari 11

TEKNIK MIKROPROSESSOR INSTRUKSI ASEMBLER Z - 80

Perintah Blok ( Instruksi Blok )


Tujuan Instruksional Umum
Memahami proses instruksi blok

Tujuan Instruksional Khusus


Peserta harus dapat: Menjelaskan proses instruksi pencarian blok Menjelaskan proses instruksi pemindahan blok Menjelaskan proses instruksi masukan data secara blok Menjelaskan proses instruksi mengeluarkan data secara blok 4 x 45 menit

Waktu Alat Bantu Mengajar / Persiapan


Guru Mikro Saya ( GMS ) Papan tulis TTL generator

Kepustakaan
GMS-I ( Guru Mikro Saya ) Muller Walz ; Mikroprosessor - technik ( elektronik - 5 ) ; Vogel Fanchbuch ; Wurzburg ; 1990

Keterangan
Disajikan pada cawu III STM

Program Studi / Bidang Studi:

Dikeluarkan oleh:

Tanggal:

Elektronika Industri
Nama :

Ricki NA/Arie Eric Rawung

17-Nov-12

Halaman:

1 1 7 0 4 0 0 2

0-1

Struktur Materi Pelajaran


PERINTAH INSTRUKSI BLOK 1. Instruksi Pencarian Blok 2. Instruksi Pemindahan Blok 3. Instruksi Masukan Data Secara Blok 4. Instruksi Mengeluarkan Data Secara Blok

Pembagian tahap Mengajar 1. Motivasi


1.1.Guru menanyakan kepada peserta mengenai pelajaran lalu tentang instruksi - instruksi CPU 1.2.Guru menuliskan dan menjelaskan tujuan pelajaran yang harus dicapai

Metode Pengajaran

Alat bantu Mengajar

Waktu

C,T.Jawab Ceramah

P.Tulis P.Tulis

5 3

2.

Elaborasi
1.3.Guru menjelaskan proses instruksi pencarian blok 1.4.Guru menjelaskan proses instruksi pemindahan blok 1.5.Guru menjelaskan proses instruksi memasukkan data secara blok 1.6.Guru menjelaskan proses instruksi mengeluarkan data secara blok Ceramah T.Jawab Ceramah T.Jawab Ceramah T.Jawab Ceramah T.Jawab P.Tulis GMS P.Tulis GMS P.Tulis GMS P.Tulis GMS 20 20 20 20

3.

Konsolidasi
1.7.Peserta diberi kesempatan bertanya 1.8.Guru menjelaskan hal-hal penting Ceramah Ceramah T.Jawab P.Tulis P.Tulis GMS 2

4.

Evaluasi
1.9.Peserta mengejakan soal latihan 1.10.Guru dan peserta mendiskusikan hasil latihan K.Mandiri Diskusi T.Jawab L.Latihan P.Tulis L.Latihan GMS 45 45

Halaman:

0-3

TEKNIK MIKROPROSESSOR INSTRUKSI ASEMBLER Z - 80

Perintah Blok ( Instruksi Blok )


Tujuan Instruksional Umum
Memahami proses instruksi blok

Tujuan Instruksional Khusus


Peserta harus dapat: Menjelaskan proses instruksi pencarian blok Menjelaskan proses instruksi pemindahan blok Menjelaskan proses instruksi masukan data secara blok Menjelaskan proses instruksi mengeluarkan data secara blok

Materi Pelajaran
A. Perintah Blok A.1. Perintah Pencarian Blok Dengan bantuan perintah ini sebuah konstanta dapat dicari didalam sebuah daerah penyimpan atau blok penyimpan. Perintah pencarian ini dipergunakan register - register berikut : A = Harus berisikan konstanta yang dicari HL = Penunjuk data, ber-isikan alamat awal penyimpan yang isinya akan dibandingkan dengan isi AKKU. BC = Berisikan jumlah lokasi penyimpan yang akan dibandingkan isinya

Halaman:

1-1

Mnemonik : CPI CP I D R = = = = CPIR membandingkan ( Compare ) menambah 1 ( Increment ) mengurangi 1 ( Decrement ) mengulangi ( Repeat ) CPD CPDR

Operasi : A - (HL) HL = HL + 1 BC = BC - 1 A - (HL) HL = HL + 1 BC = BC - 1 diulangi bila A<> (HL) dan BC <> 0 A - (HL) HL = HL + 1 BC = BC - 1 A - (HL) HL = HL + 1 BC = BC - 1 diulangi bila A<> (HL) dan BC <> 0

Jalannya operasi mengikuti langkah - langkah berikut : Isi AKKU dibandingkan dengan isi dari lokasi penyimpan yang ditunjuk oleh register (HL). Bila sama flag Z=1 Penunjuk HL ditambah 1 untuk [CPI,CPIR] atau dikurangi 1 untuk [CPD,CPDR]. Register penghitung BC,pertama dikurangi 1 dan kemudian diuji,bila = 0 maka Flag P/V = 0 (Parity Odd). Pada perintah CPIR dan CPDR ,Flag Z dan P/V diuji, pengulangan perintah akan berakhir,bila flag Z= 1. atau P/V = 0 ( Pencarian Blok ), bila tidak isi PC dikurangi 2 dan perintah pencarian diulangi.

Contoh : 0900 0903 0906 0908 090A LD HL,0B00H LD BC,0002H LD A,0DH CPIR HALT alamat awal dari blok data/daerah penyimpan panjang dari blok data konstanta yang dicari perintah pencarian blok mengakhiri program

Halaman:

1-2

A.2. Perintah Pemindahan Blok Disini dengan bantuan sebuah perintah,sebuah daerah penyimpan atau blok data yang panjangnya sampai 6K, dari sebuah daerah dapat dipindahkan ke daerah yang lain. Daerah sumber dan daerah tujuan penyimpanan dapat bertumpang tindih. Register yang dipergunakan : DE = Penunjuk data ( alamat awal dari daerah tujuan penyimpanan ) HL = Penunjuk data ( alamat awal dari daerah sumber penyimpan ) BC = Penghitung dari panjang blok penyimpan data Mnemonik : LDI LD= R = I = D = LDIR mengisi ( Load ) mengulangi ( Repeat ) mengulangi ( Increment ) mengurangi 1 ( Decrement ) LDD LDDR

Operasi : (DE): = (HL) HL: = HL + 1 DE: = DE + 1 BC: = BC - 1

(DE): = (HL) HL: = HL + 1 DE: = DE + 1 BC: = BC - 1 diulangi bila BC <> 0

(DE): = (HL) HL: = HL - 1 DE: = DE - 1 BC: = BC - 1

(DE): = (HL) HL: = HL - 1 DE: = DE - 1 BC: = BC - 1 diulangi bila BC <> 0

Isi lokasi memori yang alamatnya ditunjuk oleh register HL diisi ke register sementara di CPU dan kemudian isi dari register sementara akan diisi ke lokasi penyimpan yang alamatnya ditunjuk oleh register DE. Kedua penunjuk data DE dan HL ditambah 1 untuk (LDI,LDIR) atau dikurangi 1 untuk (LDD<LDDR). Register penghitung BC dikurangi 1 setiap saat,bila BC = 0, maka flag P/V akan sama dengan 1. Pada perintah LDIR dan LDDR flag P/V akan diuji, perintah akan diulangi selama flag P/V = 1

Flag : H=0 ;N=0 ; P/V = 0 Bila setelah pelaksanaan perintah BC = 0 yang lain tidak terpengaruh Contoh : Sebuah daerah penyimpan dari alamat 0A00H - 0AFFH harus dipindahkan ke 9 alamat berikutnya, supaya tidak terjadi penumpukkan data, maka pemindahan harus dimulai dari alamat tertinggi dari daerah sumber penyimpan. LD HL, 0AFFH LD DE, 0B08H LD BC, 0100H LDDR 0A00H 0A09H Alamat tertinggi dari daerah sumber penyimpan. Alamat tertinggi dari daerah tujuan penyimpan. Jumlah lokasi penyimpan (0AFFH - 0A00H) + 1) Memindahkan daerah penyimpanan/blok data

0AFFH 0B08H

Pemindahan data pertama

Halaman:

1-3

A.3 Perintah Masukan Dan Keluaran Data Secara Blok Dengan sebuah perintah ini,operasi masukan dan keluaran yang dapat dilaksanakan adalah 256 kali. A.3.1. Perintah Masukan Dan Keluaran Data Secara Blok Register yang dipakai : B = Register penghitung C = Penunjuk alamat untuk alamat unit masukan/keluaran HL = Penunjuk alamat untuk lokasi penyimpan INI IN R I D = = = = INIR masukan ( Input ) mengulangi ( Repeat ) menambah 1 ( Increment ) mengurangi 1 ( Decrement ) IND INDR

Operasi : Register r : = (C) (HL): = Register r HL: = HL + 1 B: = B - 1 Register r : = (C) (HL): = Register r HL: = HL + 1 B: = B - 1 diulangi bila BC <> 0 Register r : = (C) (HL): = Register r HL: = HL - 1 B: = B - 1 Register r : = (C) (HL): = Register r HL: = HL - 1 B: = B - 1 diulangi bila BC <> 0

Isi register C mengisi penghantar alamat A7 - A0, isi register B mengisi penghantar alamat A15 A8 Isi register masukan/keluaran yang dialamatkan melalui register C akan diisi ke register sementara r di CPU. Isi dari Reg.r diisi ke lokasi penyimpan yang dialamatkan oleh HL. Penunjuk data HL ditambah 1 untuk (INI,INIR) atau dikurangi 1untuk (IND,INDR). Register penunjuk B dikurangi 1, bila B = 0, maka Flag Z = 1 Pada perintah INIR dan INDR, Flag Z akan diuji dan perintah akan diulangi selama B<>0.

Flag : S P/V N C 0900 0903 0906 0908 = tidak dikenal (tidak terpengaruh) dan H = tidak tentu = 1 bila B = 0 , setelah pengurangan = tidak terpengaruh LD BC, 0601H LD HL, 0AFFH INDR HALT Register sementara di CPU akan diisi 6 byte ( 6 kali dari alamat port 01H ) Penunjuk data diisi dengan alamat pertama dari lokasi penyimpan Setelah dilaksanakan 6 kali alamat berikutnya pada 0908H Mengakhiri program

Halaman:

1-4

A.3.2. Perintah Mengeluarkan Data Secara Blok Mnemonik : OUTI OUT R I D = = = = OUIR keluaran ( OUT ) mengulangi ( Repeat ) menambah 1 ( Increment ) mengurangi 1 ( Decrement ) OUTD OUTR

Operasi : Register r : = (HL) B: = B - 1 (C): = Register r HL: = HL + 1 Register r : = (HL) B: = B - 1 (C): = Register r HL: = HL + 1 diulangi bila BC <> 0 Register r : = (HL) B: = B - 1 (C): = Register r HL: = HL - 1 Register r : = (HL) B: = B - 1 (C): = Register r HL: = HL - 1 diulangi bila BC <> 0

Register sementara dari CPU akan diisi oleh isi dari lokasi penyimpan yang alamatnya ditunjuk oleh HL Register penghitung B dikurangi 1, jadi sebelum mengeluarkan data. Isi dari Reg.C akan mengisi penghantar alamat A7 - A0, Isi Reg. B akan mengisi penghantar alamat A15 - A8 dan Register masukan/keluaran yang ditunjuk oleh Register C akan diisi oleh isi dari register sementara. HL ditambah 1untuk (OUTI,OTIR) atau dikurangi 1 untuk (OUTD,OTDR). Pada perintah OTIR dan OTDR, Flag Z akan diuji dan perintah akan diulangi selama B<>0.

Flag : S = tidak dikenal (tidak terpengaruh) P/V dan H = tidak tentu N = 1 bila B = 0 , setelah pengurangan C = tidak terpengaruh 0900 0903 0906 0908 LD BC, 0601H LD HL, 0A00H OTIR HALT Register sementara di CPU akan diisi 6 byte ( 6 kali dari alamat port 01H ) Penunjuk data diisi dengan alamat pertama dari lokasi penyimpan Setelah dilaksanakan 6 kali alamat berikutnya pada 0908H Mengakhiri program

Halaman:

1-5

Latihan
1. Jelaskan fungsi dari perintah : LDI ; LDIR ; LDD ; LDDR ! 2. Apa Mnemonik - Mnemonik dari perintah masukan data secara blok ? 3. 4. Apa Mnemonik - Mnemonik dari perintah mengeluarkan data secara blok ?

Halaman:

2-1

Jawaban
1. Mnemonik : LDI ; LDIR ; LDD ; LDDR adalah perintah/Instruksi pemindahan Blok. 2. Apa Mnemonik - Mnemonik dari perintah masukan data secara blok ? Mnemonik Mnemonik Mnemonik Mnemonik : : : : INI INIR IND INDR

3. Apa Mnemonik - Mnemonik dari perintah mengeluarkan data secara blok ? Mnemonik Mnemonik Mnemonik Mnemonik : : : : OUTI OUIR OUTD OTDR

Halaman:

3-1

Transparan

Halaman:

4-1

Anda mungkin juga menyukai