Bài giảng Kỹ thuật vi xử lý - Chương 4: Lập trình hợp ngữ với 8088 - TS. Phạm Hoàng Duy
Bạn đang xem tài liệu "Bài giảng Kỹ thuật vi xử lý - Chương 4: Lập trình hợp ngữ với 8088 - TS. Phạm Hoàng Duy", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_ky_thuat_vi_xu_ly_chuong_4_lap_trinh_hop_ngu_voi_8.pdf
Nội dung text: Bài giảng Kỹ thuật vi xử lý - Chương 4: Lập trình hợp ngữ với 8088 - TS. Phạm Hoàng Duy
- 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ý Giảng viên: TS. Phạm Hoàng Duy Điện thoại/E-mail: phamhduy@gmail.com Bộ môn: Khoa Học Máy Tính- Khoa CNTT1 Học kỳ/Năm biên soạn:2009
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ NỘI DUNG LẬP TRÌNH HỢP NGỮ VỚI 8088 Giảng viên: TS. Phạm Hoàng Duy E-mail: phamhduy@gmail.com Năm biên soạn: 2009 GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 2 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Nội dung Giới thiệu hợp ngữ Các câu lệnh căn bản 8088 Các cấu trúc điều khiển GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 3 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Câu hỏi Xây dựng lưu đồ Các câu lệnh xử lý dữ liệu Các cấu trúc điều khiển GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 4 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Hợp ngữ Cú pháp câu lệnh Tên Mã lệnh Toán hạng Chú giải Cộng: ADD AH 30H AH=AH+30H • Định nghĩa biến và hằng số Tên Độ dài Giá trị Chú giải X DB 1FH Khởi tạo 1 byte Y DW FFFFH Khởi tạo 1 word str DB ‘string’ Chuỗi M DB DUP(?) Mảng Hang EQU 1 Hằng số GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 5 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Định nghĩa các đoạn .Stack kích_cỡ 1. .Stack 100 . Định nghĩa đoạn ngăn 2. .Data xếp 3. . .Data 4. .Code . Định nghĩa đoạn dữ liệu 5. . .Code . Định nghĩa đoạn mã lệnh GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 6 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Lưu đồ thuật toán Bắt đầu/Kết thúc • Điều kiện • Thao tác GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 7 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Các thao tác số học Dịch trái • A=A+B ADD A, B . SHL Đích,CL – VD. 3+5 • MOV CL,2 – MOV AX,3 • MOV AX,5 • SHL AX,CL – ADD AX,5 Dịch phải • A=A-B SUB A, B . SHR Đích,CL – A=5-3 Tăng – MOV BX,5 . INC DX; DX++ – SUB BX,3 Giảm . DEC DX;DX GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 8 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Các thao tác số học A=A*B . MOV AX/AL,A; . MUL B B = 1 byte: AX = tích B = 2 byte: DXAX = tích A=A/B . MOV [AX,DX],A . DIV B B = 1 byte: AL thương số, AH số dư B = 2 byte: AX thương số, DX số dư GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 9 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Các thao tác lôgic A = A B AND A,B A = A B OR A,B A = A xor B XOR A,B A > B CMP A,B . A = B; ZF = 1 . A > B; ZF = 0, CF = 0 . A < B; ZF = 0,CF =1 GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 10 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Rẽ nhánh Ví dụ 1. CMP AX,10; kiểm tra điều kiện 2. JXX yyy; rẽ nhánh JMP XX; Jump JL XX; Jump if less - SF <> OF JG XX; Jump if greater - SF = OF JE XX; Jump if equal - ZF = 1 JA XX; Jump if above - (CF = 0) and (ZF = 0) JB XX; Jump if below - CF = 1 GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 11 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Cấu trúc IF . THEN 1. CMP X,Y ; Điều kiện 2. Jmp Điều_kiện_2; Rẽ Điều nhánh kiện ? 3. ; Điều kiện 1 Điều kiện 2 Điều kiện 1 4. JMP Thoat 5. Điều_kiện_2: Điều _kiện_2 Điều kiện 1 6. 7. Thoat: Thoat GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 12 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Cấu trúc IF THEN IF điều kiện THEN thao tác Gán BX giá trị tuyệt đối AX Đúng 1. CMP AX,0 AX < 0 2. JNL GAN AX = - AX 3. NEG AX Sai 4. GAN: MOV BX, AX BX AX GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 13 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Cấu trúc lặp FOR Sử dụng lệnh LOOP CX=XX Số lần lặp CX 1. MOV CX,10 Câu lệnh 2. MOV AH,2 3. MOV DL,’$’ 4. Hien: INT 21H Giảm bộ đếm 5. LOOP Hien Bộ đếm = 0 GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 14 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Cấu trúc lặp REPEAT UNTIL 1. 2. Tiep: 3. . Câu lệnh 4. CMP X,Y; điều kiện 5. JMP điều_kiện=sai; Điều_kiện? GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 15 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Emu8086 GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 16 BỘ MÔN: KHMT-Khoa CNTT1
- BÀI GIẢNG MÔN KỸ THUẬT VI XỬ LÝ Bài tập Kỹ thuật VXL, Văn Thế Minh . Ví dụ 1-11 (tr126) GIẢNG VIÊN: TS. Phạm Hoàng Duy www.ptit.edu.vn Trang 17 BỘ MÔN: KHMT-Khoa CNTT1