Giáo trình hợp ngữ

Hợp ngữ (assembly language) là một ngôn ngữ cấp thấp dùng để viết các chương trình máy tính. Cách dùng các thuật nhớ (mnemonics) thân thiện để viết chương trình đã thay thế cách lập trình trực tiếp lên máy tính bằng mã máy dạng số (numeric machine code) - từng áp dụng cho những máy tính đầu tiên - vốn rất mệt nhọc, dễ gây lỗi và tốn nhiều thời giờ. Một chương trình viết bằng hợp ngữ sẽ được dịch sang ngôn ngữ máy bằng một tiện ích gọi là trình hợp dịch. Lưu ý rằng, trình hợp dịch khác hoàn toàn với trình biên dịch, vốn dùng để biên dịch các ngôn ngữ cấp cao sang các chỉ thị lệnh cấp thấp mà sau đó sẽ được trình hợp dịch chuyển đổi sang ngôn ngữ máy. Các chương trình hợp ngữ thường phụ thuộc chặt chẽ vào một kiến trúc máy tính xác định, nó khác với ngôn ngữ cấp cao thường độc lập đối với các nền tảng kiến trúc phần cứng. Nhiều trình hợp dịch phức tạp ngoài các tính năng cơ bản còn cung cấp thêm các cơ chế giúp cho việc viết chương trình, kiểm soát quá trình dịch cũng như việc gỡ rối được dễ dàng hơn. Hợp ngữ đã từng được dùng rộng rãi trong tất cả các khía cạnh lập trình, nhưng ngày nay nó có xu hướng chỉ được dùng trong một số lãnh vực hẹp, chủ yếu để giao tiếp trực tiếp với phần cứng hoặc xử lý các vấn đề liên quan đến tốc độ cao điển hình như các trình điều khiển thiết bị, các hệ thống nhúng cấp thấp và các ứng dụng thời gian thực.