Sự khác biệt chính - Ngôn ngữ Máy và Ngôn ngữ Hợp ngữ
Ngôn ngữ lập trình cho phép con người tạo ra các hướng dẫn để máy tính thực hiện các tác vụ. Có ba loại ngôn ngữ lập trình như Ngôn ngữ lập trình cấp cao, Hợp ngữ và Ngôn ngữ máy. Ngôn ngữ lập trình cấp cao dễ hiểu hơn đối với con người. Ngôn ngữ được máy tính nhận dạng được gọi là ngôn ngữ máy. Hợp ngữ là ngôn ngữ nằm giữa ngôn ngữ bậc cao và ngôn ngữ máy. Sự khác biệt chính giữa ngôn ngữ máy và hợp ngữ là ngôn ngữ máy thực thi trực tiếp bởi máy tính và hợp ngữ yêu cầu trình hợp dịch chuyển đổi thành mã máy hoặc mã đối tượng để CPU thực thi.
Ngôn ngữ Máy là gì?
Con người có thể hiểu các ngôn ngữ lập trình Cấp cao. Không nhất thiết phải hiểu sâu về CPU bên trong, có thể lập trình bằng ngôn ngữ bậc cao. Chúng tuân theo một cú pháp tương tự như ngôn ngữ tiếng Anh. Java, C, C ++, Python là một số ngôn ngữ lập trình cấp cao. Máy tính nhận dạng ngôn ngữ máy nhưng không hiểu các ngôn ngữ cấp cao. Do đó, các chương trình đó nên được chuyển đổi sang ngôn ngữ máy tính có thể hiểu được. Bản dịch này được thực hiện bằng trình biên dịch hoặc trình thông dịch.
Hình 01: Ngôn ngữ máy của Zeros và Ones.
Một ngôn ngữ máy bao gồm các chữ số nhị phân là các số không và một lần. Máy tính là một thiết bị điện tử kỹ thuật số, vì vậy nó sử dụng hệ nhị phân cho các hoạt động. Một cho biết trạng thái đúng / trạng thái bật trong khi số 0 cho biết trạng thái sai / trạng thái tắt. Cách chuyển đổi một chương trình từ ngôn ngữ cấp cao sang ngôn ngữ máy phụ thuộc vào CPU.
Hợp ngữ là gì?
Hợp ngữ là ngôn ngữ trung gian giữa ngôn ngữ lập trình bậc cao và ngôn ngữ máy. Nó cao hơn một cấp so với ngôn ngữ máy. Hợp ngữ dễ hiểu hơn ngôn ngữ máy nhưng khó hơn các ngôn ngữ lập trình bậc cao. Ngôn ngữ này còn được gọi là ngôn ngữ cấp thấp vì nó gần với cấp độ phần cứng. Để viết chương trình hiệu quả bằng Assembly, người lập trình cần hiểu rõ về kiến trúc máy tính và cấu trúc thanh ghi. Một trình biên dịch đặc biệt được gọi là trình hợp dịch được sử dụng để chuyển đổi các lệnh của hợp ngữ thành mã máy hoặc mã đối tượng.
Câu lệnh hợp ngữ có bốn phần. Chúng là một nhãn, ghi nhớ, toán hạng, nhận xét. Nhãn và nhận xét là tùy chọn. Mnemonic là lệnh để thực thi và toán hạng là các tham số cho lệnh. Hợp ngữ cũng hỗ trợ macro. Một macro có thể được định nghĩa là một tập hợp các hướng dẫn có tên. Nó có thể được sử dụng ở những nơi khác trong chương trình.
Một số ví dụ về câu lệnh hợp ngữ như sau.
MOV SUM, 50 - Lệnh này sao chép giá trị 50 vào biến SUM.
ADD VALUE1, 20 - Điều này là để thêm 20 vào biến VALUE1
THÊM AH, BH - Hướng dẫn này là sao chép nội dung trong đăng ký AH vào đăng ký BH.
INC COUNT - Điều này là để tăng biến COUNT lên một.
AND VALUE1, 100 - Đây là để thực hiện thao tác AND trên biến VALUE1 và 100.
MOV AL, 20 - Đây là để sao chép giá trị 20 vào thanh ghi AL
Hình 02: Chương trình được viết bằng Hợp ngữ
Tập hợp các câu lệnh Assembly là một chương trình Hợp ngữ. Có thể thấy rằng hợp ngữ dễ hơn so với ngôn ngữ máy. Nó có một cú pháp tương tự như ngôn ngữ tiếng Anh. Hợp ngữ có khoảng ba mươi hướng dẫn. Bộ nhớ cần thiết và thời gian thực thi là tối thiểu so với các ngôn ngữ cấp cao.
Trong các hệ thống thời gian thực, có thể có các sự kiện yêu cầu CPU phải hành động ngay lập tức. Các sự kiện này là các chương trình con đặc biệt được gọi là quy trình dịch vụ ngắt (ISR). Hợp ngữ hữu ích để lập trình ISR.
Sự giống nhau giữa Ngôn ngữ Máy và Hợp ngữ là gì?
Cả ngôn ngữ máy và hợp ngữ đều liên quan đến cấp phần cứng
Sự khác biệt giữa Ngôn ngữ Máy và Ngôn ngữ Hợp ngữ là gì?
Ngôn ngữ Máy và Ngôn ngữ Hợp ngữ |
|
Ngôn ngữ máy là ngôn ngữ lập trình cấp thấp nhất nơi các lệnh thực thi trực tiếp bởi CPU. | Hợp ngữ là ngôn ngữ lập trình cấp thấp yêu cầu trình hợp dịch chuyển đổi thành mã máy / mã đối tượng. |
Tính dễ hiểu | |
Ngôn ngữ máy chỉ có thể hiểu được đối với máy tính. | Con người có thể hiểu được ngôn ngữ hợp ngữ. |
Cú pháp | |
Một ngôn ngữ máy bao gồm các chữ số nhị phân. | Hợp ngữ tuân theo cú pháp tương tự như ngôn ngữ tiếng Anh. |
Phụ thuộc | |
Ngôn ngữ máy khác nhau tùy thuộc vào nền tảng. | Hợp ngữ bao gồm một bộ hướng dẫn tiêu chuẩn. |
Ứng dụng | |
Ngôn ngữ máy là mã máy. | Hợp ngữ đang sử dụng cho các hệ thống thời gian thực dựa trên bộ vi xử lý. |
Tóm tắt - Ngôn ngữ Máy và Ngôn ngữ Hợp ngữ
Sự khác biệt giữa ngôn ngữ máy và hợp ngữ là ngôn ngữ máy được thực thi trực tiếp bởi máy tính và hợp ngữ là ngôn ngữ lập trình cấp thấp yêu cầu trình hợp dịch chuyển đổi sang mã đối tượng hoặc mã máy. Hợp ngữ đi trước một bước so với ngôn ngữ máy. Hợp ngữ là một ngôn ngữ lý tưởng để lập trình các hệ thống dựa trên vi điều khiển. Ngôn ngữ này cũng giúp bạn hiểu rõ về cách CPU đang hoạt động và về các thành phần bên trong của máy tính.
Tải xuống Phiên bản PDF của Ngôn ngữ Máy và Ngôn ngữ Hợp ngữ
Bạn có thể tải xuống phiên bản PDF của bài viết này và sử dụng nó cho mục đích ngoại tuyến theo ghi chú trích dẫn. Vui lòng tải xuống phiên bản PDF tại đây Sự khác biệt giữa Ngôn ngữ Máy và Ngôn ngữ Hợp ngữ
Hình ảnh Lịch sự:
1.’Machine language’By Turkei89 - Tác phẩm riêng, (CC BY-SA 3.0) qua Commons Wikimedia
2.’Zstr count x86 assembly’By OldCodger2, (Public Domain) qua Commons Wikimedia