Aritmetika Biner Sistim Mikrokomputer 6.1

Contoh operasi NOT NOT 11011010 2 = 00100101 2 A 1 1 0 1 1 0 1 0 A 0 0 1 0 0 1 0 1 6.1.5 Aritmetika Integer Sampai saat ini kita masih berkonsentrasi pada bilangan positip saja dan juga tidak menentukan batas digit yang dapat diproses dan ditampilkan sebagai hasil suatu operasi. Suatu mikroprosesor 8 bit dapat mengolah data biner mulai 00000000 2 sampai 11111111 2 atau dalam bilangan desimal mulai 0 10 sampai 255 10 dan tidak diijinkan suatu operasi melebihi batas angka tersebut. Suatu mikroprosesor 4 bit dapat mengolah data biner mulai 0000 2 sampai 1111 2 atau dalam bilangan desimal mulai 0 10 sampai 15 10 . Batas angka yang dapat diproses apabila direpresentasikan dalam grafik skala arah ditunjukkan pada Gambar 4.1. Gambar 6.1 Grafik skala arah sistim bilangan positip 4 bit Gambar 6.2 Grafik lingkaran angka sistim bilangan integer positip 4 bit Operasi suatu komputer 4 bit selain dengan grafik skala arah dapat juga direpresentasikan dalam grafik lingkaran angka seperti tampak pada Gambar 4.2. Penjumlahan dua bilangan hasilnya benar apabila hasil operasi penjumlahan masih dalam batas 0000 2 sampai 1111 2 , tetapi apabila penjumlahan hasilnya melebihi batas tersebut maka angka yang tampil sebagai hasil akrhir operasi menjadi salah. Perhatikan contoh di bawah ini 1111 2 + 0010 2 = 10001 2 Dengan menggunakan grafik lingkaran angka, hasil penjumlahan tersebut adalah 0001 2 saja karena sistim mikroposesor adalah 4 bit, sedangkan digit 1 yang tidak muncul pada hasil akan masuk sebagai carry. Proses penjumlahan yang melebihi batas angka dalam lingkaran kita sebut overflow. Terjadinya carry pada digit ke 5 tidak hilang tetapi disimpan dalam suatu flip-flop yang disebut Carry Flip-flop atau biasanya disebut Carry flag. Carry flag dapat dilihat setelah operasi aritmetika dilakukan oleh suatu program. Kondisi di atas hanya untuk contoh mikroprosesor 4 bit. Untuk mikroprosesor dengan bit yang lebih tinggi dalam instruksi aritmetika suatu overflow adalah mengindikasikan adanya carry pada most significant binary digit MSB dan disimpan dalam suatu flag register. 6.1.6 Aritmetika Komplemen Dua Bilangan posistip dan negatip ditunjukan dalam grafik skala bilangan sebagai berikut Gambar 6.03 Grafik Skala Bilangan Positif Negatif Komplemen satu secara umum diartikan membuat suatu angka menjadi bilangan terbesar dengan jumlah digit yang sama, misalnya komplemen dari angka 0001 2 adalah 1110 2 . Komplemen satu dalam sistim bilangan biner dapat diartikan opeasi membalik inverting angka biner. Dalam sistim mikroprosesor bilangan negatif direpresentasikan sebagai komplemen dua. Rumus komplemen dua adalah A + 1 = - A Pada dasarnya penjumlahan A dengan komplemen duanya akan menghasilkan 0. A + A + 1 = 0 A + 1 = - A Contoh operasi komplemen dua : A 0 1 0 1 1 0 1 0 A 1 0 1 0 0 1 0 1 komplemen satu +1 1 - A = A +1 1 0 1 0 0 1 1 0 komplemen dua Contoh operasi A - A = A 0 1 0 1 1 0 1 0 -A 1 0 1 0 0 1 1 0 A +-A 1 0 0 0 0 0 0 0 0 Jadi sekarang dalam aritmatika biner kita bisa mebmbuat pengurangan desimal 9 10 – 3 10 = 6 1 0 atau juga yang dituliskan dengan 9 10 + - 3 10 = 6 10 Contoh operasi 9 10 + - 3 10 untuk sistim bilangan biner 4 bit 9 10 1 0 0 1 +- 3 10 1 1 0 1 komplemen dua dari 0011 2 atau 3 10 9 10 +-3 10 1 0 1 1 0 Hasil = 6 10 carry 1 Contoh operasi 6 10 + - 9 10 = 6 10 0 1 1 0 +- 9 10 0 1 1 1 komplemen dua dari 1001 2 atau 9 10 6 10 +-9 10 0 1 1 0 1 Hasil = 13 10 carry 0 Hasil = 13 10 kelihatannya salah karena hasil yang benar seharusnya adalah –3 10 . Jangan tergesa-gesa mengambil kesimpulan salah, karena angka 13 dalam sistim mikroprosesor 4 bit, angka 13 10 atau 1101 2 adalah komplemen dua dari angka 3 1 0 atau 0011 2 .