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
.