Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 52 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
52
Dung lượng
3,93 MB
Nội dung
om Chương : Cấu trúc điều khiển Vòng lặp C Mục tiêu Zo ne Biết cách mô cấu trúc điều khiển vòng lặp ngôn ngữ lập trình cấp cao nh Vi en Nắm lệnh nhảy lập trình Assembly Si Trên sở đó, vận dụng để lập trình giải số toán Chuong : Cau truc DK va Vong lap SinhVienZone.com https://fb.com/sinhvienzonevn Noäi dung nh Vi en Zo ne C om Sự cần thiết lệnh nhảy lập trình ASM Lệnh JMP (Jump) : nhảy không điều kiện Lệnh LOOP : cho phép lặp công việc với số lần Các lệnh so sánh luận lý Lệnh lặp có điều kiện Lệnh nhảy có điều kiện Biểu diễn mô cấu trúc luận lý mức cao Chương trình Một số chương trình minh họa Si Chuong : Cau truc DK va Vong lap SinhVienZone.com https://fb.com/sinhvienzonevn Sự cần thiết lệnh nhảy ne C om Ở chương trình viết ngôn ngữ cấp cao việc nhảy (lệnh GoTo) điều nên tránh lập trình hệ thống việc cần thiết điểm mạnh chương trình viết Assembly nh Vi en Zo Một lệnh nhảy CPU phải thực thi đoạn lệnh chỗ khác với nơi mà lệnh thực thi Si Trong lập trình, có nhóm phát biểu cần phải lặp lặp lại nhiều lần điều kiện Để đáp ứng điều kiện ASM cung cấp lệnh JMP LOOP Chuong : Cau truc DK va Vong lap SinhVienZone.com https://fb.com/sinhvienzonevn Lệnh JMP (Jump) C om Công dụng :Chuyển điều khiển không điều kiệ• nCú pháp : JMP đích Si nh Vi en Zo ne • Nhảy gần (NEAR) : tác vụ nhảy segment • Nhảy xa (FAR) : tác vụ nhảy sang segment khaùc Chuong : Cau truc DK va Vong lap SinhVienZone.com https://fb.com/sinhvienzonevn Cacù lệnh chuyển điều khiển C om Chuyển điều khiển vô điều kiện ne JMP [ SORT | NEAR PTR |FAR PTR ] DEST nh Vi en Zo Chuyển điều khiển có điều kiện Si JConditional destination Ex : JNZ nhãn đích ; Chuong : Cau truc DK va Vong lap SinhVienZone.com https://fb.com/sinhvienzonevn LỆNH LOOP om Công dụng : cho phép lặp công việc với số lần Mỗi lần lặp CX giảm đơn vị Vòng lặp chấm dứt CX =0 ne C Ex : xuất hình 12 dòng gồm ký tự A Zo MOV CX, 12 * 80 NEXT : INT 21H Si MOV AH, nh Vi en MOV DL, ‘A’ LOOP NEXT Chuong : Cau truc DK va Vong lap SinhVienZone.com https://fb.com/sinhvienzonevn LOOP (tt) C ne Zo Si nh Vi en MOV SI, OFFSET A MOV DI, OFFSET B MOV CX, MOVE_BYTE : MOV AL, [SI] MOV [DI], AL INC SI INC DI LOOP MOVE_BYTE A DB 10H,20H,30H,40H,50H,60H B DB DUP (?) om Ex : coù Array A gồm bytes, chép A sang array B – dùng SI DI để lấy Offset Chuong : Cau truc DK va Vong lap SinhVienZone.com https://fb.com/sinhvienzonevn ne C Lưu ý toán tử LOGIC : AND Bit : kết bit OR Bit : kết Bit có bit XOR Bit : kết bit khác NOT Bit : lấy đảo Bit om CÁC LỆNH LUẬN LÝ Zo Lưu ý ghi cờ : nh Vi en Cờ ZERO lập tác vụ cho kết Cờ CARRY lập cộng kết bị tràn hay trừ phải mượn Si Cờ SIGN lập bit dấu kết 1, tức kết số âm Chuong : Cau truc DK va Vong lap SinhVienZone.com https://fb.com/sinhvienzonevn Leänh AND Cú pháp : AND Destination , Source om Công dụng : ne C Lệnh thực phép AND toán hạng, kết cuối chứa toán hạng đích nh Vi en Zo Dùng để xóa bit định toán hạng đích giữ nguyên bit lại Si Muốn ta dùng mẫu bit gọi mặt nạ bit (MASK), bit mặt nạ chọn để cho bit tương ứng đích thay đổi mong muốn Chuong : Cau truc DK va Vong lap SinhVienZone.com https://fb.com/sinhvienzonevn nh Vi en AND AL, 0FH ; thành số tương ứng Zo Ex2 : MOV AL, ‘5’ ; Đổi mã ASCII số ne C Ex1 : xoá bit dấu AL, giữ nguyên bit lại : dùng AND với 01111111b làm mặt nạ AND AL, 7FH om Leänh AND Mask bits Ex3 : MOV DL, ‘a’ ; Đổi chữ thường thành chữ hoa Si AND DL, 0DFH ; thành số tương ứng Mask bits 10 Chuong : Cau truc DK va Vong lap SinhVienZone.com https://fb.com/sinhvienzonevn ... kiện Lệnh nhảy có điều kiện Biểu diễn mô cấu trúc luận lý mức cao Chương trình Một số chương trình minh họa Si Chuong : Cau truc DK va Vong lap SinhVienZone.com https://fb.com/sinhvienzonevn... Chuong : Cau truc DK va Vong lap SinhVienZone.com https://fb.com/sinhvienzonevn MINH HỌA LỆNH TEST ne C om Ex : kiểm tra trạng thái máy in Interrupt 17H BIOS kiểm tra trạng thái máy in, sau kiểm... máy in Khi bit AL máy in hết giaáy Zo MOV AH, nh Vi en INT 17h TEST AL , 00100000b ; Test bit 5, neáu bit = 1 máy in hết giấy Si Lệnh TEST cho phép test nhiều bit lượt 15 Chuong : Cau truc DK