Bộ môn Công nghệ điều khiển tự động Giáo trình hợp ngữ
MỤC LỤC
Chương 1. NGÔN NGỮ ASM VÀ CÁCH LẬP TRÌNH ..............................................1
1.1. Mở đầu.................................................................................................................3
1.2. Cài đặt chương trình dịch TASM.........................................................................3
1.3. Các bước thực hiện một chương trình Assember trên máy PC : .........................4
1.4. Sự hỗ trợ của hệ thống cho việc lập trình Assember ...........................................4
1.4.1 Cấu trúc các thanh ghi ...................................................................................4
1.4.2 Cách thể hiện địa chỉ ô nhớ (ROM hoặc RAM): dạng lôgíc và dạng vật lý .7
1.4.3 Các ngắt hay dùng hỗ trợ cho lập trình Assembler........................................7
1.5. Hệ lệnh Assembler ...............................................................................................7
1.5.1. Cú pháp của một dòng lệnh ASM................................................................7
1.5.2. Tập lệnh Mnemonic.....................................................................................8
1.5.3 Các lệnh điều khiển khi dịch chương trình (directive) ................................21
1.6. Chương trình con................................................................................................34
1.6.1. Ý nghĩa của chương trình con.....................................................................34
1.6.2. Cơ chế khi một chương trình con bị gọi....................................................34
1.6.3. Cú pháp một chương trình con ASM.........................................................34
1.7. MACRO .............................................................................................................37
1.7.1. Ý nghĩa........................................................................................................37
1.7.2. Khai báo (xác lập) MACRO .......................................................................37
1.7.3 Cách dùng MACRO đã được xác lập..........................................................38
1.8. Directive INCLUDE ..........................................................................................38
1.8.1. Ý nghĩa........................................................................................................38
1.8.2 Cú pháp chèn................................................................................................38
1.8.3. Cơ chế khi chương trình dịch TASM gặp directive INCLUDE.................39
1.9. Chương trình đa tệp............................................................................................48
1.9.1. Ý nghĩa........................................................................................................48
1.9.2. Directive PUBLIC ......................................................................................48
1.9.3. Directive EXTRN .......................................................................................48
1.9.4. Cách dịch và liên kết..................................................................................50
1.10. Biến hỗn hợp : Directive STRUC, RECORD và UNION ...............................51
1.10.1 Cấu trúc STRUC........................................................................................51
1.10.2 Directive UNION.......................................................................................51
1.11. Xây dựng chương trình Assembly để được tệp thực hiện dạng .COM............51
1.11.1 Sự khác nhau chương trình dạng COM và EXE........................................51
1.11.2 Làm thế nào để có được chương trình dạng .COM ...................................51
1.11.3 Các vấn đề cần lưu ý..................................................................................52
1.11.4 Dạng thường thấy 1 chương trình ASM để được dạng COM ...................52
Chương 2: LIÊN KẾT CÁC NGÔN NGỮ BẬC CAO VỚI ASM...............................57
2.1 Liên kết Pascal với ASM ....................................................................................57
2.1.1 Inline ASM..................................................................................................57
2.1.2 Viết tách biệt tệp ngôn ngữ Pascal và tệp ASM .........................................58
2.2 Liên kết c/c++ với ASM...................................................................................67
2.2.1. Inline Assembly.......................................................................................67
2.2.2 Viết tách biệt C/C++ và tệp ASM.............................................................68
Ch−¬ng 1- Ng«n ng÷ ASM vµ c¸ch lËp tr×nh 1