NIM : 181331021
Mikroprosesor
Mikroprosesor adalah sebuah central processing unit (CPU) elektronik komputer yang terbuat dari
transistor mini dan sirkuit lainnya di atas sebuah sirkuit terintegrasi semikonduktor
1. Lebih cepat
C. Sejarah
o Sempoa (Cina abad ke 10 masehi)
o Eniac (1943), dengan decimal 20 accumulator 10 digit, berberat 30 ton, 1800 tabung
vacuum, data 140KW
o Mikroprosesor 4 bit : i4004(1971) hanya bisa add dan sub.
o Mikroprosesor 8 bit : i8008
o Mikroprosesor 16 bit : i8086/ i8088/ i80286
o Mikroprosesor 32 bit : i80386 / 80486 / Pentium
o Mikroprosesor 64 bit : AMD Althon
D. Komponen dasar dari computer adalah ALU (aritmatic and logic unit). Didalam ALU terdapat:
1. + - x / or and xor or not
2. Aritmatika biner pada computer pada dasarnya penjumlahan
a. – dan + menggunakan komplemen 2
b. X adalah + dan geser kiri dilakukan berulang ulang (shift & add)
c. / adlaah – dan geser kanan (shift & sub)
3. Operasi aritmatik memerlukan adder (FA & HA) dan register yang bisa digeser isinya atau
shift register
Keterangan:
1. ZF (Zero Flag), kondisi hasil operasi aritmetika dan logic yang menghasilkan 0 maka zero flag
akan 1
2. CF(Carry Flag), kondisi hasil penjumlahan yang melebihi kapasitas register
3. BF(Borrow Flag), kondisi kurang nilai dalam penjumlahan (sistem meminjam)
4. OV(OverFlow), kondisi hasil penjumlahan yang melebihi kapasitas register sehingga
menyebabkan kesalahan dalam hasil dan terjadi eror
5. SF(Sign Flag),kondisi dimana nilai awal biner dari hasilpenjumlahan bernilai 1
6. PF(Parity Flag), kondisi dimana 0 berjumlah genap dalam hasil penjumlahan berbentuk biner
3. Sistem Bilangan
Sistem Bilangan
A. Sistem Bilangan (Numbering System)
Sistem Bilangan adalah Suatu cara untuk mewakili besaran dari suatu item fisik. Sistem
Bilangan menggunakan suatu bilangan dasar atau basis tertentu. Sistem bilangan ini digunakan
untuk mewakili sebuah perintah dalam komputer agar dimengerti oleh mesin atau computer. Sistem
bilangan yang kita ketahui itu ada 4 macam, antara lain :
1. Sistem Bilangan Desimal :
Sistem bilangan desimal adalah sistem bilangan dengan menggunakan basis 10 suku angka
yang kita ketahui saat ini yaitu angka 0 sampai dengan 9 (0,1,2,3,4,5,6,7,8,9). Penulisan notasi
dari Sistem bilangan decimal adalah (n)₁₀.
2. Sistem Bilangan Biner :
Sistem bilangan biner adalah sistem bilangan yang menggunakan basis 2, dengan 2 simbol
berbeda yaitu hanyalah angka 0 dan 1.Penulisan notasi dari Sistem bilangan biner adalah (n)ₙ.
3. Sistem bilangan Oktal :
Sistem bilangan oktal adalah sistem bilangan yang menggunakan basis 8 dengan hanya
menggunakan 8 angka / simbol yaitu dari angka 0 – 7 ( 0,1,2,3,4,5,6,7 ).Penulisan notasi sistem
bilangan oktal adalah (n)₈.
4. Sistem bilangan Hexadesimal :
Sistem bilangan hexadesimal adalah sistem bilangan yang menggunakan basis 16, yang
menggunakan 16 simbol, dimana 10 simbolnya adalah angka 0 – 9 (0,1,2,3,4,5,6,7,8,9) dan 5
simbol nya lagi diganti oleh huruf alfabet (A = 10, B = 11, C = 12, D = 13, E = 14, F = 15).
Penulisan niotasi Sistem bilangan hexadesimal adalah (n)₁₆.
B. Konversi Bilangan
Contoh 1
Konversi bilangan decimal 88₍₁₀₎ ke bilangan biner, octal, dan hexadesimal. Caranya dengan membagi
bilangan decimal dengan basis bilangan yang akan digunakan hingga habis.
a. Desimal ke biner
88₍₁₀₎ = 1011000₍₂₎
Dengan cara pembagi 2
88 / 2 = 44 sisa 0
44 / 2 = 22 sisa 0
22 / 2 = 11 sisa 0
11 / 2 = 5 sisa 1
5 / 2 = 2 sisa 1
2 / 2 = 1 sisa 0
1 / 2 = 0 sisa 1
Jadi biner dari 88 adalah 1011000. Untuk meyakinkan bahwa hasil tersebut adalah benar maka
lakukan tes sebagai berikut.
1011000₍₂₎ = 88₍₁₀₎
1(2⁶) +0 (2⁵) +1(2⁴)+1 (2³)+0 (2²)+0 (2¹)+0( 2º) = 64 + 0 + 16 + 8 + 0 + 0 + 0 = 88
Mov AL,-60 60
Mov BL, 70 70
+
SUB AL, BL 130 terjadi overflow
2. Pengurangan
Mov CL,-60 -60
Mov BL, -45 -40
-
SUB CL, BL -20 tidak terjadi over flow
3. Logika
AND
0100 0100
4 4
OX=digunakan didepan angka kalau hexadecimal
Pada praktikum pertama kita mempelajari tentang menjumlahkan bilangan hexa didalam aplikasi
emu8086. Yang dipelajari disini adalah format membuat program,dan intruksi programnya.
Format membuat program :
Intruksi Program
1. MOV : Intruksi yang berfungsi untuk menyalin suatu data / menyimpan data kedalam
register / memory yang dituju. Penggunaan Intruksi ini bisa dilakukan antara REG, memory |
memory, REG | REG, REG | memory, data langsung | REG, data langsung
2. INT : Intruksi yang berfungsi untuk menkontrol prosedur interrupts di dalam assembler.
3. JNZ : Intruksi yang berfungsi meloncat ke label tertentu apabila pada operasi
sebelumnya nilai dari zero flag itu tidak 0 (1).
4. ADD : Intruksi yang berfungsi untuk menambahkan suatu Register/Memory dengan
nilai tertentu sehingga didapat hasil penjumlahan yang tersimpan di dalam di register/memory
tujuan. Intruksi ini bisa dilakukan antara REG, memory | memory, REG | REG, REG | memory,
data langsung | REG, data langsung.
5. ADC : Intruksi yang berfungsi menjumlahkan suatu register/Memory dengan nilai
tertentu namun menambahkan juga nilai carry flag kedalam penjumlahan. Intruksi ini bisa
dilakukan antara REG, memory | memory, REG | REG, REG | memory, data langsung | REG,
data langsung.
6. INC : Intruksi untuk menambahkan nilai suatu register/memory dengan 1.
Pada praktikum Kedua, kita mempelajari tentang penjumlahan biner 24 bit dan 32 bit, yang baru
disini adalah terdapat intruksi baru yaitu JGE, dan DEC
1. JGE : Intruksi untuk meloncat ke label tertentu bila nilai dari operasi sebelumnya lebih
besar atau sama dengan 0.
2. DEC : Intruksi untuk mengurangi nilai register/memory sebanyak 1.