Tải bản đầy đủ (.pdf) (40 trang)

Tài liệu Hợp ngữ ASM-Chương 07-Toán tử pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.2 MB, 40 trang )

Chương 6 : Toán tử – Toán hạng -
các phép đònh đòa chỉ – Tập lệnh
Chương 6 : Toán tử – Toán hạng -
các phép đònh đòa chỉ – Tập lệnh
Hiểu cách dùng toán tử trong ASM.
Nắm được tập lệnh của CPU 8086/8088.
Biết cách đònh đòa chỉ thông qua toán hạng.
Biết vận dụng các kỹ năng trên vào vấn đề cần giải
quyết và hiện thực thành chương trình.
5/14/2009 Chuong 7 Cac phep dinh vi dia chi 1
Mục tiêu
Create PDF files without this message by purchasing novaPDF printer ()
Toán tử
Điểm quan trọng phân biệt giữa toán tử và lệnh là :
5/14/2009 Chuong 7 Cac phep dinh vi dia chi 2
ToánToán tửtử điềiều khiểnkhiển sựsự tínhtính toántoán cáccác tròtrò hằnghằng xácxác
đònhđònh lúclúc dòchdòch..
LệnhLệnh điềiều khiểnkhiển sựsự tínhtính toántoán cáccác tròtrò khôngkhông xácxác đònhđònh
đượcđược chocho đếnđến khikhi CTCT thựcthực hiệnhiện..
Ex : toán tử + điều khiển phép cộng khi dòch.
Lệnh cộng ADD điều khiển phép cộng khi chương trình thực
hiện.
Create PDF files without this message by purchasing novaPDF printer ()
Toán tử số học
Toán tửToán tử Cú phápCú pháp Công dụngCông dụng
++ + expression+ expression
DươngDương
-- -- expressionexpression
mm
** exp1*exp2exp1*exp2
NhânNhân


// exp1/exp2exp1/exp2
ChiaChia
MODMOD exp1 mod exp2exp1 mod exp2
Phần dưPhần dư
++ exp1 + exp2exp1 + exp2
CộngCộng
-- exp1 exp1 -- exp2exp2
TrừTrừ
SHLSHL exp shl nexp shl n
Dòch exp sang trái n bitDòch exp sang trái n bit
SHRSHR exp shr nexp shr n
Dòch exp sang phải n bitDòch exp sang phải n bit
35/14/2009 Chuong 7 Cac phep dinh vi dia chi
Create PDF files without this message by purchasing novaPDF printer ()
Toaùn töû logic
NotNot Not expressionNot expression
AndAnd Exp1 and exp2Exp1 and exp2
OrOr Exp1 or exp2Exp1 or exp2
XorXor Exp1 xor exp2Exp1 xor exp2
45/14/2009 Chuong 7 Cac phep dinh vi dia chi
Ex : MOV AH , 8 OR 4 AND 2
MOV AL, NOT (20 XOR 0011100B)
Create PDF files without this message by purchasing novaPDF printer ()
Toán Tử Quan Hệ
• So sánh 2 biểu thức và cho trò là true (-1) nếu
điều kiện của toán tử thỏa, ngược lại là false.
EQEQ Exxx EQ xxxxExxx EQ xxxx
Trrr Trrr nếunếu Exxx x xxxxExxx x xxxx
NENE Exxx NE xxxxExxx NE xxxx
Trrr Trrr nếunếu Exxx xx xxxxExxx xx xxxx

LTLT Exxx LT xxxxExxx LT xxxx
Trrr rTrrr rếuếu Exxx x xxxxExxx x xxxx
LELE Exxx LE xxxxExxx LE xxxx
Trrr Trrr nếunếu Exxx xx xxxxExxx xx xxxx
GTGT Exxx GT xxxxExxx GT xxxx
Trrr rTrrr rếu ếu Exxx x xxxxExxx x xxxx
GEGE Exxx GE xxxxExxx GE xxxx
Trrr Trrr nếunếu Exxx xx xxxxExxx xx xxxx
55/14/2009 Chuong 7 Cac phep dinh vi dia chi
Create PDF files without this message by purchasing novaPDF printer ()
ĐỘ ƯU TIÊN TOÁN TỬ
TOÁN TỬTOÁN TỬ MÔ TẢMÔ TẢ
( )( ) Dấu ngoặcDấu ngoặc
+ , + , -- Dấu dương , âmDấu dương , âm
* / MOD* / MOD Nhân , chia, ModulusNhân , chia, Modulus
+ , + , -- Cộng, trừCộng, trừ
65/14/2009 Chuong 7 Cac phep dinh vi dia chi
Độ ưu tiên
giảm dần
Create PDF files without this message by purchasing novaPDF printer ()
Toán tử SEG
• Cú pháp :
SEG expression
• Cho đòa chỉ đoạn của biểu thức expression.
• Expression có thể là biến | nhãn | tên segment
hay toán hạng bộ nhớ khác.
5/14/2009 Chuong 7 Cac phep dinh vi dia chi 7
Create PDF files without this message by purchasing novaPDF printer ()
Toán tử OFFSET
• Cú pháp :

OFFSET expression
• Cho đòa chỉ OFFSET của biểu thức expression.
• Expression có thể là biến | nhãn | tên segment
hay toán hạng trực tiếp bộ nhớ khác.
5/14/2009 Chuong 7 Cac phep dinh vi dia chi 8
Ex : nạp đòa chỉ segment và offset của biến table vào DS :AX
TABLE DB ?
MOV AX, SEG TABLE
MOV DS, AX
MOV DX, OFFSET Table
Create PDF files without this message by purchasing novaPDF printer ()
TOÁN TỬ $
• Cho đòa chỉ của OFFSET của phát
biểu chứa toán tử $.
• Thường được dùng để tính chiều dài
chuổi.
5/14/2009 Chuong 7 Cac phep dinh vi dia chi 9
Create PDF files without this message by purchasing novaPDF printer ()
TOÁN TỬ PTR
Cú pháp : type PTR expression
Cho phép thay đổi dạng của expression
nếu expr là 1 biến | toán hạng bộ nhớ thì type có
thể là byte , word hay dword.
Nếu expr là 1 nhãn thì type có thể là near hay
far.
5/14/2009 Chuong 7 Cac phep dinh vi dia chi 10
Ex : mov ax, word ptr var1 ; var1 là toán hạng kiểu
Word
mov bl , byte ptr var2 ; var2 là toán hạng kiểu byte
Create PDF files without this message by purchasing novaPDF printer ()

Toán hạng (Operand)
5/14/2009 Chuong 7 Cac phep dinh vi dia chi 11
Các toán hạng chỉ ra nơi chứa dữ liệu cho 1 lệnh , chỉ thò.
Hầu hết các lệnh Assembly đều có đối số là 1 hoặc 2 toán hạng
Có 1 số lệnh chỉ có 1 toán hạng như RET, CLC.
Với các lệnh 2 toán hạng thì toán hạng thứ 2 là toán hạng
nguồn (source) – chứa dữ liệu hoặc đòa chỉ của dữ liệu.
Create PDF files without this message by purchasing novaPDF printer ()
Toán hạng (Operand)
5/14/2009 Chuong 7 Cac phep dinh vi dia chi 12
Toán hạng đích giữ kết quả (nếu có yêu cầu) sau khi
thi hành lệnh.
Toán hạng đích có thể là thanh ghi hay Bộ nhớ.
Toán hạng nguồn có thể là thanh ghi, bộ nhớ hay 1 giá trò
tức thời .
Toán hạng số tức thời có thể là số trong các hệ đếm khác nhau
và được viết theo qui đònh sau :
Số hệ 2 : xxxxxxxxB (x là bit nhò phân)
Số hệ 10 : xxxxxD hay xxxxx (x là 1 số hệ 10)
Số hệ 16 : xxxxH và bắt đầu bằng số (x là 1 số hệ 16)
Create PDF files without this message by purchasing novaPDF printer ()
Cơ chế đònh vò đòa chỉ
• Cách xác đònh dữ liệu trong lệnh được gọi là cơ
chế đònh vò đòa chỉ (addressing mode)  chỉ ra
nơi cất dữ liệu
5/14/2009 Chuong 7 Cac phep dinh vi dia chi 13
Cơ chế này chia làm 3 loại : đònh vò bằng thanh Cơ chế này chia làm 3 loại : đònh vò bằng thanh
ghi, bằng giá trò tức thời và bằng bộ nhớ.ghi, bằng giá trò tức thời và bằng bộ nhớ.
MOV AL, BL ; đònh vò bằng thanh ghiMOV AL, BL ; đònh vò bằng thanh ghi
INC BX ; đònh vò bằng thanh ghiINC BX ; đònh vò bằng thanh ghi

Toán hạng là Reg
Lệnh sẽ được thực hiện
nhanh hơn
Create PDF files without this message by purchasing novaPDF printer ()
ĐỊNH VỊ TỨC THỜI
• Toán hạng tức thời là dữ liệu 8 bit hay 16 bit nằm
ngay trong câu lệnh.
• Dữ liệu xử lý được lưu ngay trong lệnh
Ex : MOV CL, 61h ;  toán hạng tức
thời
Mã máy của lệnh trên là B161h
5/14/2009 Chuong 7 Cac phep dinh vi dia chi 14
Lệnh sẽ được thực hiện
nhanh vì dữ liệu được lấy cùng
với lệnh.
Create PDF files without this message by purchasing novaPDF printer ()
ĐỊNH VỊ THANH GHI
5/14/2009 Chuong 7 Cac phep dinh vi dia chi 15
Giá trị của toán hạng được truy xuất nằm
ngay trong thanh ghi của CPU.
Ex : MOV AX,BX ; chuyển nội dung của
thanh ghi BX vào thanh ghi AX
Create PDF files without this message by purchasing novaPDF printer ()
ĐỊNH VỊ BỘ NHỚ
• Đònh vò gián tiếp thanh ghi :
đòa chỉ toán hạng không chứa trực tiếp trong lệnh mà gián
tiếp thông qua một thanh ghi.
5/14/2009 Chuong 7 Cac phep dinh vi dia chi 16
Lấy dữ liệu từ vùng nhớ
Ex x SUB Dxx xBxx x

Khác với lệnh SUB DX, BX
Trong chế độ này, địa chỉ Offset của ơ nhớ chứa
nộI dung của tốn hạng nằm trong các thanh ghi
BX,BP,SI,DI.
Địa chỉ segment ngầm định chứa trong DS nếu dùng
BX,SI,DI
Địa chỉ segment ngầm định chứa trong ES nếu dùng BP
Create PDF files without this message by purchasing novaPDF printer ()

×