2. Bahasa Rakitan
• Bahasa Rakitan adalah bahasa Pemrograman dengan korespondensi
satu antara perintah-perintah/pernyataannya dan bahasa mesin
komputer
• Bahasa rakitan disebut bahasa level bawah karena dalam struktur
dan fungsinya dekat dengan bahasa mesin
• Bahasa Rakitan sebenarnya adalah bahasa mesin yang
menggunakan simbol-simbol instruksi (mnemonic) untuk mewakili
bahasa mesin.
• Setiap bahasa rakitan secara langsung dipengaruhi oleh set instruksi
mesin komputer
• alasan mempelajari bahasa rakitan adalah untuk mempelajari
arsitektur komputer dan sistem operasi
• Bahasa Rakitan akan meningkatkan pemahaman seseorang tentang
level bahasa yang lebih rendah
3. Assembler
• Dahulu semua program ditulis dalam bahasa
mesin. Hal ini sangat menyulitkan bagi
pemrogram baik dalam membacanya maupun
menulisnya. Itulah sebabnya mengapa dibuat
Assembler dan Compiler .
• Assembler adalah program yang mengkonversi
kode program sumber ke dalam bahasa mesin.
• Assembler adalah program yang menerjemahkan
program yang ditulis dalam bahasa rakitan
kedalam bahasa mesin
4. BAHASA MESIN
• Bahasa mesin adalah bahasa yang dibangun oleh
sejumlah angka yang dapat diinterpretasikan oleh CPU
Komputer.
• CPU biasanya mempunyai program kecil yang
ditambahkan langsung ke dalam chip, disebut
microcode.
• Dengan bahasa mesin memungkinkan untuk
melaksanakan tugas-tugas umum oleh CPU.
• Contoh Program Memindahkan angka 5 ke Register AL :
1011000000000101
Delapan bit pertama adalah kode operasi (opcode) -> instruksi untuk memindahkan angka -8 bit ke regiter AL
Delapan bit berikutnya adalah operand-> instruksi keseluruhan memindahkan angka 5 ke dalam register AL
5. Arsitektur dan Sistem Komputer
System bus (warna kuning)
menghubungkan dengan
bermacam-macam komponen
komputer.
CPU merupakan jantung
computer, hamper seluruh
perhitungan
dilakukan didalam CPU.
RAM merupakan tempat dimana
program di loading untuk
dieksekusi.
6. MEMORI
• Memori dengan komputer memiliki hubungan yang tak
dapat dipisahkan, karena setiap komputer memerlukan
memori sebagai tempat kerjanya.
• Memori ini dapat berfungsi untuk memuat program dan
juga sebagai tempat untuk menampung hasil proses. .
• Memori menyimpan program maupun hasil dari pekerjaan
secara volatile yang berarti bahwa data yang disimpan
cuma sebatas adanya aliran listrik. Jadi bila listrik mati maka
hilang pulalah semua data yang ada di dalamnya.
• Hal ini mengakibatkan diperlukannya media penyimpan
kedua yang biasanya berupa disket maupun hard disk.
7. CPU
• CPU dibagi menjadi tiga bagian :
– Arithmetic Logic Unit (ALU)
• Melaksanakan operasi aritmetik, logika dan
penggeseran.
– Control Unit
• Mengambil data dan instruksi serta menerjemahkan
kode
– Register
• Melakukan penyimpanan sementara di dalam CPU
8. Organisasi CPU Yang Disederhanakan
Register Data
Register Alamat Control Unit
Aritmetik Logic
Unit
Register Flag
9. REGISTER
• Register adalah memori kecepatan tinggi yang
berada dalam CPU.
• Register diidentifikasikan oleh nama 2 buah
huruf, seperti AH, AL atau AX
• Set Instruksi (instruction set) CPU adalah
sekumpulan instruksi mesin yang dapat
dieksekusi CPU.
10. REGISTER
• Register merupakan media penyimpan
informasi yang berada pada prosesor
• Register dikelompokkan sesuai dengan fungsi
masing-masing
• Keseluruhan terdapat empat belas (14)
register 16-bit
• Register yang digunakan oleh mikroprosesor
dibagi menjadi 5 bagian dengan tugasnya yang
berbeda-beda
12. empat belas (14) register 16-bit
GENERAL PURPOSE REGISTER
CPU 8086 mempunyai 8 general purpose register, dimana tiap
register mempunyai namanya sendiri-sendiri :
• AX - the accumulator register (dibagi menjadi AH / AL).
• BX - the base address register (dibagi menjadi BH / BL).
• CX - the count register (dibagi menjadi CH / CL).
• DX - the data register (dibagi menjadi DH / DL).
• SI - source index register.
• DI - destination index register.
• BP - base pointer.
• SP - stack pointer.
Flags
13. 1. General Purpose Register
• Register AX, secara khusus digunakan pada
operasi aritmatika terutama dalam operasi
pembagian dan pengurangan.
• Register BX, biasanya digunakan untuk
menunjukkan suatu alamat offset dari suatu
segmen.
• Register CX, digunakan secara khusus pada
operasi looping dimana register ini menentukan
berapa banyaknya looping yang akan terjadi.
• Register DX, digunakan untuk menampung sisa
hasil pembagian 16 bit.
14. 2. Segmen Register
• Register CS(Code Segment) digunakan untuk menunjukkan tempat
dari segmen yang sedang aktif
• Register SS(Stack Segment) menunjukkan letak dari segmen yang
digunakan oleh stack. (Register CS & SS sebaiknya tidak sembarang
diubah karena akan menyebabkan kekacauan pada program anda
nantinya).
• Register DS(Data Segment) biasanya digunakan untuk menunjukkan
tempat segmen dimana data-data pada program disimpan.
Umumnya isi dari register ini tidak perlu diubah kecuali pada
program residen.
• Register ES(Extra Segment) adalah suatu register bonus yang tidak
mempunyai suatu tugas khusus. Register ES ini biasanya digunakan
untuk menunjukkan suatu alamat di memory, misalkan alamat
memory video.
15. 3. Pointer dan Index Register
• Register SP(Stack Pointer) yang berpasangan
dengan register segment SS(SS:SP) digunakan
untuk mununjukkan alamat dari stack
• Register BP(Base Pointer)yang berpasangan
dengan register SS(SS:BP) mencatat suatu alamat
di memory tempat data.
• Register SI(Source Index) dan Register
DI(Destination Index) biasanya digunakan pada
operasi string dengan mengakses secara langsung
pada alamat di memory yang ditunjukkan oleh
kedua register ini
16. 4. Index Pointer Register
• Register IP berpasangan dengan CS(CS:IP)
menunjukkan alamat dimemory tempat dari
intruksi(perintah) selanjutnya yang akan
dieksekusi. Register IP juga merupakan
register 16 bit
17. 5. Flags Register.
• Sesuai dengan namanya Flags(Bendera)
register ini menunjukkan kondisi dari suatu
keadaan< ya atau tidak >. Karena setiap
keadaan dapat digunakan 1 bit saja, maka
sesuai dengan jumlah bitnya, Flags register ini
mampu memcatat sampai 16 keadaan