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

pdf 17 trang phuongnguyen 4801
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:

  • pdfbai_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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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