Từ ngôn ngữ máy đến hợp ngữ
Máy tính chỉ thực thi chương trình viết bằng ngôn ngữ máy. Như đã đề cập ở trên, một chương
trình có thể có hàng ngàn hoặc thậm chí hàng triệu chỉ thị dưới dạng nhị phân và viết một
chương trình như vậy có thể rất nhàm chán và tốn thời gian. Lập trình bằng ngôn ngữ máy
sẽ rất khó nếu đặt 0 và 1 sai vị trí sẽ gây ra lỗi. Mặc dù CPU của máy tính chỉ hiểu được
ngôn ngữ máy, sẽ là không thực tiễn nếu viết chương trình bằng ngôn ngữ máy. Vì lí do này, hợp
ngữ được tạo ra trong thời kì đầu của điện toán và là một giải pháp thay thế cho ngôn ngữ
máy. Thay vì dùng số nhị phân cho các chỉ thị, hợp ngữ dùng các từ ngắn gọi là mã máy (mnenomics).
Ví dụ, trong hợp ngữ mã add có nghĩa là cộng số, mul có nghĩa là nhân số, mov có
nghĩa là di chuyển một giá trị vào một vị trí trong bộ nhớ. Khi một lập trình viên sử dụng
hợp ngữ để viết một chương trình, anh ta có thể viết những mã ngắn thay cho những số nhị phân.
Chương trình hợp ngữ không thể thực thi bởi CPU. CPU chỉ hiểu được ngôn ngữ máy, nên một
chương trình đặc biệt gọi là assembler được sử dụng để dịch chương trình hợp ngữ ra ngôn ngữ
máy. Chương trình ngôn ngữ máy được dịch bởi assembler có thể được thực thi bởi CPU.