{"id":475917,"date":"2023-08-09T07:24:43","date_gmt":"2023-08-09T07:24:43","guid":{"rendered":""},"modified":"2023-09-05T11:11:34","modified_gmt":"2023-09-05T11:11:34","slug":"assembly-language","status":"publish","type":"wiki","link":"https:\/\/oneproxy.pro\/my\/wiki\/assembly-language\/","title":{"rendered":"Bahasa himpunan"},"content":{"rendered":"<p>Bahasa himpunan ialah bahasa pengaturcaraan peringkat rendah yang menyediakan perwakilan simbolik kod mesin komputer. Tidak seperti bahasa peringkat tinggi seperti Python, Java atau C++, bahasa pemasangan menyediakan antara muka yang lebih langsung dengan perkakasan komputer. Setiap jenis komputer mempunyai bahasa pemasangan tersendiri, disesuaikan dengan seni bina khusus.<\/p>\n<h2>Evolusi Bahasa Himpunan<\/h2>\n<p>Asal-usul bahasa himpunan boleh dikesan kembali ke tahun 1940-an. Pada hari-hari awal pengkomputeran, sebelum bahasa peringkat tinggi diperkenalkan, pengaturcaraan komputer melibatkan memanipulasi perkakasan mesin secara langsung. Pengaturcara menulis kod dalam binari, yang merupakan proses yang susah payah dan terdedah kepada ralat. Pengenalan bahasa himpunan merupakan satu kejayaan yang menjadikan proses pengaturcaraan lebih cekap dan kurang terdedah kepada ralat.<\/p>\n<p>IBM sering dikreditkan dengan mencipta bahasa himpunan pertama pada tahun 1949, yang digunakan untuk komputer IBM 701. Bahasa pemasangan IBM 701 menyediakan cara yang lebih mudah untuk memprogram, menggunakan kod mnemonik untuk mewakili arahan mesin dan bukannya kod binari.<\/p>\n<h2>Memperluaskan Bahasa Himpunan<\/h2>\n<p>Dalam bahasa himpunan, kod mnemonik mudah sepadan dengan arahan peringkat mesin, menjadikan kod lebih mudah difahami oleh pembaca manusia. Sebagai contoh, arahan mudah seperti &#039;MOV&#039; boleh digunakan untuk memindahkan data dari satu tempat ke tempat lain, &#039;TAMBAH&#039; adalah untuk penambahan, dan &#039;SUB&#039; adalah untuk penolakan.<\/p>\n<p>Mnemonik ini, bersama dengan operan, membentuk set arahan bahasa himpunan. Operan biasanya menentukan daftar atau alamat memori, yang merupakan lokasi di mana data disimpan. Komen boleh ditambahkan pada program bahasa himpunan untuk menerangkan perkara yang dilakukan oleh pelbagai bahagian program, serupa dengan bahasa peringkat tinggi.<\/p>\n<p>Program yang dipanggil pemasang menterjemah bahasa pemasangan ke dalam kod mesin yang komputer boleh laksanakan secara langsung. Sesetengah pemasang juga menyediakan keupayaan makro, membolehkan pengaturcara mentakrifkan operasi yang kompleks dan menggunakannya sebagai arahan tunggal.<\/p>\n<h2>Bahasa Himpunan: Di Bawah Tudung<\/h2>\n<p>Bahasa himpunan menyediakan surat-menyurat satu dengan satu antara arahannya dan arahan mesin bagi seni bina komputer tertentu. Apabila pemasang menterjemah program bahasa himpunan, setiap arahan pemasangan biasanya diterjemahkan ke dalam satu arahan mesin.<\/p>\n<p>Sebagai contoh, dalam seni bina x86, arahan pemasangan &#039;MOV AX, 10&#039; mungkin diterjemahkan kepada kod mesin &#039;B8 0A 00 00 00&#039;, di mana &#039;B8&#039; mewakili arahan MOV dan &#039;0A 00 00 00&#039; ialah perenambelasan perwakilan 10.<\/p>\n<h2>Ciri-ciri Utama Bahasa Himpunan<\/h2>\n<p>Beberapa ciri utama bahasa himpunan termasuk:<\/p>\n<ol>\n<li><strong>Manipulasi perkakasan langsung:<\/strong> Bahasa pemasangan membenarkan kawalan terus perkakasan, yang boleh menjadi kritikal dalam situasi sensitif masa atau kekangan sumber.<\/li>\n<li><strong>Prestasi cekap:<\/strong> Memandangkan bahasa himpunan memetakan terus ke kod mesin, ia selalunya membenarkan kod yang sangat cekap.<\/li>\n<li><strong>Memahami dalaman komputer:<\/strong> Bekerja dengan bahasa himpunan boleh memberikan pemahaman yang lebih mendalam tentang cara komputer berfungsi pada peringkat perkakasan.<\/li>\n<\/ol>\n<h2>Jenis-Jenis Bahasa Himpunan<\/h2>\n<p>Bahasa pemasangan terikat dengan seni bina perkakasan tertentu. Oleh itu, terdapat banyak jenis bahasa himpunan kerana terdapat jenis seni bina komputer. Beberapa contoh termasuk:<\/p>\n<table>\n<thead>\n<tr>\n<th>Seni Bina Komputer<\/th>\n<th>Bahasa Himpunan<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>x86 (Intel, AMD)<\/td>\n<td>x86 Perhimpunan<\/td>\n<\/tr>\n<tr>\n<td>ARM (Digunakan dalam kebanyakan telefon pintar)<\/td>\n<td>Perhimpunan ARM<\/td>\n<\/tr>\n<tr>\n<td>MIPS (Digunakan dalam banyak sistem terbenam)<\/td>\n<td>Perhimpunan MIPS<\/td>\n<\/tr>\n<tr>\n<td>Kerangka Utama IBM<\/td>\n<td>Perhimpunan IBM<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Kegunaan dan Cabaran Bahasa Himpunan<\/h2>\n<p>Bahasa pemasangan sering digunakan dalam situasi di mana kawalan perkakasan langsung, prestasi tinggi atau saiz kod kecil adalah kritikal. Ini termasuk pengaturcaraan sistem, sistem terbenam, pemacu peranti dan permainan video.<\/p>\n<p>Walau bagaimanapun, pengaturcaraan dalam bahasa himpunan boleh mencabar kerana kerumitan dan kekhususan perkakasannya. Penyahpepijatan juga lebih mencabar, kerana tiada binaan bahasa peringkat tinggi atau jenis data. Selain itu, kerana bahasa pemasangan adalah khusus untuk seni bina perkakasan tertentu, kod tersebut tidak mudah alih merentas seni bina yang berbeza.<\/p>\n<h2>Perbandingan dengan Bahasa Aras Rendah Lain<\/h2>\n<p>Walaupun bahasa himpunan ialah sejenis bahasa peringkat rendah, adalah penting untuk membezakannya daripada bahasa mesin. Bahasa mesin terdiri daripada kod binari, dan setiap arahan secara langsung sepadan dengan operasi perkakasan komputer.<\/p>\n<p>Sebaliknya, bahasa himpunan ialah versi bahasa mesin yang &#039;boleh dibaca manusia&#039;. Ia menggunakan nama simbolik untuk operasi dan operan, menjadikannya lebih mudah difahami dan lebih mudah untuk digunakan daripada bahasa mesin mentah.<\/p>\n<h2>Perspektif Masa Depan tentang Bahasa Himpunan<\/h2>\n<p>Walaupun penggunaan bahasa himpunan telah merosot dengan kemunculan bahasa peringkat tinggi, ia terus mempunyai aplikasi penting. Ia penting dalam bidang seperti pengaturcaraan perisian tegar, sistem masa nyata dan sistem dengan sumber yang sangat terhad.<\/p>\n<p>Dengan perkembangan pengkomputeran kuantum, jenis bahasa himpunan baharu mungkin muncul, sesuai dengan keperluan unik komputer kuantum.<\/p>\n<h2>Bahasa Himpunan dan Pelayan Proksi<\/h2>\n<p>Walaupun bahasa pemasangan dan pelayan proksi mungkin kelihatan tidak berkaitan pada pandangan pertama, sambungan wujud. Pelayan proksi mengendalikan permintaan rangkaian bagi pihak pelayan lain, dan pemprosesan permintaan yang cekap adalah penting. Bahasa pemasangan, dengan kawalan langsung ke atas perkakasan dan kecekapan tinggi, boleh digunakan untuk menulis pelayan proksi berprestasi tinggi.<\/p>\n<p>Walau bagaimanapun, kerumitan dan kekurangan mudah alih bahasa himpunan menjadikannya kurang biasa untuk penggunaan ini. Bahasa peringkat tinggi dengan pustaka rangkaian yang baik sering digunakan, tetapi pemahaman bahasa himpunan masih boleh menjadi berharga untuk mengoptimumkan bahagian kod yang kritikal prestasi.<\/p>\n<h2>Pautan Berkaitan<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.cs.cmu.edu\/~guna\/15-123S11\/Lectures\/Lecture14.pdf\" target=\"_new\" rel=\"noopener nofollow\">Pengenalan kepada Bahasa Himpunan \u2013 Universiti Carnegie Mellon<\/a><\/li>\n<li><a href=\"https:\/\/kipirvine.com\/asm\/\" target=\"_new\" rel=\"noopener nofollow\">Bahasa Himpunan untuk Pemproses x86 \u2013 Kip Irvine<\/a><\/li>\n<li><a href=\"https:\/\/www.raspberrypi.org\/documentation\/usage\/assembly\/\" target=\"_new\" rel=\"noopener nofollow\">Pengaturcaraan Bahasa Perhimpunan Raspberry Pi<\/a><\/li>\n<li><a href=\"https:\/\/www.apress.com\/gp\/book\/9781484200650\" target=\"_new\" rel=\"noopener nofollow\">Pengaturcaraan Bahasa Himpunan X86 Moden<\/a><\/li>\n<li><a href=\"http:\/\/www.plantation-productions.com\/Webster\/www.artofasm.com\/index.html\" target=\"_new\" rel=\"noopener nofollow\">Seni Pengaturcaraan Bahasa Himpunan<\/a><\/li>\n<\/ul>","protected":false},"featured_media":467642,"menu_order":0,"template":"","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"class_list":["post-475917","wiki","type-wiki","status-publish","has-post-thumbnail","hentry"],"acf":{"faq_title":"Frequently Asked Questions about <mark>Assembly Language: A Comprehensive Guide<\/mark>","faq_items":[{"question":"What is Assembly language?","answer":"<p>Assembly language is a low-level programming language that provides a symbolic representation of a computer's machine code. It is a more direct interface with a computer's hardware compared to high-level languages, and every type of computer has its unique assembly language.<\/p>"},{"question":"When was Assembly language first created?","answer":"<p>The first assembly language was created by IBM in the late 1940s for the IBM 701 computer. It was designed to provide a simpler and more efficient way to program, using mnemonic codes to represent machine instructions instead of binary code.<\/p>"},{"question":"What are some key features of Assembly language?","answer":"<p>Key features of assembly language include direct hardware manipulation, efficient performance, and a deep understanding of computer internals. These features make assembly language ideal for situations requiring direct control over hardware or high efficiency.<\/p>"},{"question":"How does Assembly language work?","answer":"<p>Assembly language uses simple mnemonic codes that correspond to machine-level instructions, making the code more understandable for humans. An assembler then translates these instructions into machine code that the computer can execute directly.<\/p>"},{"question":"What are some types of Assembly language?","answer":"<p>Assembly languages are tied to specific hardware architectures. Therefore, types of assembly languages are as numerous as the types of computer architectures. For example, x86 assembly language is used for Intel and AMD architectures, ARM assembly is used for most smartphones, MIPS assembly is used in many embedded systems, and IBM assembly is used in IBM mainframes.<\/p>"},{"question":"What are the challenges associated with Assembly language?","answer":"<p>While assembly language can be powerful, it is also complex and hardware-specific. Debugging can be more challenging as there are no high-level language constructs or data types. Also, the code written in assembly language is not portable across different hardware architectures.<\/p>"},{"question":"How are Assembly language and Proxy servers related?","answer":"<p>Proxy servers handle network requests on behalf of other servers. Assembly language, known for its direct control over hardware and high efficiency, can be used to write high-performance proxy servers. Despite this, the complexity and lack of portability of assembly language make high-level languages more commonly used for this purpose.<\/p>"},{"question":"What are the future perspectives on Assembly language?","answer":"<p>Though the usage of assembly language has declined with the advent of high-level languages, it remains crucial in areas like firmware programming, real-time systems, and systems with limited resources. With the advent of quantum computing, a new type of assembly language might emerge, tailored to the requirements of quantum computers.<\/p>"}]},"_links":{"self":[{"href":"https:\/\/oneproxy.pro\/my\/wp-json\/wp\/v2\/wiki\/475917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneproxy.pro\/my\/wp-json\/wp\/v2\/wiki"}],"about":[{"href":"https:\/\/oneproxy.pro\/my\/wp-json\/wp\/v2\/types\/wiki"}],"version-history":[{"count":0,"href":"https:\/\/oneproxy.pro\/my\/wp-json\/wp\/v2\/wiki\/475917\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/oneproxy.pro\/my\/wp-json\/wp\/v2\/media\/467642"}],"wp:attachment":[{"href":"https:\/\/oneproxy.pro\/my\/wp-json\/wp\/v2\/media?parent=475917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}