Assembly (02) – Pengantar

Apa itu Bahasa Rakitan (Assembly Language) ?

          Setiap komputer memiliki mikroprosesor yang mengelola aktivitas aritmatika, logika, dan kontrol komputer.

          Setiap keluarga prosesor memiliki set instruksi sendiri untuk menangani berbagai operasi seperti menerima input dari keyboard, menampilkan informasi di layar dan melakukan berbagai pekerjaan lainnya. Serangkaian instruksi ini disebut ‘instruksi bahasa mesin’.

          Prosesor hanya memahami instruksi bahasa mesin, yang terdiri dari string ‘1’ dan ‘0’. Namun, bahasa mesin terlalu kabur dan rumit untuk digunakan dalam pengembangan perangkat lunak. Jadi, bahasa rakitan dirancang untuk keluarga prosesor tertentu yang mewakili berbagai instruksi dalam kode simbolik dan bentuk yang lebih mudah dipahami.

 

Keuntungan Bahasa Rakitan

Memiliki pemahaman tentang bahasa rakitan membuat orang menyadari tentang :

  • Bagaimana program berinteraksi dengan sistem operasi, prosesor, dan BIOS
  • Bagaimana data direpresentasikan dalam memori dan perangkat eksternal lainnya
  • Bagaimana prosesor mengakses dan mengeksekusi instruksi
  • Bagaimana instruksi mengakses dan memproses data
  • Bagaimana program mengakses perangkat eksternal

Keuntungan lain menggunakan rakitan adalah :

  • Penggunaan memori lebih sedikit
  • Waktu eksekusi lebih cepat
  • Memungkinkan  pekerjaan kompleks pada perangkat keras yang spesifik dilakukan dengan cara yang lebih mudah
  •  Sangat cocok untuk pekerjaan yang membutuhkan waktu yang cepat
  • Ini paling cocok untuk menulis rutinitas layanan interupsi dan program memori lainnya

Fitur Dasar Perangkat Keras PC

        Perangkat keras internal utama dari PC terdiri atas prosesor, memori, dan register. Register adalah komponen prosesor yang menyimpan data dan alamat. Untuk mengeksekusi program, sistem menyalinnya dari perangkat eksternal ke dalam memori internal. Prosesor menjalankan instruksi program.

         Unit dasar penyimpanan komputer adalah bit; itu bisa ON (1) atau OFF (0). Kumpulan dari 9 bit yang berkaitan membentuk sebuah byte, 8 bit diantaranya digunakan untuk data dan 1 bit terakhir digunakan untuk paritas. Menurut aturan paritas; jumlah bit 1 di setiap byte harus ganjil. 

           Jadi, bit paritas digunakan untuk membuat jumlah bit dalam sebuah byte menjadi ganjil; jika paritas genap, sistem akan menganggap adanya error (meskipun jarang), yang mungkin disebabkan oleh kesalahan perangkat keras atau gangguan listrik.

            Prosesor mendukung ukuran data berikut:

  • Word            : 2-byte (16 bit) data
  • Doubleword : 4-byte (32 bit) data
  • Quadword    : 8-byte (64 bit) data
  • Paragraph     : 16-byte (128 bit) area
  • Kilobyte        : 1024-byte
  • Megabyte      : 1.048.576-byte

Sistem Angka Biner 

            Setiap sistem angka menggunakan notasi posisi, setiap posisi penulisan digit memiliki nilai posisi yang berbeda. Setiap posisi adalah pangkat dari suatu basis, yaitu 2 untuk sistem bilangan biner, dan pangkat ini dimulai pada 0 dan meningkat sebesar 1.

Bit value
1
1
1
1
1
1
1
1
Position value 
as a power of base 2
128
64
32
16
8
4
2
1
Bit number
7
6
5
4
3
2
1
0

            Nilai angka biner didasarkan pada keberadaan bit 1 dan nilai posisinya. Jadi, nilai bilangan biner pada tabel di atas adalah 1 + 2 + 4 + 8 +16 + 32 + 64 + 128 = 255, atau sama dengan 28 – 1.

Sistem Angka Heksadesimal

             Sistem angka heksadesimal menggunakan basis 16. Angka dalam sistem ini berkisar dari 0 hingga 15. Menurut kesepakatan, huruf ‘A’ – ‘F’ digunakan untuk merepresentasikan digit heksadesimal yang bersesuian dengan nilai desimal 10 – 15.

             Angka heksadesimal dalam komputasi digunakan untuk menyingkat representasi biner yang panjang. Pada dasarnya, sistem bilangan heksadesimal mewakili data biner dengan membagi setiap byte menjadi setengah(4 bit) dan menyatakan nilai dari setiap setengah byte.

Tabel berikut ini memberikan persamaan desimal, biner, dan heksadesimal:

Desimal  Biner  Heksadesimal
0 0 0
1 1 1
2 10 2
3 11 3
4 100 4
5 101 5
6 110 6
7 111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

            Untuk mengonversi bilangan biner menjadi bilangan heksadesimalnya, pisahkan menjadi kelompok-kelompok yang masing-masing terdiri dari 4 bit, mulai dari kanan, dan tulis grup-grup itu di atas angka-angka heksadesimal yang sesuai.

Contoh – Angka biner 1000 1100 1101 0001 setara dengan heksadesimal – 8CD1.

            Untuk mengkonversi angka heksadesimal menjadi biner, cukup tulis setiap digit heksadesimal menjadi kelompok 4 bit biner. 

Contoh – Angka heksadesimal FAD8 setara dengan biner – 1111 1010 1101 1000.

Aritmatika Biner

Tabel berikut mengilustrasikan empat aturan sederhana untuk penjumlahan biner.

(i) (ii) (iii) (iv)
      1
0 1 1 1
+0 +0 +1 +1
=0 =1 =10 =11

Aturan (iii) dan (iv) menunjukkan carry 1-bit ke posisi kiri berikutnya.

Contoh:

Desimal Biner
60 00111100
+42 00101010
102 01100110

Nilai biner negatif dinyatakan dalam notasi komplemen dua. Menurut aturan ini, untuk mengkonversi angka biner ke nilai negatifnya adalah membalikkan nilai bitnya dan menambahkan 1.

Contoh:

Number 53 00110101
Reverse the bits 11001010
Add 1 00000001
Number -53 11001011

Untuk melakukan pengurangan, konversikan angka yang dikurangkan ke format komplemen dua lalu tambahkan dengan pengurang.

Contoh:

53 dikurang 42

Number 53 00110101
Number 42 00101010
Reverse the bits of 42 11010101
Add 1 00000001
Number -42 11010110
53 – 42 = 11 00001011

*) Bit 1 di paling kiri dihilangkan

Pengalamatan Data di Memori

              Sebuah proses di mana prosesor mengontrol pelaksanaan instruksi disebut sebagai siklus fetch-decode-execute / execution cycle. Ini terdiri dari tiga langkah berkelanjutan :

  • Mengambil instruksi dari memori ( fetch )
  • Menguraikan kode atau mengidentifikasi instruksi ( decode )
  • Menjalankan instruksi ( execute )

              Prosesor dapat mengakses satu atau lebih byte memori pada satu waktu. Mari kita perhatikan bilangan heksadesimal 0725H. Angka ini akan membutuhkan dua byte memori. Byte orde tinggi / most significant byte adalah 07 dan byte orde rendah / least significant byte adalah 25.

              Prosesor menyimpan data dalam urutan byte terbalik, byte orde rendah disimpan di alamat memori rendah dan byte orde tinggi di alamat memori tinggi. Jadi, jika prosesor membawa nilai 0725H dari register ke memori, prosesor akan mentransfer 25 ke alamat memori yang lebih rendah dan 07 ke alamat memori berikutnya.

Published by Regy Saputra

Ilmu Komputer 2017

Leave a comment

Your email address will not be published. Required fields are marked *