Ngôn ngữ máy (còn được gọi là máy ngữ hay mã máy, tiếng Anh là machine language hay machine code) là một tập các chỉ thị được CPU của máy tính trực tiếp thực thi. Mỗi chỉ thị thực hiện một chức năng xác định, ví dụ như tải dữ liệu, nhảy hay tính toán số nguyên trên đơn vị dữ liệu của thanh ghi CPU hay bộ nhớ. Tất cả các chương trình thực thi trực tiếp bởi CPU đều là chuỗi các chỉ thị này.
Hiện nay, hầu như tất cả các chương trình máy tính trong thực tế đều được viết bằng các ngôn ngữ bậc cao hay (đôi khi) hợp ngữ và sau đó được dịch thành mã máy, thực thi bằng các công cụ phụ trợ như trình biên dịch, trình hợp dịch hay trình liên kết.
Ưu điểm của ngôn ngữ máy
Ngôn ngữ máy là ngôn ngữ dành cho máy tính giao tiếp với phần cứng. Vì vậy:
- Ngôn ngữ máy giúp trao đổi và thực hiện các yêu cầu đối với phần cứng nhanh hơn rất nhiều so với việc ngôn ngữ bậc cao phải biên dịch ra ngôn ngữ máy mới có thể giao tiếp với máy tính.
- Với ngôn ngữ máy, bạn sẽ không cần đến trình biên dịch code. Máy tính sẽ trực tiếp hiểu những gì bạn viết vào bằng ngôn ngữ máy.
- Khai thác được tối đa chức năng của phần cứng.
Nhược điểm của ngôn ngữ máy
- Bạn sẽ phải nhớ toàn bộ code hoạt động và vận hành.
- Tất cả các địa chỉ memory cũng phải được lưu lại.
- Ngôn ngữ máy rất khó để con người làm việc cùng và bạn cũng sẽ rất khó để debug một chương trình viết bằng ngôn ngữ máy.