Nhận hoa hồng

18 Tháng Ba, 2023
Assembly là một ngôn ngữ được sử dụng trong lập trình. Đối với những người không chuyên, các ngôn ngữ lập trình thường nghe được sẽ là JavaScript, Java, Python, PHP, C#, CSS, C++… và ít nghe đến Assembly. Do vậy, nội dung chính của bài viết này sẽ mang đến cho bạn đọc thông tin Assembly là gì? Tìm hiểu về ngôn ngữ Assembly và tất cả những chủ đề xung quanh ngôn ngữ này cùng Mona Media trong bài viết này.
Assembly còn được biết đến với tên gọi Assembly Language (ASM) mang nghĩa là hợp ngữ. Đây là là một ngôn ngữ lập trình cấp thấp được thiết kế để giao tiếp trực tiếp với phần cứng máy tính và định hướng luồng thông tin.
Ngôn ngữ Assembly được sử dụng cho các thiết bị có lập trình và bộ vi xử lý. Để tạo ra ngôn ngữ Assembly, lập trình viên thực hiện biên dịch mã nguồn từ ngôn ngữ lập trình cấp cao hơn như C#, C++…
Assembly không phải là ngôn ngữ lập trình mới. Nó đã tồn tại gần như song song với thời gian tồn tại của máy tính. Hợp ngữ được phát minh lần đầu tiên vào năm 1947 bởi nhà toán học Kathleen Booth cùng với sự hỗ trợ của Andrew Booth (chồng), Jon von Neumann và Herman Goldstein tại Birkbeck College, London.
Ngôn ngữ Assembly bao gồm các thành phần sau:
Ngôn ngữ Assembly cho phép con người giao tiếp trực tiếp với phần cứng máy tính và định hướng luồng thông tin. Assembly thực hiện công việc này bằng cách điều này bằng cách sử dụng các từ gợi nhớ (mnemonics) mà con người có thể đọc được để tạo thành mã ngắn là chỉ thị (instructions) để thực hiện nhiệm vụ.
Các mã ngắn này sẽ được chuyển đổi thành ngôn ngữ học máy (là các mã nhị phân sử dụng các chữ số 1 và số 0) thông qua việc sử dụng các chương trình được gọi là chương trình dịch hợp ngữ hay trình lắp ráp (assemblers).
Tóm lại, ngôn ngữ máy sử dụng mã nhị phân, loại mã mà con người hầu như không thể giải mã được. Trong khi đó, hợp ngữ sử dụng mã gợi nhớ để viết chương trình. Mã gợi nhớ giúp con người hiểu, ghi nhớ các đoạn mã một cách đơn giản hơn. Từ đó, con người có thể sử dụng ngôn ngữ này tốt hơn hơn so với mã máy.
Ngôn ngữ Assembly phụ trách nhiều vai trò trong hoạt động của máy tính. Những lợi ích cụ thể khi sử dụng ngôn ngữ Assembly là:
Một số hạn chế thường thấy khi sử dụng ngôn ngữ Assembly là:
Lập trình các vi mạch điện tử. Vì đây là ngôn ngữ gần gũi với máy tính nên máy có thể hiểu nhanh chóng, giúp quá trình thiết lập các chi tiết nhỏ chính xác hơn.
Lập trình biên dịch. Assembly giúp lập trình viên có thể biên dịch các ngôn ngữ ở bậc cao hơn trở nên thân thiện với máy tính, giúp máy có thể hiểu.
Tìm mã nguồn xấu trong hệ thống máy tính. Từ đó, tránh được các tình trạng bị người lạ tấn công vào máy tính. Assembly cũng giúp lập các tường lửa chống virus.
Tùy vào lĩnh vực lập trình của lập trình viên sẽ có mức độ cần thiết của ngôn ngữ Assembly khác nhau. Đối với lập trình viên thiên về lập trình website, ứng dụng, phần mềm, ngôn ngữ lập trình cấp cao sẽ là ưu tiên hàng đầu của họ. Ngôn ngữ Assembly sẽ có mức độ cần thiết thấp hơn do ít sử dụng.
Tuy nhiên, những đối tượng sau sẽ cần thấu hiểu ngôn ngữ này thật tốt:
Cú pháp là các quy tắc cụ thể khi viết các dòng mã sử dụng ngôn ngữ Assembly. Dưới đây là một số quy tắc:
So sánh ngôn ngữ lập trình Assembly và các ngôn ngữ máy tính khác:
Tiêu chí | Ngôn ngữ máy (Machine Language) | Hợp ngữ (Ngôn ngữ Assembly) | Ngôn ngữ trung gian dùng chung (Common Intermediate Language – CIL) | Ngôn ngữ cấp cao (High-Level Language) |
Khái niệm | Ngôn ngữ máy là ngôn ngữ cơ bản nhất để tương tác với máy tính. | Hợp ngữ là một ngôn ngữ cấp thấp dựa vào các mã để tương tác với máy tính. Nó dễ làm việc hơn so với ngôn ngữ máy nhưng không dễ sử dụng như các ngôn ngữ cấp cao. | Ngôn ngữ cấp trung gian dùng chung là một ngôn ngữ phổ quát mà các trình biên dịch sẽ sử dụng để chạy mã đa nền tảng. | Ngôn ngữ bậc cao là ngôn ngữ máy tính sử dụng các lệnh con người có thể hiểu dễ hiểu. |
Đặc điểm | Bộ xử lý có thể dễ dàng hiểu ngôn ngữ máy. Đó là một ngôn ngữ nhị phân bao gồm các chữ số 0 và 1. | Hợp ngữ chứa các mã ngắn thân thiện với con người hơn so với ngôn ngữ máy. Nó dựa vào trình lắp ráp để chuyển đổi mã thành ngôn ngữ máy. | Đây là ngôn ngữ lập trình cấp thấp, dễ đọc nhất cho mọi người (dễ hơn so với lắp ráp). | Ngôn ngữ bậc cao có các lệnh và cú pháp rất thân thiện với người dùng. Trong một số trường hợp, nó sử dụng trình biên dịch để dịch các lệnh này thành hợp ngữ hoặc ngôn ngữ trung gian dùng chung, sau đó chuyển sang ngôn ngữ máy để bộ xử lý hiểu. |
Tốc độ | Tốc độ thực thi của ngôn ngữ máy rất cao vì bộ xử lý không phải dịch nó. | Tốc độ thực thi của hợp ngữ không nhanh bằng ngôn ngữ máy. Các lệnh cần được dịch để bộ xử lý hiểu được. | Tốc độ thực thi chậm hơn so với ngôn ngữ hợp ngữ. | Tốc độ thực thi của ngôn ngữ cấp cao chậm nhất so với các loại ngôn ngữ khác. |
Đặc điểm cú pháp | Con người không thể viết các chương trình thực thi bằng ngôn ngữ máy. | Các chương trình có thể được viết nhưng cồng kềnh và phức tạp | Cú pháp của ngôn ngữ cấp cao được con người đọc hiểu dễ dàng nên hoạt động lập trình nhanh hơn và đơn giản hơn. | |
Ví dụ về tên ngôn ngữ | Ngôn ngữ nhị phân | Kiến trúc bộ tập lệnh sử dụng hợp ngữ: ARM, MIPS, x86… Trong đó, mỗi kiến trúc có ngôn ngữ hợp ngữ riêng | Ví dụ về CIL: Ngôn ngữ trung gian của Microsoft (MSIL) | Ví dụ về ngôn ngữ cấp cao: Java, JavaScript, C ++, C#, F#… |
Trình biên dịch | Trình lắp ráp |
Trình biên dịch chuyển đổi mã nguồn ngôn ngữ cấp cao thành mã ngôn ngữ cấp máy. | Trình hợp dịch chuyển đổi mã ngôn ngữ cấp hợp ngữ thành mã ngôn ngữ cấp máy. |
Đầu vào của trình biên dịch là mã nguồn ngôn ngữ cấp cao. | Đầu vào của nó là mã lắp ráp cấp thấp. |
Trình biên dịch chuyển đổi toàn bộ mã nguồn sang mã máy cùng một lúc. | Trình lắp ráp không chuyển đổi mã trong một lần. |
Nội dung chính của bài viết đã giúp bạn đọc hiểu ngôn ngữ Assembly là gì? Cách thức hoạt động và những thông tin khác liên quan đến ngôn ngữ này. Ngôn ngữ Assembly khó học nhưng nếu bạn muốn phát triển trong lĩnh vực lập trình cho phần cứng thì không thể bỏ qua. Mong rằng qua bài viết, bạn đọc sẽ hiểu hơn về loại ngôn ngữ máy tính này.
Có thể bạn quan tâm:
Dịch vụ thiết kế
website chuyên nghiệp
Sở hữu website với giao diện đẹp, độc quyền 100%, bảo hành trọn đời với khả năng
mở rộng tính năng linh hoạt theo sự phát triển doanh nghiệp ngay hôm nay!