2. mengenal bahasa rakitan

17
MENGENAL BAHASA RAKITAN

Transcript of 2. mengenal bahasa rakitan

Page 1: 2. mengenal bahasa rakitan

MENGENAL BAHASA RAKITAN

Page 2: 2. mengenal bahasa rakitan

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

Page 3: 2. mengenal bahasa rakitan

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

Page 4: 2. mengenal bahasa rakitan

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 :

1011000000000101Delapan 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

Page 5: 2. mengenal bahasa rakitan

Arsitektur dan Sistem Komputer

System bus (warna kuning) menghubungkan denganbermacam-macam komponen komputer.

CPU merupakan jantung computer, hamper seluruh perhitungandilakukan didalam CPU.

RAM merupakan tempat dimana program di loading untuk dieksekusi.

Page 6: 2. mengenal bahasa rakitan

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.

Page 7: 2. mengenal bahasa rakitan

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

Page 8: 2. mengenal bahasa rakitan

Organisasi CPU Yang Disederhanakan

Register Data

Register Alamat Control Unit Aritmetik Logic Unit Register Flag

Page 9: 2. mengenal bahasa rakitan

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.

Page 10: 2. mengenal bahasa rakitan

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

Page 11: 2. mengenal bahasa rakitan

empat belas (14) register 16-bit

Page 12: 2. mengenal bahasa rakitan

empat belas (14) register 16-bit

GENERAL PURPOSE REGISTERCPU 8086 mempunyai 8 general purpose register, dimana tiapregister 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

Page 13: 2. mengenal bahasa rakitan

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.

Page 14: 2. mengenal bahasa rakitan

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.

Page 15: 2. mengenal bahasa rakitan

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

Page 16: 2. mengenal bahasa rakitan

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

Page 17: 2. mengenal bahasa rakitan

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