Thứ Hai, 20 tháng 1, 2014

Bài giảng Cấu trúc DK & Loops



Chuong 8 : Cau truc DK va Vong lap
Chuong 8 : Cau truc DK va Vong lap
5
5
Cacù lệnh chuyển điều khiển
Cacù lệnh chuyển điều khiển
Chuyển điều khiển vô điều kiện
Chuyển điều khiển có điều kiện
JMP [ SORT | NEAR PTR |FAR PTR ] DEST
JConditional destination
Ex : JNZ nhãn đích ;


Chuong 8 : Cau truc DK va Vong lap
Chuong 8 : Cau truc DK va Vong lap
6
6
LỆNH LOOP
LỆNH LOOP
Công dụng : cho phép lặp 1 công việc với 1 số lần nào đó.
Mỗi lần lặp CX giảm đi 1 đơn vò. Vòng lặp chấm dứt khi CX =0.
Ex 1 : xuất ra màn hình 12 dòng gồm các ký tự A.
MOV CX, 12 * 80
MOV DL, ‘A’
NEXT :
MOV AH, 2
INT 21H
LOOP NEXT


Chuong 8 : Cau truc DK va Vong lap
Chuong 8 : Cau truc DK va Vong lap
7
7
LOOP (tt)
LOOP (tt)
Ex : có 1 Array A gồm 6 bytes, chép A sang array B – dùng SI và
DI để lấy Offset
MO V S I, O FFS ET A
MO V DI, O FFS ET B
MO V C X, 6
MO V E_BYTE :
MO V AL, [SI]
MO V [DI], AL
INC S I
INC DI
LO O P MO V E_BYTE
A DB 1 0 H,2 0 H,3 0 H,4 0 H,5 0 H,6 0 H
B DB 6 DUP (?)


Chuong 8 : Cau truc DK va Vong lap
Chuong 8 : Cau truc DK va Vong lap
8
8
CÁC LỆNH LUẬN LÝ
CÁC LỆNH LUẬN LÝ
Lưu ý về các toán tử LOGIC :
AND 2 Bit : kết quả là 1 khi và chỉ khi 2 bit là 1
OR 2 Bit : kết quả là 1 khi 2 Bit có bit là 1
XOR 2 Bit : kết quả là 1 chỉ khi 2 bit khác nhau
NOT 1 Bit : lấy đảo của Bit này
Lưu ý về thanh ghi cờ :
Cờ ZERO được lập khi tác vụ cho kết quả là 0.
Cờ CARRY được lập khi cộng kết quả bò tràn hay trừ phải mượn.
Cờ SIGN được lập khi bit dấu của kết quả là 1, tức kết quả là số âm.


Chuong 8 : Cau truc DK va Vong lap
Chuong 8 : Cau truc DK va Vong lap
9
9
Lệnh AND
Lệnh AND
Công dụng :
Lệnh này thực hiện phép AND giữa 2 toán hạng, kết quả cuối
cùng chứa trong toán hạng đích.
Dùng để xóa các bit nhất đònh của toán hạng đích giữ nguyên
các bit còn lại.
Cú pháp : AND Destination , Source
Muốn vậy ta dùng 1 mẫu bit gọi là mặt nạ bit (MASK),
các bit mặt nạ được chọn để sao cho các bit tương ứng
của đích được thay đổi như mong muốn.


Chuong 8 : Cau truc DK va Vong lap
Chuong 8 : Cau truc DK va Vong lap
10
10
Lệnh AND
Lệnh AND
Ex1 : xoá bit dấu của AL, giữ nguyên các bit còn lại :
dùng AND với 01111111b làm mặt nạ
AND AL, 7FH
Ex2 :
MOV AL, ‘5’ ; Đổi mã ASCII của số
AND AL, 0FH ; thành số tương ứng.
Ex3 :
MOV DL, ‘a’ ; Đổi chữ thường thành chữ hoa.
AND DL, 0DFH ; thành số tương ứng.
Mask bits
Mask bits


Chuong 8 : Cau truc DK va Vong lap
Chuong 8 : Cau truc DK va Vong lap
11
11
LỆNH OR
LỆNH OR
Công dụng : dùng để bật lên 1 số bit và giữ nguyên các bit khác.
Cú pháp : OR destination, source
Ex1 :
OR AL , 10000001b ; bật bit cao nhất và bit thấp nhất trong thanh ghi AL lên 1
Ex 2:
MOV AL , 5 ; đổi 0 9 thành ký số
OR AL , 30h ; ASCII tương ứng.
Ex 3:
OR AL , AL ; kiểm tra một thanh ghi có = 0.
Nếu : cờ ZF được lập  AL =0
cờ SIGN được lập  AL <0
cờ ZR và cờ SIGN không được lập  AL >0


Chuong 8 : Cau truc DK va Vong lap
Chuong 8 : Cau truc DK va Vong lap
12
12
Việc xoá 1 thanh ghi
Việc xoá 1 thanh ghi
Ta có 3 cách để xoá 1 thanh ghi :
C1: MOV AX , 0
C2 : SUB AX, AX
C3 : XOR AX, AX
Mã lệnh 2 và 3 dài 2 bytes
Mã lệnh 1 dài 3 bytes
 Lệnh 2,3
hiệu quả hơn
Tuy nhiên các thao tác giữa ô
nhớ và ô nhớ là không hợp lệ
nên khi cần xoá 1 ô nhớ ta
phải dùng lệnh 1 .


Chuong 8 : Cau truc DK va Vong lap
Chuong 8 : Cau truc DK va Vong lap
13
13
LỆNH XOR
LỆNH XOR
Công dụng : dùng để tạo đồ họa màu tốc độ cao.
Cú pháp : XOR destination, source
Ex : lật bit cao của AL 2 lần
MOV AL , 00111011b ;
XOR AL, 11111111b ; AL = 11000100b
XOR AL, 11111111b ; AL = 00111011b


Chuong 8 : Cau truc DK va Vong lap
Chuong 8 : Cau truc DK va Vong lap
14
14
LỆNH TEST
LỆNH TEST
Cú pháp : TEST destination, source
Ex : kiểm tra bit 13 trong DX là 0 hay 1
TEST DX, 2000h
JZ BitIs0
BitIs1 : bit 13 is 1
BitIs0 : bit 13 is 0
Để kiểm tra 1 bit nào đó chỉ cần
đặt bit 1 vào đúng vò trí bit cần
kiểm tra và khảo sát cờ ZF.
(nếu bit kiểm là 1 thì ZF sẽ xoá,
ngược lại ZF được lập.
Công dụng : dùng để khảo sát trò của từng bit hay nhóm bit.
Test thực hiện giống lệnh AND nhưng không làm thay đổi toán hạng đích.

Không có nhận xét nào:

Đăng nhận xét