Lập trình bằng hợp ngữ cho 8088 trên máy tính IBM PC và các máy t-ơng thích IBM PC 1. Giới thiệu chung Sau khi đã giới thiệu một số lệnh cơ bản của bộ vi xử lý 8088 ta sẽ dùng các lệnh đó để lập trình dùng hợp ngữ trên các máy tính IBM PC (hoặc các máy t-ơng thích máy IBM PC). Vì loại máy tính này có cấu trúc tiêu biểu của một hệ vi xử lý, hơn nữa ta cũng có thể sử dụng nhiều chức năng sẵn có cho ch-ơng trình thông. | TRƯỜNG ĐẠI HỌC KỸ THUẬT CỔNG NGHIỆP http www. CHƯƠNG 3 LÀP TRINH BẰNG Hơp NGỪ CHO 8088 TRÊN MÀy TÍNH IBM PC VÀ CÁC MÀy TƯƠNG THÍCH IBM PC 1. Giói thiêu chung Sau khi đã giới thiệu một số lệnh cơ bản của bô vi xử lý 8088 ta sẽ dùng các lệnh đó để lập trình dùng hợp ngữ trên các máy tính IBM PC hoặc các máy tương thích máy IBM PC . Vì loại máy tính này có cấu trúc tiêu biểu của một hệ vi xử lý hơn nữa ta cũng có thể sử dụng nhiều chức năng sẵn có cho chương trình thông qua các dịch vụ các chương trình con phục vụ ngắt của các ngắt của DOS và của BIOS. Có thể sử dụng chương trình dịch hợp ngữ MASM Macro Assembler phiên bản của Microsoft với các định nghĩa đoạn đơn giản và chế độ bộ nhớ nhỏ. Ngoài ra ta cũng có thể sử dụng chương trình dịch hợp ngữ TASM Turbo Assembler phiên bản của Borland International để thực hiện dịch chương trình của chúng ta. Ngôn ngữ assembly hợp ngũ Các chương trình thực hiện chuyển đổi chương trình của người sử dụng được viết bằng một ngôn ngữ nào đó sang một ngôn ngữ khác được gọi là chương trình dịch translate . Ngôn ngữ được sử dụng để viết chương trình nguồn được gọi là ngôn ngữ nguồn còn ngôn ngữ của chương trình mà do chương trình nguồn chuyển sang được gọi là ngôn ngữ đích. Người ta đã phân chương trình dịch làm 2 loại dựa trên mối quan hệ giữa ngôn ngữ nguồn và ngôn ngữ đích như sau - Khi ngôn ngữ nguồn về căn bản là một sự biểu diễn bằng ký hiệu cho một ngôn ngữ máy bằng số thì chương trình dịch được gọi là assembler và ngôn ngữ nguồn được gọi là ngôn ngữ assembly hợp ngũ . - Khi ngôn ngữ nguồn là một ngôn ngữ bậc cao như Pascal C . . . và ngôn ngữ đích là ngôn ngữ máy hoặc là một biểu diễn bằng ký hiệu cho một ngôn ngữ như vậy thì chương trình dịch được gọi là compiler. Ngôn ngữ assembly thuần khiết là ngôn ngữ mà trong đó mỗi lệnh chỉ thị của nó khi được dịch sinh ra đúng một chỉ thị máy điều đó có nghĩa là có sự tương ứng 1 - 1 giữa các lệnh máy và các lệnh trong ngôn ngữ assembly. Nếu mỗi dòng trong chương trình