micro 2

8
LAPORAN PRAKTIKUM Instruksi Aritmatika dan Operasi Logika Praktek Mikroprosesor 1 Job Sheet 2 Nama : DENNY SETIAWAN NIM : 3201311036 Kelas : V B Kelompok : 1 Anggota Kelompok : Denny Setiawan Ranto susilo Isah Andi Rintis Sanjaya LABORATORIUM TEKNIK ELEKTRONIKA JURUSAN TEKNIK ELEKTRO

Upload: denny-setiawan

Post on 09-Dec-2015

9 views

Category:

Documents


2 download

DESCRIPTION

micro

TRANSCRIPT

LAPORAN PRAKTIKUMInstruksi Aritmatika dan Operasi LogikaPraktek Mikroprosesor 1Job Sheet 2

Nama

:DENNY SETIAWANNIM

:3201311036Kelas

:V BKelompok

:1

Anggota Kelompok: Denny Setiawan

Ranto susilo

Isah

Andi

Rintis Sanjaya

LABORATORIUM TEKNIK ELEKTRONIKA JURUSAN TEKNIK ELEKTROPOLITEKNIK NEGERI PONTIANAK2015

Instruksi Aritmatika dan Operasi LogikaI . Tujuan

Tujuan dari praktikan yang dilakukan, diharapkan mahasiswa dapat :

Memahami fungsi dari flag register pada mikroprosesor Z-80

Memahami instruksi-instruksi aritmatika seperti penjumlahan, pengurangan dan lain sebagainya.

Memahami instruksi-instruksi operasi logika seperti AND, XOR, RR, RL dan lain sebagainyaII. a. Tugas Pendahuluan1. Flag Register pada Z-80 berisi Carry flag, Negative flag, Parity/Overflow flag, Auxiliary carry flag, Zero flag dan Sign flag. Sebutkan fungsi dari masing-masing bagian flag register tersebut ?

Jawab:

Carry Flag (CF) akan meng 'set' (menjadi logika '1', tinggi), apabila terjadi 'bawaan' (carry) atau 'pinjaman' (borrow) dalam suatu hasil proses perhitungan (arithmetic) pada Most Significant Bit (MSB, bit paling berbobot). Jika hal-hal itu tidak terjadi maka CF akan 'reset' (logika '0', rendah). Kalau dalam suatu instruksi, terjadi hasil yang menunjukkan bahwa sistem pengecekan paritas adalah 'paritas genap' (even parity), maka PF akan 'set'. Bila yang terjadi 'paritas ganjil' (odd parity), PF akan me'reset'.Overflow Flag, berguna untuk menunjukkan bahwa telah terjadi 'overflow' yaitu jumlah bit sebagai hasil suatu proses perhitungan telah melampaui batas yang diperkenankan. Mikroprosesor 8088 mempunyai kemampuan untuk bekerja dalam mode 'langkah tunggal' (single-step), yaitu semua instruksi dilaksanakan dengan cara satu demi satu. Mode ini dimungkinkan dengan jalan membuat TF (Trap Flag) masuk ke logika '1' atau 'set'. Bagi seorang programmer, mode ini akan sangat berguna dalam pekerjaan 'debugging'.Auxiliary Carry Flag dipakai untuk menunjukkan hasil perhitungan pada byte rendah dari suatu bilangan binary 16 bit. Jika terjadi 'bawaan' atau 'pinjaman' dari nibble bawah (low nibble) ke nibble atas (high nibble), .AF akan 'set', sebaliknya AF akan di 'reset'. Zero Flag akan 'set' kalaudalam suatu proses perhitungan di hasilkan nilai nol. Bila hasilnya bukan nol, ZF akan 'reset'.Sign Flag adalah bit yang akan mendeteksi suatu bilangan sebagai bilangan positif atau bilangan negatif. Hal ini dilakukan dengan melihat MSB dari bilangan tersebut. Apabila MSB menunjukkan nilai '1' (set), maka bilangan itu adalah negatif, jika '0' (reset), bilangan positif.2. Apa saja yang termasuk instruksi aritmatika, sebutkan masing-masing kegunaannya Jawab: Instruksi ADD digunakan untukmelakukan operasi penjumlahan 8 bit dan 16 bit.

Instruksi SUB digunakan hanya untuk melakukan operasi pengurangan 8 bit.Instruksi ADC digunakan untuk menambahkan isi register A dengan data 8 bit yang berada pada suatu register atau data immediate atau data suatu lokasi memori dan mengikut sertakan bit Carry (C) yang ada di register F.Instruksi SBC digunakan untuk mengurangkan isi register A dengan data 8 bit yang berada pada suatu register atau data immediate atau data suatu lokasi memori dengan mengikutsertakan bit carry flag.3. Apa saja yang termasuk instruksi operasi logika, sebutkan masing-masing kegunaannya ?

Jawab:Instruksi AND, OR, dan XOR digunakan untuk melakukan operasi logika isi dari akumulator terhadap data suatu register 8 bit atau data immediate, atau data suatu lokasi memori.Simbol operasi Logika adalah sbb :

4. Anggap memori yang berada dilokasi 40h berisi data operand 6Ah. Tentukan hasil dari memori yang beralamat di 41h, bila source program seperti dibawah ini :

LD A, (40H)

CPL

LD (41H), A

RST 08H

Jawab:Hasil dari memori yang beralamat di 41h adalah 64h

5. Sample Problem :

(0040) = 38

(0041) = 2B

(0042) = 63?

Source Program :

LD A, (40H)

LD B, A

LD A, (41H)

ADD A, B

LD (42H), A

RST 08H

Jawab: (0042) = 63

III. Alat dan BahanTraining Kit MTS-80A

IV. Prosedur Percobaan

Percobaan 11. Buatlah program dibawah ini dengan mengkonversi terlebih dahulu kode mnemonic kedalam kode machine.

LD SP, 9000H

AND A

LD B, 09H

LD A, 0FFH

INC A

ADC A, B

XOR A

ADD A, B

ADD A, 88H

SCF

SBC A, 33H

SUB 25H

RST 08H

2. Cek listing program saudara dengan menekan tombol reset. Kemudian tekan tombol step, begitu seterusnya sampai dengan instruksi RST 08H.3. Isilah tabel 1 sebagai prediksi isi akumulator dan keadaan status flag register pada masing-masing instruksi yang ada.4. isi register A dengan 00 dan register B dengan 00 dengan menekan tombol RESET, REG, 0, 0, 0, F, F. Selanjutnya tekan lagi tombol REG, 1, 0, 0, F, F.5. Isi tabel 2 dari hasil percobaan yang telah saudara lakukan dengan melakukan eksekusi program step by step dengan memanfaatkan fungsi tombol STEP dan amati perubahan register dengan menekan tombol REG (menampilkan posisi Program Counter, Stack Pointer dan keadaan flag register pada saat ini) kemudan tekan tombol INC (mengecek isi register). V. Tabel DataTabel 1Prediksi

AlamatMenemonicRegisterFlag

ABSZHVNC

8000LD SP,90000000111111

8003AND A

8004LDB,09H

8006LD A, 0FFH

8008INC A

8009ADC A,B

800AXOR A

800BADD A,B

800CADD A,88H

800ESCF

8011SBC A,33H

8013SUB 25H

8015RST 08H

Tabel 2

Hasil Eksekusi Program

AlamatMenemonicRegisterFlag

ABSZHVNC

8000LD SP,90000000111111

8003AND A

8004LD B,09H

8006LD A, 0FFH

8008INC A

8009ADC A,B

800AXOR A

800BADD A,B

800CADD A,88H

800ESCF

8011SBC A,33H

8013SUB 25H

8015RST 08H

IV. Analisa Data

1. Buat tabel konversi dari kode mnemonic ke code machine sesuai listing program yang ada pada percobaan 1 ?

2. Jelaskan maksud dari listing program yang ada pada percobaan 1 dan buatkan flowchartnya ?

3. Jelaskan proses perubahan flag register dari masing-masing instruksi ?