Bài giảng Cấu trúc máy tính: Chương 5 - Lập trình hợp ngữ với 8088
Số trang: 154
Loại file: pdf
Dung lượng: 1.03 MB
Lượt xem: 15
Lượt tải: 0
Xem trước 10 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Mở đầu về lập trình hợp ngữ là nội dung chính mà "Bài giảng Cấu trúc máy tính": Chương 5 - Lập trình hợp ngữ với 8088" hướng đến trình bày. Mời các bạn cùng tìm hiểu và tham khảo nội dung thông tin tài liệu.
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc máy tính: Chương 5 - Lập trình hợp ngữ với 8088 Cấu trúc máy tínhChương 5LẬP TRÌNH HỢP NGỮ VỚI 8088 1 Nội dung chương 55.1. Mở đầu về lập trình hợp ngữ5.2. Các cấu trúc lập trình hợp ngữ5.3. Các lệnh logic, lệnh dịch và lệnh quay5.4. Ngăn xếp và thủ tục5.5. Các lệnh nhân, chia5.6. Các lệnh thao tác chuỗi5.7. Bài tập 2 5.1. Mở đầu về lập trình hợp ngữ1. Các loại ngôn ngữ lập trình2. Cú pháp của hợp ngữ3. Dữ liệu của chương trình4. Khai báo biến5. Khai báo hằng6. Cấu trúc chương trình7. Dịch và chạy chương trình8. Một số lệnh cơ bản9. Vào-ra đơn giản10. Các ví dụ 3 1. Các loại ngôn ngữ lập trình Ngôn ngữ máy: Chỉ được biểu diễn bằng số nhị phân. Bộ vi xử lý chỉ hiểu được các chương trình mã máy. Con người rất khó khăn để tạo lập hay đọc hiểu chương trình ngôn ngữ máy. Hợp ngữ (Assembly Language): Là ngôn ngữ lập trình bậc thấp (gần ngôn ngữ máy nhất). Được xây dựng trên cơ sở ký hiệu tập lệnh của bộ vi xử lý tương ứng. Phụ thuộc hoàn toàn vào bộ vi xử lý cụ thể. Ngôn ngữ lập trình bậc cao: Gần với ngôn ngữ tự nhiên hơn. Được xây dựng độc lập với cấu trúc của máy tính. 4 Lập trình với hợp ngữ Ưu điểm: Can thiệp sâu vào cấu trúc hệ thống. Hiểu sâu hơn về hệ thống. Chương trình mã máy tương ứng sẽ ngắn hơn, thường nhanh hơn và tốn ít bộ nhớ hơn. Nhược điểm: Khó học vì gần với mã máy. Chương trình nguồn dài, không thích hợp để xây dựng những chương trình lớn. Kết hợp ngôn ngữ lập trình bậc cao với hợp ngữ. 5 Chương trình dịch hợp ngữ Được gọi là ASSEMBLER Một số chương trình dịch hợp ngữ cho IBM-PC: MASM – Microsoft Macro Assembler: Các tệp: MASM.EXE, LINK.EXE, EXE2BIN.EXE ... TASM – Turbo Assembler: Các tệp: TASM.EXE, TLINK.EXE ... Chương trình biên dịch, mô phỏng lập trình hợp ngữ Intel 8086: Emulator 8086 6 Các bước lập trình Bước 1: Phát biểu bài toán Bước 2: Xây dựng thuật giải Bước 3: Viết mã chương trình Bước 4: Dịch và sửa lỗi cú pháp Bước 5: Chạy thử và hiệu chỉnh chương trình 7 2. Cú pháp của hợp ngữ Chương trình hợp ngữ gồm các dòng lệnh, mỗi lệnh viết trên một dòng, mỗi dòng có thể là: Lệnh của bộ vi xử lý (instruction) Chỉ dẫn của chương trình dịch ASSEMBLER Các lệnh hợp ngữ không phân biệt chữ hoa, chữ thường. Khi dịch thành mã máy thì chỉ có các lệnh của bộ vi xử lý mới được dịch. Cấu trúc của một dòng lệnh : Tên Thao tác Toán hạng Chú thích ( Name Operation Operand Comment ) Giữa các trường phải có ít nhất một dấu cách (hoặc TAB) Ví dụ: MAIN PROC BAT_DAU: MOV CX, 50 ; khoi tao bo dem 8 Ý nghĩa các trường trong lệnh (1) Trường tên: Sử dụng cho: nhãn lệnh, tên thủ tục, tên biến Quy ước đặt tên: dài từ 1 đến 31 ký tự, cho phép sử dụng: Chữ cái (không phân biệt chữ hoa và chữ thường) Chữ số (không được dùng làm ký tự đầu tiên) Các ký tự khác: ?, @, $, %, . (dấu . chỉ được dùng khi nó là ký tự đầu tiên). (2) Trường thao tác: Nếu là lệnh của vi xử lý thì đó chính là mã lệnh (MOV, CALL, ADD,...). Nếu là chỉ dẫn thì đó là lệnh giả của chương trình dịch (Pseudo-op). 9 Ý nghĩa các trường trong lệnh (3) Trường toán hạng: Đối với lệnh thì toán hạng xác định dữ liệu bị tác động bởi mã lệnh. Một lệnh có thể có 0, 1, 2 toán hạng. Ví dụ: MOV CX,5 ; 2 toán hạng INC AX ; 1 toán hạng NOP ; 0 toán hạng Đối với lệnh giả thì toán hạng cho thêm thông tin cho lệnh giả đó. (4) Trường chú thích: Bắt đầu bằng dấu ; theo sau đó là lời giải thích. 10 3. Dữ liệu của chương trình Hợp ngữ cho phép biểu diễn dữ liệu dưới dạng: Số nhị phân: 1011b, 1011B, ... Số thập phân: 35, 35d, 35D, ... Số Hexa: 4Ah, 0ABCDh, 0FFFFH, ... Kí tự: A, HELLO, Bach Khoa, ... Tất cả các ki ...
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc máy tính: Chương 5 - Lập trình hợp ngữ với 8088 Cấu trúc máy tínhChương 5LẬP TRÌNH HỢP NGỮ VỚI 8088 1 Nội dung chương 55.1. Mở đầu về lập trình hợp ngữ5.2. Các cấu trúc lập trình hợp ngữ5.3. Các lệnh logic, lệnh dịch và lệnh quay5.4. Ngăn xếp và thủ tục5.5. Các lệnh nhân, chia5.6. Các lệnh thao tác chuỗi5.7. Bài tập 2 5.1. Mở đầu về lập trình hợp ngữ1. Các loại ngôn ngữ lập trình2. Cú pháp của hợp ngữ3. Dữ liệu của chương trình4. Khai báo biến5. Khai báo hằng6. Cấu trúc chương trình7. Dịch và chạy chương trình8. Một số lệnh cơ bản9. Vào-ra đơn giản10. Các ví dụ 3 1. Các loại ngôn ngữ lập trình Ngôn ngữ máy: Chỉ được biểu diễn bằng số nhị phân. Bộ vi xử lý chỉ hiểu được các chương trình mã máy. Con người rất khó khăn để tạo lập hay đọc hiểu chương trình ngôn ngữ máy. Hợp ngữ (Assembly Language): Là ngôn ngữ lập trình bậc thấp (gần ngôn ngữ máy nhất). Được xây dựng trên cơ sở ký hiệu tập lệnh của bộ vi xử lý tương ứng. Phụ thuộc hoàn toàn vào bộ vi xử lý cụ thể. Ngôn ngữ lập trình bậc cao: Gần với ngôn ngữ tự nhiên hơn. Được xây dựng độc lập với cấu trúc của máy tính. 4 Lập trình với hợp ngữ Ưu điểm: Can thiệp sâu vào cấu trúc hệ thống. Hiểu sâu hơn về hệ thống. Chương trình mã máy tương ứng sẽ ngắn hơn, thường nhanh hơn và tốn ít bộ nhớ hơn. Nhược điểm: Khó học vì gần với mã máy. Chương trình nguồn dài, không thích hợp để xây dựng những chương trình lớn. Kết hợp ngôn ngữ lập trình bậc cao với hợp ngữ. 5 Chương trình dịch hợp ngữ Được gọi là ASSEMBLER Một số chương trình dịch hợp ngữ cho IBM-PC: MASM – Microsoft Macro Assembler: Các tệp: MASM.EXE, LINK.EXE, EXE2BIN.EXE ... TASM – Turbo Assembler: Các tệp: TASM.EXE, TLINK.EXE ... Chương trình biên dịch, mô phỏng lập trình hợp ngữ Intel 8086: Emulator 8086 6 Các bước lập trình Bước 1: Phát biểu bài toán Bước 2: Xây dựng thuật giải Bước 3: Viết mã chương trình Bước 4: Dịch và sửa lỗi cú pháp Bước 5: Chạy thử và hiệu chỉnh chương trình 7 2. Cú pháp của hợp ngữ Chương trình hợp ngữ gồm các dòng lệnh, mỗi lệnh viết trên một dòng, mỗi dòng có thể là: Lệnh của bộ vi xử lý (instruction) Chỉ dẫn của chương trình dịch ASSEMBLER Các lệnh hợp ngữ không phân biệt chữ hoa, chữ thường. Khi dịch thành mã máy thì chỉ có các lệnh của bộ vi xử lý mới được dịch. Cấu trúc của một dòng lệnh : Tên Thao tác Toán hạng Chú thích ( Name Operation Operand Comment ) Giữa các trường phải có ít nhất một dấu cách (hoặc TAB) Ví dụ: MAIN PROC BAT_DAU: MOV CX, 50 ; khoi tao bo dem 8 Ý nghĩa các trường trong lệnh (1) Trường tên: Sử dụng cho: nhãn lệnh, tên thủ tục, tên biến Quy ước đặt tên: dài từ 1 đến 31 ký tự, cho phép sử dụng: Chữ cái (không phân biệt chữ hoa và chữ thường) Chữ số (không được dùng làm ký tự đầu tiên) Các ký tự khác: ?, @, $, %, . (dấu . chỉ được dùng khi nó là ký tự đầu tiên). (2) Trường thao tác: Nếu là lệnh của vi xử lý thì đó chính là mã lệnh (MOV, CALL, ADD,...). Nếu là chỉ dẫn thì đó là lệnh giả của chương trình dịch (Pseudo-op). 9 Ý nghĩa các trường trong lệnh (3) Trường toán hạng: Đối với lệnh thì toán hạng xác định dữ liệu bị tác động bởi mã lệnh. Một lệnh có thể có 0, 1, 2 toán hạng. Ví dụ: MOV CX,5 ; 2 toán hạng INC AX ; 1 toán hạng NOP ; 0 toán hạng Đối với lệnh giả thì toán hạng cho thêm thông tin cho lệnh giả đó. (4) Trường chú thích: Bắt đầu bằng dấu ; theo sau đó là lời giải thích. 10 3. Dữ liệu của chương trình Hợp ngữ cho phép biểu diễn dữ liệu dưới dạng: Số nhị phân: 1011b, 1011B, ... Số thập phân: 35, 35d, 35D, ... Số Hexa: 4Ah, 0ABCDh, 0FFFFH, ... Kí tự: A, HELLO, Bach Khoa, ... Tất cả các ki ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Cấu trúc máy tính Cấu trúc máy tính Lập trình hợp ngữ Tìm hiểu Lập trình hợp ngữ Ngôn ngữ lập trình Cú pháp hợp ngữTài liệu liên quan:
-
50 trang 500 0 0
-
67 trang 303 1 0
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 277 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 268 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 268 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 232 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 227 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 218 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 210 0 0 -
Giáo trình Cấu trúc máy tính toàn tập
130 trang 206 0 0