Selamat Datang....

Menyajikan informasi Sinunukan, silakan kirim kritik dan saran kepada saya. Anda jg dapat mengirim seputar sinunukan untuk diterbitkan di blog ini.
Terimakasih

17 April 2010

Makalah Instruksi Aritmatika

KATA PENGANTAR

Segala puji bagi Allah SWT yang telah menolong hamba-Nya menyelesaikan makalah ini dengan penuh kemudahan. Tanpa pertolongan Dia mungkin penyusun tidak akan sanggup menyelesaikan dengan baik.

Makalah ini disusun agar pembaca dapat memperluas ilmu tentang MIKROPROSESSOR yaitu yang kami sajikan berdasarkan pengamatan dan penyeleksian dari berbagai sumber. Makalah ini di susun oleh penyusun dengan berbagai rintangan. Baik itu yang datang dari diri penyusun maupun yang datang dari luar. Namun dengan penuh kesabaran dan terutama pertolongan dari Tuhan akhirnya makalah ini dapat terselesaikan.

Makalah ini memuat tentang ringkasan Materi dari Kelompok 7 yaitu unit ARITMATIKA. Walaupun makalah ini mungkin kurang sempurna tapi juga memiliki detail yang cukup jelas bagi pembaca..

Semoga makalah ini dapat memberikan wawasan yang lebih luas kepada pembaca. Penulis menyadari bahwa dalam penulisan makalah ini masih banyak kekurangan, oleh sebab itu penulis angat mengharapkan kritik dan saran yang membangun. Dan semoga dengan selesainya makalah ini dapat bermanfaat bagi pembaca dan teman-teman. Amin...

Yogyakarta, Oktober 2009

Penulis

DAFTAR ISI

HALAMAN JUDUL…………………………………………………..

KATA PENGANTAR…………………………………………………

DAFTAR ISI ………………………………………………………….

BAB I PENDAHULUAN…………………………………………..

A. Latar Belakang……………………………………………

B. Tujuan Penelitian…………………………………………

C. Batasan Masalah…………………………………………

D. Metoda Penelitian………………………………………..

E. Sistematika Penulisan.....................................................

BAB III PEMBAHASAN INSTRUKSI ARITMATIKA……………

A. Instruksi Penjumlahan....................................................

B. Instruksi Pengurangan…………………………………...

C. Instruksi Increment dan Decrement……………………..

D. Instruksi Compare……..………………………………..

BAB IV PENUTUP…………………………………………………...

A. Kesimpulan………………………………………………

B.Saran………………………………………………………

DAFTAR PUSTAKA .......................................................................

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Mikroprosesor merupakan bagian yang berfungsi mengendalikan semua bagian dari sistem mikroprosesor misalnya pengolahan data , menjalankan program. Dalam perancangan sistem mikroprosesor perlu diperhatikan pemilihan dari jenis mikroprosesor misalnya Z-80, 8086, 6801, 6809, dan lain-lain. Perlu dipelajari terlebih dahulu jenis mikroprosesor yang akan digunakan, sehingga sesuai dengan kebutuhan yang diperlukan. Secara garis besar bagian dari mikroprosesor yang berhubungan dengan komponen-komponen lainnya.

Mikroprosesor adalah suatu rangkaian yang dirancang dengan teknologi VLSI (Very Large Scale Integration) sedemikian rupa dengan dimensi yang sangat kecil dan dibuat dalam sati “Chip” IC (integrated Circuit), berfungsi untuk menyelesaikan suatu masalah fenomena digital dengan fungsi yang telah dikontrol melalui program sesuai dengan harapan. Secara klasik, diketahui ada tiga perusahaan besar yang saling berlomba mempopulerkan mikroprosesor-mikroprosesornya, yaitu ZILOG, MOTOROLA dan INTEL. Zilog terkenal dengan mikroprosesor mulai dari Z80(8-bit), Z8000 (16-bit) dan Z80000 (32-bit)beserta pheripheralnya. Adapun INTEL terkenal dengan mikroprosesornya mulai dari 8080 (8-bit), 8085 (8-bit), 8086 (16-bit), 8088 (8/16-bit), 80286 (32-bit), 80386 (32-bit), 80486 (32-bit) yang dikenal dengan sebutan i486 saja, hingga keluarga Pentium terbaru dan pheripheralnya.

Pembahasan dalam makalah ini saya fokuskan kepada UNIT ARITMATIKA Z-80, karena hampir setiap orang didunia ini yang bekerja melakukan riset dalam bidang microprosesor mengenal dengan baik Z80 dan umumnya dijadikan sebagai microprosesor pertama kali yang dipelajari.





1.2 Tujuan

Penulisan makalah ini bertujuan untuk memberikan wawasan dan pengetahuan mengenai bahasan tetang Instruksi Aritmatika pada Microprosessor kepada para pembaca secara umum dan secara khusus yaitu:

a. Untuk mengetahui kegunaan Instruksi Aritmatika pada microprosesor.

b. Untuk memahami dan mengetahui bagaimana cara penyelesaian suatu masalah yang berhubungan dengan Instruksi Aritmatika pada microprosesor.

c. Sebagai tugas mata kuliah Microprosesor.

1.3 Batasan Masalah

Dalam tulisan ini akan dibahas mengenai Instruksi Aritmatika pada Microprosesor yang nantinya akan kita bahas secara terperinci pada bab selanjutnnya. Juga akan dibahas mengenai cara penggunaan dengan metode tersebut dan cara menyelesaikanya. Serta akan diberikan contoh-contoh yang terkait.

1.4 Metode Penulisan

Penulis mempergunakan metode study-study literatur yang berkaitan dengan tema. Sedangkan cara-cara yang digunakan pada pembuatan makalah ini adalah mencari bahan dari tugas yang diberikan untuk setiap kelompok, sehingga masing-masing kelompok berbeda tugas.

Dalam metode ini penulis juga membuka situs dari Internet yang berkaitan dengan penulisan makalah ini. Kemudian juga akan dicoba untuk menerapkan sedikit contoh yang berhubungan dengan topik bahasan pada masing-masing instruksi.

1.5 Sistematika Pembahasan

Rancangan sistematika makalah ini terdiri atas beberapa bab yang akan dirinci sebaga berikut :

BAB 1 : Pendahuluan

Berisi mengenai latar belakang, batasan masalah, tujuan penulisan, dan metodologi pembahasan.

BAB 2 : Pembahasan mengenai INSTRUKSI ARITMATIKA

Berisi mengenai penjelasan umum UNIT ARITMATIKA yang meliputi Penjumlahan (ADD), Pengurangan (SUBTRACT), Increment (INC), Decrement (DEC), dan Perbandingan (Compare).

BAB 3 : Penutup

Berisi kesimpulan yang dapat diambil dari pembahasn makalah yang dibuat,dan daftar pustaka.

BAB III

INSTRUKSI ARITMATIKA

Terdapat sejumlah instruksi dalam mikroprosesor yang meliputi Penjumlahan (ADD), Pengurangan (SUBTRACT), Increment (INC), Decrement (DEC) dan Perbandingan (Compare).

Dalam bagian ini akan menjelaskan instruksi tentang instruksi-instruksi di atas. Penggunaan instruksi tersebut dalam memanipulasi register dan memori data juga akan diperlihatkan di sini.

A. Instruksi Penjumlahan

Instruksi penjumlahan (ADD) mempunyai banyak bentuk dalam mikroprosesor. Bagian ini menguraikan kegunaan instruksi ADD untuk penjumlahan 8 bit, 16 bit dan 32 bit akan tetapi tidak akan kami bahas secara menyeluruh.

Instruksi tersebut adalah:

1. Penjumlahan tanpa melibatkan Carry

Intruksi ADD akan menjumlahkan suatu nilai byte dengan isi register A dan menyimpan hasil penjumlahan itu kedalam register A. Flag bit carry dan bit auxiliary carry akan di set (besesuaian) jika terjadi limpahan atau bit 3. Jika tidak terjadi limpahan, kedua bit tersebut akan menghasilkan 6D (01101101B) didalam register A dan bit AC dan C di Clear.

Rumusnya:

ADD Operand 1, Operand 2



Keterangan :

Operand 1: Register A

Operand 2:berisi - data

-register (A, B, C, D, E, H, L)

- Memory (HL), (IX+ disp), (IY+disp)

Instruksi ADD ini terbagi dalam:

a. Penambahan data segera ke Akumulator

(ADD A, data)

Misal: ADD A, 7CH

b. Penambahan Isi Register ke Akumulator

(ADD A, REGISTER)

Register-register yang digunakan yaitu:

10000 000: register B

10000 001 : register C

10000 010 : register D

10000 100 : register H

10000 101 : register L

10000 111 : register A

c.Penambahan Data di Memori dengan akumulator

Rumus yang dipakai pada penjumlahan ini yaitu:

ADD A,(HL)

ADD A,(ix +disp)

ADD A,(iy+ disp



misalnya: ADD A, (Iy+10H)

d. Penambahan Pasangan register ke register H dan L

(ADD HL, rp)

Dengan 00 = register BC

01 = register DE

10 = register HL

11 = register SP

Misalnya: ADD HL,BC

e. Penambahan Pasangan Register ke Register Indek

(ADD HL, rp)

Dengan 00 = register BC

01 = register DE

10 = register spesifik indek register

11 = register SP

Misalnya: ADD IX, DE

2. Penjumlahan dengan Carry

Instruksi penjumlahan dengan Carry (ADC) menunjukkan bit dalam flag carry dengan data operand. Intruksi ADC secara simultan akan menjumlahkan suatu nilai byte dengan isi register A dan juga dengan bit carry. Dan kemudian menyimpan hasil penjumlahan itu kedalam register A. Flag Bit Carry dan biat auxialiary carry akan di set (bersesuaian) jika terjadi limpahan pada bit 7 atau bit 3.

Rumusnya:

ADC Operand 1, Operand 2



Keterangan:

Operand 1: Register A

Operand 2:berisi - data

-register (A, B, C, D, E, H, L)

- Memory (HL), (IX+ disp), (IY+disp)

Instruksi ADC ini terbagi dalam:

a. Penjumlahan data segera dengan Carry ke Akumulator

(ADC + data)

misal: ADC A, 86H

b. Penjumlahan Register dengan Carry ke Akumulator

(ADC A, REGISTER)

Register-register yang digunakan yaitu:

10001 000: register B

10001 001 : register C

10001 010 : register D

10001 100 : register H

10001 101 : register L

10001 111 : register A

misalnya:

ADC A, B

c. Penjumlahan isi memori dengan Carry ke akumulator

Rumus yang dipakai pada penjumlahan ini yaitu:

ADC A, (HL)

ADC A, (ix + disp)

ADC A ,(iy+ disp)

Misalnya: ADC A, IX+ 17H

d. Penjumlahan Pasangan register dengan Carry ke register H dan L

(ADC HL, rp)

Misalnya: ADC HL, HL

Dengan 00 = register BC

01 = register DE

10 = register HL

11 = register SP

Misalnya: ADD HL, BC

e.Penjumhan Pasangan Register ke Register Indek

(ADC XY, rp)

Misalnya: ADC IX, DE

B. INSTRUKSI PENGURANGAN (SUB)

Terdapat berbagai macam pengurangan dalam setiap Instruksi. Dalam bentuk ini juga menggunakan setiap bentuk pengalamatan untuk 8 bit, 16 bit dan 32 bit. Bentuk khusus dari pengurangan yaitu decrement yaitu mengurangi 1 dari suatu register

Instruksi ini terdiri dari:

1. Instruksi Substactraction Tanpa Borrow (SUB)

Instruksi SUB ini terbagi dalam:

a. Pengurangan data segera dari Acumulator

(SUB, data)

Misalnya: SUB, 25 H

b. Pengurangan isi Register dengan Acumulator

(SUB, register)

Register-register yang digunakan yaitu:

10010 000: register B

10010 001 : register C

10010 010 : register D

10010 100 : register H

10010 101 : register L

10010 111 : register A

misalnya: SUB, B

c. Pengurangan Data di memori dari Acumulator

Rumus yang dipakai pada penjumlahan ini yaitu:

SUB, (HL)

SUB, (ix + disp)

SUB, (iy+ disp)

Misalnya: SUB, IX+ 03H

2. Instruksi Substactraction With Borrow (SBC)

Instruksi ini disebut juga pengurangan dengan menggunakan borow. Instruksi ini berfungsi sebagai pengurangan biasa kecuali pada flag carry (C) yang menyimpan dengan Borrow ikut juga dikurangkan dari hasil. Manfaat utama instruksi ini dalam pengurangan yang lebih besar dari 16 bit pada microprosesor 8086 -80286 atau lebih dari 32 bit pada 80386-pentium 4. Pengurangan yang lebar membutuhkan borrow untuk proses pengurangannya, seperti halnya pada penjumlahan yang lebar membutuhkan Carry.

Instruksi SBC ini terbagi dalam:

a. Pengurangan data segera dengan Borrow dari Acumulator

(SBC A, data)

Misalnya: SBC, 20 H

b. Pengurangan isi Register dengan Borrow dari Acumulator

(SBC A, register)

Register-register yang digunakan yaitu:

10011 000: register B

10011 001 : register C

10011 010 : register D

10011 100 : register H

10011 101 : register L

10011 111 : register A

misalnya: SBC A, C

c. Pengurangan Data di memori dengan Borrow dari Acumulator

Rumus yang dipakai pada penjumlahan ini yaitu:

SBC, (HL)

SBC, (ix + disp)

SBC, (iy+ disp)

Misalnya: SBC A, IX+ 04H

d. Pengurangan pasangan dengan borrow dari Acumulator

(SBC HL, rp)

Misalnya: SBC HL, SP

C. INTRUKSI INCREMENT DAN DECREMENT

1. Instruksi Increment (INC)

adalah penjumlahan dengan menambahkan satu pada suatu register atau memori. Instruksi ini dapatmenambahkan 1 ke setiap registeratau lokasi memori kecuali register segment.

Dengan increment memori tak langsung , ukuran data harus di ekspresikan mengguknakan direktif BYTE PTR, WORD PTR atau DWORD PTR. Alasanya program assembler tidak dapat menentukan apakah sebagai contoh , instruksi INC (D1) sebagai increment ukuran bit, word atau double word. Instruksi INC PTR (D1) secara jelas menunjukkan instruksi berukuran byte, instruksi WORD PTR (D1) menunjukkan instruksi berukuran word dan untuk instruksi DWORD PTR (D1) menunjukkan instruksi berukuran double word.

Macam-macam instruksi increment:

a. Increment dengan isi register

Instruksi ini menggunakan register-register untuk melakukan operasi. Register yang digunakan yaitu Register B, C, D, E, L, H dan

Rumusnya: (INC, register) dengan format (00xx x100)

nilai xx x menujukkan jenis register yang dipakai

Misalnya: 04 INC B

b. Increment pasangan Register

Instruksi ini menggunakan register-register yang berpasangan untuk melakukan operasi. Register yang digunakan yaitu Register BC, DE, HL dan SP.

Rumusnya: (INC, rp) dengan format (00xx x100)

nilai xx x menujukkan jenis register yang dipakai.

Misalnya: 04 INC BC

c. Increment isi memori

Instruksi ini menggunakan isi memori untuk melakukan operasi. Memori yang digunakan yaitu (HL) 34, (Ix+disp) DD 34 dd dan (Iy+disp) FD 34 dd.

Misalnya: DD 34 05 INC (IX+disp)

2. Instruksi Decrement (DEC)

Adalah Instruksi untuk mengurangi dari suatu dari regieter atau lokasi memori. Instruksi ini tak langsung memori data memori data membutuhkan BYTE PTR, WORD PTR atau DWORD PTR karena Assembler tidak dapat membedakan byte dengan word atau double word ketika sebuah register indeks mengalamati memori.

Macam-macam instruksi decrement:

a.Decrement dengan isi register

Instruksi ini menggunakan register-register untuk melakukan operasi. Register yang digunakan yaitu Register B, C, D, E, L, H dan A.

Rumusnya: (DEC, register) dengan format (00xx x101)

nilai xx x menujukkan jenis register yang dipakai

Misalnya: 15 DEC B

b.Decrement pasangan Register

Instruksi ini menggunakan register-register yang berpasangan untuk melakukan operasi. Register yang digunakan yaitu Register BC, DE, HL dan SP.

Rumusnya: (DEC, rp) dengan format (00xx x101)

nilai xx x menujukkan jenis register yang dipakai

misalnya: 3B DEC SP

c.Decrement isi memori

Instruksi ini menggunakan isi memori untuk melakukan operasi. Memori yang digunakan yaitu (HL) 35, (Ix+disp) DD 35 dd dan (Iy+disp) FD 35 dd.

Misalnya: DD 35 33 DEC (IX+33H)

3. INTRUKSI PERBANDINGAN (COMPARE)

Intruksi Compare (CMP) merupakan suatu pengurangan yang hanya mengubah bit flag, dan tidak pernah mengubah operand tujuan. Fungsi lain untuk membandingkan 2 operand dan mengeset flag register (reg f) sesuai hasil intruksi compare. Perbandingan sangat bermanfaat untuk pengecekan seluruh isi register atau lokasi memori terhadap nilai yang lain. Compare biasanya diikuti dengan instruksi lompatan bersyarat yaitu untuk mengetes kondisi bit flag.

Cara kerja instruksi Compare

n Source operand dibandingkan dengan data pada accumulator A

n Source operand digunakan untik mengurangan accumulator A flag register berubah sesuai hasil operasi

n Baik source operand maupun register A tidak berubah setelah melakukan instruksi ini

Macam-macam operasi Compare:

1. Compare data segera dengan Acumulator

Rumusnya: (CP, data) dengan format (fe yy)

Misalnya: FE 21 CP 21 H

2. Compare register dengan Acumulator

Rumusnya: (CP, register) dengan format (1011 1xxx)

nilai xxx menujukkan jenis register yang dipakai yaitu:

Register-register yang digunakan yaitu:

10111 000: register B

10111 001 : register C

10111 010 : register D

10111 100 : register H

10011 101 : register L

10111 111 : register A

3. Compare Isi memori dengan Acumulator

Rumus yang dipakai pada penjumlahan ini yaitu:

CP, (HL)

CP, (ix + disp)

CP ,(iy+ disp)

Misalnya: DD BE 04 CP(IX+04H)

BAB IV

PENUTUP



Berdasarkan system kerja yang dipelajari pada makalah tersebut bahwa mikroprosesor merupakan yang banyak dipakai tidak hanya dikalangan pendidikan, tetapi juga di kalangan perindustrian dan diketahui mikroprosesor yang mereka gunakan menggunakan. Instruksi yang dimiliki sebenarnya ialah pengembangan dari operasi memori read/write, I/O devices read/write aritmatika dan interrupt. Z80 adalah microprosesor 8-bit sehingga memiliki 8-bit data bus. Kombinasi logika yang mungkin pada data bus bervariasi dari 00000000B sampai 11111111B atau sebanyak 256 kemungkinan. Tetapi biasanya para perancang mikroprosesor tidak menggunakan semua kombinasi logika data bus ini unutk dijadikan suatu instruksi dasar karena sebuah instruksi dasar masih dapat dikembangkan menjadi suatu instruksi lanjutan dengan menambahkan peran dibelakangnya dengan pertimbangan antara lain akan lebih efisien memanfaatkan sesedit mungkin teknik programming.



A. Kesimpulan

Sistem-sistem yang berdasar mikroprosesor ternyata dapat memberikan keuntungan dan kerugian, yaitu;

Keuntungan:

Sifat programable

(Dapat dikendalikan oleh software)

Mudah dikembangkan

(Tanpa merubah sistem hardware karakteristik sistem dapat diubah dengan mudah)

Konsekuensi:

Dalam praktek banyak dijumpai jenis-jenis mikroprosesor yang digunakan, sehingga kita harus mempelajari masing-masing mikroprosesor tersebut (hardware-nya maupun software-nya).











DAFTAR PUSTAKA



Pitowarno, Endra.2005. Mikroprosesor & Interfacing. Yogyakarta : Andi Publisher



Budiharto, Widodo & Firmansyah, Sigit.2005. Elektronika Digital dan Mikroprosesor. Yogyakarta : Andi Publisher.



http://id.wikipedia.org/wiki/Prosesor_mikro



www.203.130.205.68garingdosengaringajigaringcomputer_organization/



www.innovativeelectronics.com/innovative_electronics/download_files/artikel/AN32.pdf



www.elektroindonesia.com/elektro/elek30



www.e-smartschool.com/PNK/002/PNK0020005.asp

Ligeti Gábor, Szervánszky György: A ZX Spectrum programozása (ZX Spectrum Programming), Budapest, 1985

Agardi Gábor: Gyakorlati Assembly (Assembly in Practice), Budapest, 1998

Gál Tibor: Digitális rendszerek II. (Digital Systems), Budapest, 2002

Tidak ada komentar:

Posting Komentar