Thứ Hai, 15 tháng 1, 2007

Giới thiệu Lập trình Hợp ngữ, ASM (ASSEMBLY)

Tổng quan về Ngôn Ngữ lập trình hợp ngữ, ASM ( ASSEMBLY)

Chương trình là một tập lệnh đưa vào bộ nhớ cho CPU thực hiện. Các lênh này thể hiện theo nhiều dạng (ngôn ngữ) khác nhau, dạng cơ bản nhất mà máy tinh (CPU) có thể hiểu ngay gọi là Máy Ngữ (Machine Language) hoặc Ngôn ngữ máy. Tùy theo CPU mà Máy Ngữ có dạng nhất định, điều đó có nghĩa với một loại CPU có một Ngôn ngữ máy riêng.

Đoạn chương trình Máy ngữ thuộc dòng Intel 80x086

Lệnh Dạng Thập lục phân Dạng nhị phân
1 B4 02 1011 0100 0000 0010
2 80 C2 30 1000 0000 1100 0010 0011 0000
3 50 0101 0000

Byte đầu tiên gọi là byte tác vụ (Operation Code) mà CPU phải thực hiện, phần còn lại là tác tố (Operand) xác định dữ liệu hoặc nơi chứa dữ liệu mà lệnh tác động vào. Để biết về ngôn ngữ này, người lập trình phải biết rõ về tổ chức của máy đang sử dụng.

Vì là ngôn ngữ riêng này mà chương trình viết bằng ngôn ngữ này được CPU thực hiện rất nhanh và chiếm ít chỗ trong bộ nhớ.

Hợp ngữ là một ngôn ngữ giúp lập trình viên viết chương trình dễ hơn thay cho ngôn ngữ máy. Hợp ngữ có dạng như ngôn ngữ máy tức một tập lệnh hợp ngữ tương đương với một lênh ngôn ngữ máy, nhưng khác với ngôn ngữ máy ở chỗ thay vì viết chương trình dưới dạng nhị phân, người lập trình lại dùng một số ký hiệu tượng trưng dễ nhớ như MOV là lệnh chuyển, ADD là lệnh cộng, SUB là lệnh trừ.

Ví dụ ba ngôn ngữ máy trên có thể viết dưới dạng hợp ngữ sau.

Lệnh Dạng Thập lục phân Dạng hợp ngữ
1 B4 02 MOV AH,02h
2 80 C2 30 ADD DL,30h
3 50 PUSH AX

Máy tính sẽ thực hiện theo trình tự sau để sử lý ngôn ngữ Hợp ngư sang ngôn ngữ máy.

Trích nguồn =============>
trình hợp dịch ============>
===> trình dịch

Thông dụng hiện nay là bộ trình hợp ngữ Turbo Assembly của Borland. Bộ này gồm 2 chương trình cơ bản là trình hợp dịch TASM.EXE và trình liên kết TLINK.EXE ( download 2 file này tại đây)

Không có nhận xét nào: