Selamat datang di blog zyfa syafara alias fahrur

Download

Selasa, 22 Juli 2014

Pengenalan Bahasa Assembly pada Komputer

Komputer yang kita lihat sekarang semuanya telah terlihat bagus dan indah, bisa mengerjakan berbagai tugas dan proses sekaligus, namun apakah yang terjadi di dalam komputer kita sebenarnya? Semua yang ada di dalam memori hanyalah susunan/deretan dari angka-angka biner(0 dan 1), semua input dari user dan output kepada user berjalan dengan interrupt dan yang dilakukan oleh komputer hanyalah pemindahan data dari satu alamat ke alamat lain melalui register. Semua yang komputer lakukan itu bisa kita atur dengan menggunakan bahasa assembly.

Pada artikel ini kita akan mengenali tentang bahasa Assembly dulu. Assembly adalah bahasa pemrograman tingkat rendah untuk sebuah komputer dan hardware-hardware lainnya. Bahasa assembly sangat bergantung kepada hardware dimana bahasa tersebut diimplementasikan, mudahnya, bahasa assembly di PC berbeda dengan bahasa assembly di Mac. Bahasa assembly menggunakan register untuk membantu jalannya pemrograman dan pemindahan-pemindahan data. Bahasa assembly memungkinkan programmer untuk memanfaatkan hardware dengan maksimal, misal mempercepat kinerja dengan menggunakan perintah yang menggunakan clock cycle lebih sedikit. Tak hanya hardware, software pun kita bisa optimalisasi dengan melihat program codenya dalam bahasa assembly.

Di dalam bahasa assembly penulisan angka bisa dengan 3 bentuk yaitu decimal(0-9), biner, dan hexadecimal(0-9,A-F). Hexadecimal biasa digunakan untuk menuliskan alamat, karena alamat pada dasarnya tertulis dengan angka biner yang sangat panjang misal alamat 11111111 dalam biner bisa ditulis dengan FF dalam hexadecimal

Register memiliki banyak jenis, tergantung untuk kegunaannya seperti :
  1. AX, BX, CX, DX untuk kegunaan umum, berukuran 16 bit(16 digit angka biner). Register ini bisa diperkecil menjadi 8 bit register, AX menjadi AH dan AL, namun apabila AX dirubah maka AH dan AL akan berbah dan sebaliknya.
  2. SI, DI adalah index register berukuran 16 bit, biasa digunakan sebagai pointer dan juga bisa digunakan untuk kegunaan umum, namun tidak bisa diperkecil menjadi register 8 bit.
  3. BP(Base Pointer, menunjukkan dasar dari stack), SP(Stack Pointer, menunjukkan puncak dari stack) adalah register 16 bit yang digunakan untuk menunjuk suatu data.
  4. CS(Code Segment), DS(Data Segment), ES(Extra Segment), SS(Stack Segment adalaha segment register berukuran 16 bit yng digunakan untuk menunjukkan memori yang digunakan di dalam program. Instruction Pointer(IP) register digunakan dengan CS untuk mencatat alamat dari perintah berikutnya yang akan dikerjakan oleh CPU.
  5. FLAGS register menyimpan informasi penting dari hasil perintah sebelumnya.

0 komentar:

Posting Komentar