1. Trang chủ
  2. » Giáo án - Bài giảng

Kỹ thuật vi xử lý h x dậu

26 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 4,36 MB

Nội dung

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Giảng viên: TS Hồng Xn Dậu Điện thoại/E-mail: dauhoang@vnn.vn Bộ mơn: Khoa học máy tính - Khoa CNTT1 Học kỳ/Năm biên soạn: Học kỳ năm học 2009-2010 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 NỘI DUNG www.ptit.edu.vn Giới thiệu hợp ngữ Cú pháp chương trình hợp ngữ Dữ liệu cho chương trình hợp ngữ Biến Khung chương trình hợp ngữ Các cấu trúc điều khiển Giới thiệu phần mềm mô emu8086 Một số ví dụ GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Giới thiệu hợp ngữ  Hợp ngữ (Assembler) ngôn ngữ lập trình bậc thấp, cao ngơn ngữ máy;  Hợp ngữ ngôn ngữ gắn liền với dòng vi xử lý (processor specific)  Các lệnh dùng hợp ngữ lệnh VXL  Chương trình hợp ngữ viết cho VXL khơng hoạt động VXL khác  Chương trình hợp ngữ dịch mã máy có kích thước nhỏ gọn, chiếm khơng gian nhớ  Hợp ngữ thường sử dụng để viết:  Các trình điều khiển thiết bị  Các mơđun chương trình cho vi điều khiển  Một số mơđun nhân HĐH (địi hỏi kích thước nhỏ gọn tốc độ cao) www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Cú pháp chương trình hợp ngữ  Trong chương trình hợp ngữ, lệnh đặt dịng – dịng lệnh;  Lệnh có dạng:  Lệnh thật: lệnh gợi nhớ VXL • VD: MOV, SUB, ADD, • Khi dịch, lệnh gợi nhớ dịch mã máy  Lệnh giả: hướng dẫn chương trình dịch • VD: MAIN PROC, DATA, END MAIN, • Khi dịch, lệnh giả khơng dịch mã máy mã có tác dụng định hướng cho chương trình dịch  Khơng phân biệt chữ hoa hay chữ thường dòng lệnh hợp ngữ dịch www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Cú pháp chương trình hợp ngữ  Cấu trúc dòng lệnh hợp ngữ: [Tên] [Mã lệnh] [Các toán hạng] [Chú giải] START: MOV AH, 100 ; Chuyển 100 vào ghi AH  Các trường dòng lệnh:  Tên: • Là nhãn, tên biến, thủ tục Sau nhãn dấu hai chấm (:) • Các tên chương trình dịch gán địa nhớ • Tên gồm chữ cái, chữ số, dấu gạch phải bắt đầu chữ  Mã lệnh: gồm lệnh thật giả www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Cú pháp chương trình hợp ngữ  Các trường dịng lệnh:  Tốn hạng: • Số lượng tốn hạng phụ thuộc vào lệnh cụ thể • Có thể có 0, tốn hạng  Chú giải: • Là thích cho dịng lệnh • Bắt đầu dấu chấm phảy (;) START: MOV Tên www.ptit.edu.vn AH, 100 Mã lệnh Toán hạng ; Chuyển 100 vào ghi AH Chú giải GIẢNG VIÊN: TS HOÀNG XUÂN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Dữ liệu cho chương trình hợp ngữ  Dữ liệu số:  Thập phân: 0-9  Thập lục phân: 0-9, A-H • Bắt đầu chữ (A-F) thêm vào đầu • Thêm ký hiệu H (Hexa) cuối • VD: 80H, 0F9H  Nhị phân: 0-1 • Thêm ký hiệu B (Binary) cuối • VD: 0111B, 1000B  Dữ liệu ký tự:  Bao cặp nháy đơn kép  Có thể dùng dạng ký tự mã ASCII • ‘A’ = 65, ‘a’ = 97 www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Hằng biến  Hằng (constant):  Là đại lượng không thay đổi giá trị  Hai loại hằng: • Hằng giá trị: ví dụ 100, ‘A’ • Hằng có tên: ví dụ MAX_VALUE  Định nghĩa có tên: EQU VD: MAX EQU ENTER EQU ESC EQU www.ptit.edu.vn 100 13 27 GIẢNG VIÊN: TS HOÀNG XUÂN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Hằng biến  Biến (variable):  Là đại lượng thay đổi giá trị  Các loại biến: • Biến đơn • Biến mảng • Biến xâu ký tự  Khi dịch biến chuyển thành địa ô nhớ www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Hằng biến  Định nghĩa biến đơn: Tên biến Tên biến Tên biến DB DW DD Giá trị khởi đầu: Định nghĩa biến byte Giá trị khởi đầu: Định nghĩa biến word Giá trị khởi đầu: Định nghĩa biến double word Ví dụ: X Y Z DB DW DD 10 ? 1000 www.ptit.edu.vn ; Khai báo biến X khởi trị 10 ; Khai báo biến Y không khởi trị ; Khai báo biến X khởi trị 1000 GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 10 BÀI GIẢNG MƠN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Hằng biến  Định nghĩa biến xâu ký tự: định nghĩa xâu ký tự mảng ký tự Ví dụ: str1 DB str2 DB str2 DB www.ptit.edu.vn ‘string’ 73H, 74H, 72H, 69H, 6EH, 67H 73H, 74H, ‘r’, ‘i’, 69H, 6EH, 67H GIẢNG VIÊN: TS HOÀNG XUÂN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 12 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Khung chương trình hợp ngữ  Khai báo qui mơ sử dụng nhớ: Model  Các kiểu kích thước nhớ:  Tiny (hẹp): mã lệnh liệu gói gọn đoạn  Small (nhỏ): mã lệnh gói gọn đoạn, liệu gói gọn đoạn  Medium (vừa): mã lệnh khơng gói gọn đoạn, liệu gói gọn đoạn  Compact (gọn): mã lệnh gói gọn đoạn, liệu khơng gói gọn đoạn  Large (lớn): mã lệnh khơng gói gọn đoạn, liệu khơng gói gọn đoạn, khơng có mảng lớn 64K  Huge (rất lớn): mã lệnh khơng gói gọn đoạn, liệu khơng gói gọn đoạn, có mảng lớn 64K www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 13 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Khung chương trình hợp ngữ  Khai báo đoạn ngăn xếp: Stack VD: Stack 100H; khai báo kích thước ngăn xếp 100H=256 byte  Khai báo đoạn liệu: Data ;Định nghĩa biến ;Tất biến phải khai báo đoạn liệu VD: Data MSG DB ‘Hello!$’ ENTER DB 13 MAX DW 1000 www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 14 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Khung chương trình hợp ngữ  Khai báo đoạn mã: Code ; Các lệnh chương trình VD: Code MAIN Proc ; bắt đầu chương trình ; lệnh chương trình MAIN Endp ; kết thúc chương trình ; chương trình – có End MAIN www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 15 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Khung chương trình hợp ngữ - tổng hợp Model Small Stack 100H Data ; khai báo biến Code MAIN Proc ; khởi đầu cho ghi DS MOV AX, @Data ; nạp địa đoạn liệu vào AX MOV DS, AX ; nạp địa đoạn liệu vào DS ; lệnh chương trình ; kết thúc, trở chương trình gọi dùng hàm 4CH ngắt 21H MOV AH, 4CH INT 21H MAIN Endp ; chương trình (nếu có) END MAIN ; kết thúc tồn chương trình www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 16 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Khung chương trình hợp ngữ - ví dụ ; Chương trình in thơng điệp: Hello World! Model Small Stack 100H Data ; khai báo biến CRLF DB 13, 10, ‘$’ ; xuống dòng MSG DB ‘Hello World!$’ Code MAIN Proc ; khởi đầu cho ghi DS MOV AX, @Data ; nạp địa đoạn liệu vào AX MOV DS, AX ; nạp địa đoạn liệu vào DS www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 17 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Khung chương trình hợp ngữ - ví dụ ; xuống dòng MOV AH, LEA DX, CRLF ; nạp địa CRLF vào DX INT 21H ; lời chào dùng hàm ngắt 21H MOV AH, LEA DX, MSG ; nạp địa thông điệp vào DX INT 21H ; thông điệp ; kết thúc, trở chương trình gọi dùng hàm 4CH ngắt 21H MOV AH, 4CH INT 21H MAIN Endp END MAIN www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 18 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Các cấu trúc điều khiển  Cấu trúc lựa chọn  Rẽ nhánh kiểu IF THEN  Rẽ nhánh kiểu IF THEN ELSE  Rẽ nhiều nhánh  Cấu trúc lặp  Lặp kiểu for  Lặp kiểu repeat until www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 19 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Các cấu trúc điều khiển - IF THEN  IF điều kiện THEN thao tác  Gán BX giá trị tuyệt đối AX CMP AX,0 JNL GAN NEG AX GAN: MOV BX, AX Sai Điều kiện Đúng Lệnh www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 20 BÀI GIẢNG MƠN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Các cấu trúc điều khiển - IF THEN ELSE Gán bít dấu AX cho CL: OR AX, AX ; AX >0 ? JNS DG ; MOV CL, ; không, CL1 JMP RA ; nhảy qua nhánh DG: MOV CL, ; CL0 RA: www.ptit.edu.vn Đúng Lệnh GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Điều kiện Sai Lệnh Trang 21 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Các cấu trúc điều khiển - Rẽ nhiều nhánh Gán giá trị cho CX theo qui tắc: • • • Nếu AX0 CX=1 CMP AX, JL AM JE KHONG JG DUONG AM: MOV CX, -1 JMP RA DUONG: MOV CX, JMP RA KHONG: MOV CX, RA: www.ptit.edu.vn Biểu thức Giá trị Giá trị Lệnh GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Lệnh Giá trị n Lệnh n Trang 22 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Các cấu trúc điều khiển – Lặp kiểu for  Sử dụng lệnh LOOP  Số lần lặp CX MOV CX,10 MOV AH,2 MOV DL,’$’ Hien: INT 21H LOOP Hien CX=XX Câu lệnh Giảm đếm Bộ đếm =0 www.ptit.edu.vn GIẢNG VIÊN: TS HOÀNG XUÂN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 23 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Các cấu trúc điều khiển – Lặp kiểu repeat until … Tiep:… … CMP X,Y; điều kiện JMP điều_kiện=sai; Câu lệnh Điều_kiện? www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 24 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Giới thiệu phần mềm mô emu8086 www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 25 BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ CHƯƠNG – LẬP TRÌNH HỢP NGỮ VỚI 8086/8088 Một số ví dụ Tham khảo sách Kỹ thuật VXL, Văn Thế Minh  Ví dụ 1-11 (trang 126-141) www.ptit.edu.vn GIẢNG VIÊN: TS HỒNG XN DẬU BỘ MƠN: KHOA HỌC MÁY TÍNH - KHOA CNTT1 Trang 26 ... 7 3H, 7 4H, 7 2H, 6 9H, 6EH, 6 7H 7 3H, 7 4H, ‘r’, ‘i’, 6 9H, 6EH, 6 7H GIẢNG VI? ?N: TS H? ??NG XN DẬU BỘ MƠN: KHOA H? ??C MÁY TÍNH - KHOA CNTT1 Trang 12 BÀI GIẢNG MÔN KỸ THUẬT VI X? ?? LÝ CHƯƠNG – LẬP TRÌNH H? ??P... dịch  Khơng phân biệt chữ hoa hay chữ thường dòng lệnh h? ??p ngữ dịch www.ptit.edu.vn GIẢNG VI? ?N: TS HOÀNG XUÂN DẬU BỘ MƠN: KHOA H? ??C MÁY TÍNH - KHOA CNTT1 Trang BÀI GIẢNG MÔN KỸ THUẬT VI X? ?? LÝ CHƯƠNG... VI? ?N: TS H? ??NG XN DẬU BỘ MƠN: KHOA H? ??C MÁY TÍNH - KHOA CNTT1 Trang 25 BÀI GIẢNG MƠN KỸ THUẬT VI X? ?? LÝ CHƯƠNG – LẬP TRÌNH H? ??P NGỮ VỚI 8086/8088 Một số ví dụ Tham khảo sách Kỹ thuật VXL, Văn Thế

Ngày đăng: 19/03/2021, 17:01

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN