Operasi Penambahan Assembly (Intel 8085)

بسم الله الرحمن الر حيم

Kali ini saya akan mencoba membagi kepada pembaca blog mengenai bagaimana cara operasi penambahan menggunakan bahasa assembly pada mikroprosessor Intel 8085.

Operasi penambahan ini merupakan salah satu dari operasi aritmatika. Mungkin bisa dikatakan ini termasuk hal yang sederhana. Namun perlu diketahui bahwa dalam pemograman sering sekali menggunakan operasi aritmatik. Insya Alloh setelah membahas operasi penambahan, akan dibahas operasi aritmatik yang lainnya. Mungkin dari pengurangan, perkalian, pembagian, pangkat, dan lain-lain.

Operasi dasar dari Penambahan

ADD R (menambah isi register ke akumulator)
ADD M (menambah isi memori ke akumulator)
ADI data[8bit] (artinya menambahkan isi akumulator dengan data 8 bit)
ADC R (menambahkan nilai register ke akumulator dengan carry)
ADC M (menambahkan nilai akumulator dengan isi memori yang ditunjuk oleh register HL dengan carry)
ACI data[8bit] (menambahkan nilai akumulator dengan data 8 bit dengan carry)

Diatas secara singkat dijelaskan mengenai perintah yang digunakan untuk proses penambahan. Perlu diketahui bahwa hasil dari penambahan diatas akan disimpan di register akumulator. Sehingga kita perlu memodifikasi agar nilai yang di akumulator disimpan di memory. Kenapa? Akumulator digunakan sebagai tempat penyimpanan sementara hasil penambahan. K’lo saja tidak kita pindahkan maka hasil penambahan sebelumnya akan terhapus dengan hasil penambahan yang baru.

R merupakan register
M meruapakan isi dari memori yang ditunjukkan oleh register HL

Berikut contoh program sederhana mengenai proses penambahan untuk 2 byte :

LXI berfungsi untuk memasukkan nilai data 16bit ke pasangan register pair. Perintah LXI dapat digunakan untuk register DE, BC, HL.Untuk memasukkan data ke register pair DE cukup dengan LXI D,data16bit

Algoritma :

1. Masukkan nilai ke register pair BC
2. Masukkan niai ke register pair DE
3. Pindahkan nilai register C ke register A
4. Jumlahkan nilai register A dengan regsiter E
5. Pindahkan nilai register A ke register E
6. dan seterusnya… (hampir sama dengan perintah 3 sampai 5)

Contoh di atas dapat kita lihat bahwa hasil penambahan sementara (register A) dipindahkan ke register D dan E. Sehingga hasil penambahan dari proses di atas dapat dilihat di nilai register D dan E.

Terpikir tidak jika yang ditambahkan itu data lebih dari 2 byte? Tentu kita akan membutuhkan banyak register untuk melakukan proses penyimpanan dari hasil penambahan. Jangan lupa bahwa register pada mikroprosessor ini sangatlah terbatas. Hingga kita perlu tempat penyimpanan lain selain di register. Lantas dimana tempat penyimpanan yang besar? Jawabannya ialah di Memory.

Lantas bagaimana kita menyimpan hasil penambahan ke memory? berikut perintahnya

STA alamat[16b] (isi dari akumulator akan disimpan di memori yang ditunjuk)
STAX Rp (isi dari akumulator akan disimpan di memori yang dtunjuk oleh Rp)
LDA alamat[16b] (isi dari memori yang ditunjuk akan disimpan di akumulator)
LDAX Rp (isi dari memori yang ditunjuk oleh Rp akan disimpan di akumulator)

Rp ialah Register Pair, sudah dibahas diatas. Terdiri dari DE dan BC.

Intinya STA dan STAX berfungsi untuk menyimpan ke memori LDA dan LDAX berfungsi untuk mengambil hasil simpanan di memori. Kurang lebih begitu untuk mudah memahaminya :-)

Nah berikut contoh program mengenai penambahan 4 byte :

Algoritma :

1. Memasukkan input melalui PORT 1 dan akan disimpan di memory 100,101,102,103.
2. Memasukkan input melalui PORT 1 dan akan disimpan di memory 110,111,112,113.
3. Melakukan penambahan dari bit paling kecil (LSB).
4. Hasil dari penambahan akan disimpan di memory 120,121,122,123.

Simple bukan?? Untuk mudahnya silahkan perhatikan sendiri bagaimana bentuk atau alur jalannya program menggunakan program simulator Assembly 8085 yang udah saya share beberapa waktu lalu. :-)
Semoga tulisan ini dapat membuat pembaca mudah untuk memahami bagaimana proses penambahan pada mikroprosessor 8085. Selamat Belajar… :-)

Untuk download link Source code penambahan 4byte
klik disini

  1. yik, lw ga masang chatbox?

    • gtw caranya gimana nih cink.. hehehe ajarin donk.. hahaha

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.