1. Giới thiệu về Mã Máy (Machine Code)
Mã máy là tập hợp các lệnh nhị phân mà CPU có thể hiểu và thực thi trực tiếp mà không cần bất kỳ trình biên dịch nào khác. Đây là cấp độ lập trình thấp nhất, gần gũi với phần cứng nhất.
- Dạng nhị phân: Mã máy bao gồm các chuỗi bit (0 và 1).
- Phụ thuộc vào kiến trúc CPU: Mã máy khác nhau giữa các loại vi xử lý (x86, ARM, RISC-V, v.v.).
- Không thân thiện với con người: Việc lập trình trực tiếp bằng mã máy rất khó khăn.
2. Cấu Trúc Cơ Bản Của Mã Máy
Mỗi lệnh trong mã máy thường có cấu trúc gồm:
- Opcode (Operation Code): Xác định hành động cần thực hiện (ví dụ: cộng, trừ, nhân, chia).
- Operands (Toán hạng): Dữ liệu hoặc địa chỉ của dữ liệu mà lệnh sẽ sử dụng.
Ví dụ, trên bộ vi xử lý x86, một lệnh mã máy có thể như sau:
assembly
CopyEdit
10110000 01100001 ; Di chuyển giá trị 0x61 vào thanh ghi AL
Lệnh trên dịch sang Assembly là:
assembly
CopyEdit
MOV AL, 0x61
3. Sự Khác Biệt Giữa Mã Máy Và Assembly
- Mã máy: Chỉ gồm các số nhị phân, khó đọc và hiểu.
- Assembly: Là ngôn ngữ bậc thấp sử dụng ký hiệu mnemonics, dễ đọc hơn nhưng vẫn gần với phần cứng.
Ví dụ:
Mã máy (nhị phân)
CopyEdit
10110000 01100001
Assembly