Definisi Bahasa Himpunan

Apakah Bahasa Himpunan?

Bahasa himpunan ialah sejenis bahasa pengaturcaraan peringkat rendah yang bertujuan untuk berkomunikasi secara langsung dengan perkakasan komputer.Tidak seperti bahasa mesin, yang terdiri daripada aksara perduaan dan heksadesimal, bahasa himpunan direka untuk boleh dibaca oleh manusia.

Bahasa pengaturcaraan peringkat rendah seperti bahasa pemasangan ialah jambatan yang diperlukan antara perkakasan asas komputer dan bahasa pengaturcaraan peringkat tinggi—seperti Python atau JavaScript—di mana atur cara perisian moden ditulis.

Pengambilan Utama

  • Bahasa himpunan ialah sejenis bahasa pengaturcaraan yang menterjemahkan bahasa peringkat tinggi ke dalam bahasa mesin.
  • Ia adalah jambatan yang diperlukan antara program perisian dan platform perkakasan asasnya.
  • Bahasa himpunan bergantung pada sintaks bahasa, label, operator dan arahan untuk menukar kod kepada arahan mesin yang boleh digunakan.
  • Bahasa himpunan boleh melalui pemasang satu laluan atau berbilang laluan, masing-masing dengan kegunaan dan faedah tertentu.
  • Hari ini, bahasa himpunan jarang ditulis secara langsung, walaupun ia masih digunakan dalam beberapa aplikasi khusus seperti apabila keperluan prestasi sangat tinggi.

Cara Bahasa Himpunan Berfungsi

Pada asasnya, arahan paling asas yang dilaksanakan oleh komputer ialah kod binari, terdiri daripada satu dan sifar.Kod tersebut diterjemahkan terus ke dalam keadaan "hidup" dan "mati" bagi elektrik yang bergerak melalui litar fizikal komputer.Pada dasarnya, kod mudah ini membentuk asas "bahasa mesin," pelbagai bahasa pengaturcaraan yang paling asas.

Sudah tentu, tiada manusia akan dapat membina atur cara perisian moden dengan memprogramkan satu dan sifar secara eksplisit.Sebaliknya, pengaturcara manusia mesti bergantung pada pelbagai lapisan abstraksi yang boleh membenarkan diri mereka untuk menyatakan arahan mereka dalam format yang lebih intuitif kepada manusia.

Khususnya, pengaturcara moden mengeluarkan arahan dalam apa yang dipanggil "bahasa peringkat tinggi," yang menggunakan sintaks intuitif seperti perkataan dan ayat bahasa Inggeris keseluruhan, serta operator logik seperti "dan," "atau," dan "lain" yang biasa digunakan setiap hari.

Walau bagaimanapun, akhirnya, arahan peringkat tinggi ini perlu diterjemahkan ke dalam bahasa mesin.Daripada melakukannya secara manual, pengaturcara bergantung pada bahasa himpunan yang tujuannya adalah untuk menterjemah secara automatik antara bahasa peringkat tinggi dan bahasa peringkat rendah ini.Bahasa himpunan pertama telah dibangunkan pada tahun 1940-an, dan walaupun pengaturcara moden dan pemproses bahasa semula jadi moden menghabiskan sedikit masa berurusan dengan bahasa himpunan, namun mereka tetap penting untuk berfungsi secara keseluruhan komputer.

Semasa hari-hari awal pengkomputeran, pengaturcaraan sistem dan pengaturcaraan aplikasi akan berlaku sepenuhnya dalam bahasa himpunan.Tanpa bahasa himpunan, banyak komputer moden dan bahasa peringkat lebih tinggi yang kami gunakan hari ini tidak akan dapat dilaksanakan.

Komponen Bahasa Himpunan

Sintaks

Apabila menulis sebarang kod dalam mana-mana bahasa program, terdapat susunan peraturan tertentu yang boleh diperhatikan yang mesti dipatuhi untuk membolehkan pengkompil melaksanakan kod tanpa ralat.Peraturan ini ditakrifkan sebagai sintaks, dan ia mengandungi kriteria seperti bilangan maksimum aksara yang dibenarkan, baris kod aksara yang mesti dimulakan atau maksud simbol tertentu "iaitu koma bertitik".

Label

Label ialah simbol yang mewakili alamat tempat arahan atau data disimpan.Tujuannya adalah untuk bertindak sebagai destinasi apabila dirujuk dalam kenyataan.Label boleh digunakan di mana-mana sahaja alamat boleh digunakan dalam bahasa perhimpunan.Label simbolik terdiri daripada pengecam diikuti dengan titik bertindih, manakala label berangka terdiri daripada satu digital diikuti dengan titik bertindih.

Operator

Juga dirujuk sebagai arahan, pengendali ialah ungkapan logik yang berlaku selepas medan label.Di samping itu, ia mesti didahului oleh sekurang-kurangnya satu aksara ruang putih.Operator boleh sama ada opcode atau arahan.Opcode sepadan terus dengan arahan mesin, dan kod operasi termasuk sebarang nama daftar yang dikaitkan dengan arahan.Sebagai alternatif, kod operasi arahan ialah arahan yang diketahui oleh pemasang.

Arahan

Arahan ialah arahan kepada pemasang yang memberitahu tindakan yang mesti dilakukan semasa proses pemasangan.Arahan mempunyai kepentingan untuk mengisytiharkan atau menyimpan memori untuk pembolehubah; pembolehubah ini boleh dipanggil semula kemudian dalam proses untuk melaksanakan fungsi yang lebih dinamik.Arahan juga digunakan untuk memecahkan program kepada bahagian yang berbeza.

Makro

Makro bahasa himpunan ialah format kasut templat yang mempersembahkan siri atau corak pernyataan.Urutan pernyataan bahasa himpunan ini mungkin biasa kepada berbilang program yang berbeza.Kemudahan makro digunakan untuk mentafsir definisi makro, manakala panggilan makro dimasukkan ke dalam kod sumber di mana kod pemasangan "biasa" akan hilang dan bukannya set pernyataan makro.

Mnemonik

Mnemonik ialah singkatan untuk operasi.Mnemonik dimasukkan ke dalam kod operasi untuk setiap arahan atur cara pemasangan untuk menentukan "opcode" dipendekkan yang mewakili set kod yang lebih besar dan lengkap.Sebagai contoh, mnemonik "darab dengan dua" mempunyai set lengkap kod yang menjalankan mnemonik.

Dagangan Frekuensi Tinggi

Hari ini, bahasa himpunan kekal sebagai subjek kajian oleh pelajar sains komputer, untuk membantu mereka memahami cara perisian moden berkaitan dengan platform perkakasan asasnya.Dalam sesetengah kes, pengaturcara mesti terus menulis dalam bahasa pemasangan, seperti apabila permintaan terhadap prestasi sangat tinggi, atau apabila perkakasan yang dipersoalkan tidak serasi dengan mana-mana bahasa peringkat tinggi semasa.

Satu contoh sedemikian yang relevan dengan kewangan ialah platform dagangan frekuensi tinggi (HFT) yang digunakan oleh beberapa firma kewangan.Dalam pasaran ini, kelajuan dan ketepatan urus niaga adalah amat penting agar strategi dagangan HFT terbukti menguntungkan.Oleh itu, untuk mendapatkan kelebihan berbanding pesaing mereka, sesetengah firma HFT telah menulis perisian dagangan mereka secara langsung dalam bahasa pemasangan, dengan itu menjadikannya tidak perlu menunggu arahan daripada bahasa peringkat lebih tinggi untuk diterjemahkan ke dalam bahasa mesin.

Ramai yang percaya bahasa himpunan mempunyai keluk pembelajaran yang paling curam dan merupakan bahasa pengkomputeran yang paling sukar untuk dipelajari.

Kelebihan dan kekurangan

Bahasa himpunan biasanya boleh dilaksanakan lebih cepat daripada bahasa peringkat tinggi.Agak mudah untuk memasukkan komponen pemadaman kod bahasa himpunan, dan bahasa himpunan biasanya memerlukan lebih sedikit arahan untuk menyelesaikan tugas jika dibandingkan dengan jenis bahasa lain.

Bahasa himpunan juga sering digunakan oleh pengaturcara yang mahukan kawalan yang lebih besar ke atas komputer mereka kerana bahasa himpunan membolehkan anda memanipulasi perkakasan anda secara langsung.Kerana kelajuan dan kepentingannya, sesetengah atur cara ditulis secara khusus menggunakan bahasa himpunan kerana kod biasanya boleh kekal lebih kecil.

Bahasa perhimpunan cenderung mempunyai beberapa kelemahan.Program panjang yang ditulis menggunakan bahasa himpunan biasanya memerlukan kuasa pengkomputeran yang lebih berat dan tidak boleh dijalankan pada komputer kecil.Sesetengah mungkin mendapati sintaks bahasa himpunan lebih sukar untuk diingati dan mungkin mengambil masa yang lebih lama untuk mengekod menggunakan bahasa himpunan kerana ia lebih kompleks.Di samping itu, bahasa himpunan biasanya tidak mudah alih antara jenama komputer yang berbeza; sama seperti cara faedah pekerja hilang apabila menukar syarikat, bahasa tidak boleh diterjemahkan dengan lancar ke komputer yang berbeza.

Kebaikan
  • Pelaksanaan mungkin lebih mudah berbanding dengan bahasa lain

  • Pelaksanaan biasanya lebih cepat berbanding dengan bahasa lain

  • Membenarkan kawalan langsung ke atas perkakasan

  • Kod mungkin kekal lebih kecil berbanding bahasa lain

Keburukan
  • Pengaturcaraan mungkin lebih mencabar untuk diambil berbanding bahasa peringkat tinggi

  • Sintaks bahasa himpunan adalah sukar

  • Tidak mudah alih antara mesin

Jenis-jenis Asembler

Bahasa himpunan mesti diterjemahkan ke dalam bahasa mesin menggunakan penghimpun.Terdapat dua jenis pemasang utama.

Penghimpun satu laluan mengimbas atur cara sekali dan membuat atur cara binari yang setara.Penghimpun jenis ini mengesahkan kod bahasa himpunan dengan melihat kod dalam jadual kod mnemonik.Penghimpun satu laluan selalunya lebih pantas daripada pemasang berbilang laluan, dan biasanya tidak perlu membina sebarang kod perantaraan.

Penghimpun berbilang laluan bermakna pemasang menggunakan lebih daripada satu laluan.Penghimpun berbilang laluan membuat jadual dengan setiap simbol dan setiap nilai mereka dalam pas pertama, kemudian gunakan jadual dalam pas masa hadapan untuk menjana kod baharu.Setiap pas berasingan biasanya mengendalikan tugas khusus yang berbeza.Walaupun biasanya lebih perlahan, pemasang berbilang laluan dengan struktur modular selalunya boleh digunakan semula untuk mesin yang berbeza.

Contoh Kod Bahasa Himpunan

Di bawah ialah contoh kod bahasa himpunan Netwide Assembler (NASM).

Contoh Kod Bahasa Himpunan.

Universiti Loyola Marymount

Dalam contoh ini, arahan SYSCALL pada penghujung kod mencetuskan bahagian memori di mana perkhidmatan sistem pengendalian disimpan.Kemudian, kod RAX digunakan untuk memanggil kod untuk ditulis, kemudian RDI untuk keluar.Fungsi SYSCALL digunakan dua kali untuk menggunakan sistem pengendalian serta menunjukkan kepada sistem apabila kod selesai dan tiba masanya untuk keluar.

Apakah Contoh Bahasa Himpunan?

Bahasa pemasangan yang paling biasa digunakan termasuk ARM, MIPS dan x86.

Adakah C++ Bahasa Himpunan?

C++ tidak terdiri daripada kod pemasangan.Bahasa pengkomputeran C++ terdiri daripada kod C++ yang diterjemahkan oleh pengkompil ke dalam kod mesin boleh laku.

Adakah Python Bahasa Perhimpunan?

Python lebih maju daripada bahasa himpunan.Bahasa himpunan dianggap sebagai bahasa peringkat rendah, manakala bahasa peringkat tinggi seperti C, Java atau Python menggunakan 0 dan 1 berbanding nombor, simbol dan singkatan.

Bagaimanakah Bahasa Perhimpunan Digunakan Hari Ini?

Walaupun dianggap sebagai bahasa peringkat rendah berbanding bahasa yang lebih maju, bahasa himpunan masih digunakan.Bahasa pemasangan digunakan untuk memanipulasi perkakasan secara langsung, mengakses arahan pemproses khusus atau menilai isu prestasi kritikal.Bahasa-bahasa ini juga digunakan untuk memanfaatkan kelebihan kelajuan mereka berbanding bahasa peringkat tinggi untuk aktiviti sensitif masa seperti perdagangan frekuensi tinggi.

Garisan bawah

Bahasa himpunan ialah kod peringkat rendah yang bergantung pada hubungan yang kukuh antara input arahan menggunakan bahasa pengekodan dan cara mesin mentafsir arahan kod.Kod ditukar kepada tindakan boleh laku menggunakan pemasang yang menukar input kepada arahan yang boleh dikenali untuk mesin.Walaupun berleluasa pada hari-hari awal pengkomputeran, banyak sistem yang lebih besar menggunakan bahasa peringkat lebih tinggi.