(+84) 236.3827111 ex. 402

Assembly 32 bít – Giới thiệu về Assembly 32 bít và NASM (tt2)


Bài viết này hướng dẫn sử dụng các chương trình biên dịch 16 bít: Microsoft MacroAssembler và A86 MacroAssembler V4.05 để dịch các chương trình hợp ngữ (*.asm) sang chương trình thực thi (*.exe và *.com), chạy được trên nền hệ điều hành MS_DOS:

· Chương trình A86 Macro Assembly (tập tin chính là: A86.com) thường được sử dụng để dịch chương trình hợp ngữ sang chương trình thực thi dạng COM.

· Chương trình Macro Assembly (tập tin chính là: MASM.exe) thường được sử dụng để dịch chương trình hợp ngữ sang chương trình thực thi dạng EXE. Tuy nhiên, MASM chỉ có thể dịch tập tin chương trình hợp ngữ sang dạng tập tin đối tượng mã máy dạng Obj. Để chuyển tập tin Obj sang tập tin chương trình thực thi EXE ta phải sử dụng chương trình liên kết của MSDOS, đó là Link.exe. Để chuyển tập tin thực thi dạng EXE sang tập tin thực thi dạng COM ta phải sử dụng thêm một chương trình khác của MS_DOS, đó là EXE2Bin.com.

Có thể sử dụng các tập tin TASM.Exe và TLINK.Exe để thay thế cho MASM.exe và Link.exe. Các tập tin này, và cả tập tin EXE2Bin.com, có thể tìm thấy trong bộ chương trình Turbo Pascal.

Chức năng của các tập tin biên dịch hợp ngữ liên quan:

  • Tập tin MASM.exe/TASM.exe: Hỗ trợ dịch chương trình hợp ngữ nguồn sang tập tin mã máy dạng Obj tương ứng.
  • Tập tin Link.exe/TLink.exe: Hỗ trợ liên kết các tập tin mã máy, dạng tập tin đối tượng (*.Obj), thành tập tin thực thi dạng EXE.
  • Tập tin EXE2Bin.exe: Hỗ trợ chuyển các tập tin EXE, viết theo cấu trúc dạng COM, thành tập tin thực thi dạng COM.

MASM có thể dịch tập tin chương trình hợp ngữ sang các tập tin: tập tin đối tượng (*.Obj), tập tin liệt kê thông tin (*.Lst), tập tin tham khảo chéo (*.Crf).

  • Tập tin đối tượng (Object File): Chứa bảng dịch mã máy của các lệnh trong chương trình nguồn hợp ngữ, và các thông tin cần thiết để có thể tạo nên một tập tin thực thi. Đây là tập tin chính để tạo nên tập tin thực thi.
  • Tập tin liệt kê thông tin (List File): Là một tập tin văn bản cho biết địa chỉ offset của từng lệnh trong đoạn Code; mã lệnh của các lệnh trong chương trình; danh sách các tên/nhãn dùng trong chương trình; các thông báo lỗi và một số thông tin khác. Đây là tập tin cơ sở hỗ trợ việc gỡ rối chương trình.
  • Tập tin tham khảo chéo (Cross Reference File): Liệt kê các tên sử dụng trong chương trình và dòng mà chúng xuất hiện.

Hầu hết các chương trình biên dịch hợp ngữ 16 bít đều không hỗ trợ màn hình soạn thảo chương trình. Nhưng, nó cho phép chúng ta sử dụng bất kỳ chương trình/màn hình soạn thảo nào đó, như Turbo Pascal, C,…, để viết chương trình. Chúng ta có thể sử dụng chương trình soạn thảo Notepad trên Windows (Windows XP) để viết và chỉnh sửa chương trình hợp ngữ, trong trường hợp này ta nên đặt phần mở rộng cho tập tin chương trình là asm (*.asm).