Bài giảng Lập trình hợp ngữ - Chương 6: Toán tử-Toán hạng-Các phép định địa chỉ-Tập lệnh

Chöông 6 : Toaùn tö– Toaùn haïng -  
caùc pheùp ñònh ñòa ch– Taäp leänh  
Muïc tieâu  
Hieåu caùch duøng toaùn tötronASM.  
Naém ñöôïtaäp leänh cuûa CPU 808808.  
Biecaùch ñònñòchthoâng qua toaùn haïn.  
Bievaäduïncaùkynaêntreâvaøvaán ñecaàn giaûi  
quyevahieän thöïthaønh chöông trìn.  
5/8/2022  
1
Chuong 7 Cac phep dinh vi dia chi  
Toaùn töû  
Ñieåm quan troïng phaân bieät giöõa toaùn töû vaø leänh laø :  
Toaùn töñieàu khieån sötính toaùn caùc trò haèng xaùc  
ñònh luùc dòc.  
Leänh ñieàu khieån sötính toaùn caùc trkhoâng xaùc ñònh  
ñöôïc cho ñeán khCT thöïhie.  
Ex : toaùn töû + ñieàu khieån pheùp coäng khi dòch.  
Leänh coäng ADD ñieàu khieån pheùp coäng khi chöông trình thöïc  
hieän.  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
2
Toaùn töû soá hoïc  
Toaùn töû  
+
Cuù phaùp  
Coâng duïng  
Döông  
+ expression  
Aâm  
Nhaân  
Chia  
-
*
expression  
exp1*exp2  
exp1/exp2  
/
MOD  
+
Phaàn dö  
Coäng  
exp1 mod exp2  
exp1 + exp2  
Tröø  
-
exp1 exp2  
exp shl n  
exp shr n  
Dòch exp sang traùi n bit  
Dòch exp sang phaûi n bit  
SHL  
SHR  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
3
Toaùn töû logic  
Not  
And  
Or  
Not expression  
Exp1 and exp2  
Exp1 or exp2  
Exp1 xor exp2  
Xor  
Ex : MOV AH , 8 OR 4 AND 2  
MOV AL, NOT (20 XOR 0011100B)  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
4
Toaùn Töû Quan Heä  
So saùnh 2 bieåu thöùc vacho trò latrue ) neáu  
ñieàu kieän cuûa toaùn töthoûangöôïc lalafals.  
EQ Exp1 EQ exp2 True neáu Exp1 = exp2  
NE Exp1 NE exp2 True neáu Exp1 <> exp2  
LT Exp1 LT exp2  
True eáu Exp1 < exp2  
LE Exp1 LE exp2 True neáu Exp1 <= exp2  
GT Exp1 GT exp2 True eáu Exp1 > exp2  
GE Exp1 GE exp2 True neáu Exp1 >= exp2  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
5
ÑOÄ ÖU TIEÂN TOAÙN TÖÛ  
TOAÙN TÖÛ  
( )  
MOÂ TAÛ  
Daáu ngoaëc  
Daáu döông , aâm  
+ -  
Ñoä öu tieân  
giaûm daàn  
* / MOD Nhaân , chia, Modulus  
+ , -  
Coäng, tröø  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
6
Toaùn töû SEG  
Cuù phaùp :  
SEG expression  
Cho ñòa chæ ñoaïn cuûa bieåu thöùc expression.  
Expression coù theå laø bieán | nhaõn | teân segment  
hay toaùn haïng boä nhôù khaùc.  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
7
Toaùn töû OFFSET  
Cuù phaùp :  
OFFSET expression  
Cho ñòa chæ OFFSET cuûa bieåu thöùc expression.  
Expression coù theå laø bieán | nhaõn | teân segment  
hay toaùn haïng tröïc tieáp boä nhôù khaùc.  
Ex : naïp ñòa chæ segment vaø offset cuûa bieán table vaøo DS :AX  
TABLE DB ?  
MOV AX, SEG TABLE  
MOV DS, AX  
MOV DX, OFFSET Table  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
8
TOAÙN TÖÛ $  
Cho ñòa chæ cuûa OFFSET cuûa phaùt  
bieåu chöùa toaùn tö.  
Thöôøng ñöôïc duøng ñetính chieàu daøi  
chuo.  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
9
TOAÙN TÖÛ PTR  
Cuù phaùp : type PTR expression  
Cho pheùp thay ñoåi daïng cuûa expression  
neáu expr laø bieátoaùn haïng boä nhôthì type coù  
theå laø byte , word hay dword.  
Neáu expr laø 1 nhaõn thì type coù theå laø near hay  
far.  
Ex : mov ax, word ptr var1 ; var1 laø toaùn haïng kieåu  
Word  
mov bl , byte ptr var2 ; var2 laø toaùn haïng kieåu byte  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
10  
Toaùn haïng (Operand)  
Caùc toaùn haïng chæ ra nôi chöùa döõ lieäu cho 1 leänh , chæ thò.  
Haàu heát caùc leänh Assembly ñeàu coù ñoái soá laø 1 hoaëc 2 toaùn haïng  
Coù 1 soá leänh chæ coù 1 toaùn haïng nhö RET, CLC.  
Vôùi caùc leänh 2 toaùn haïng thì toaùn haïng thöù 2 laø toaùn haïng  
nguoàn (source) – chöùa döõ lieäu hoaëc ñòa chæ cuûa döõ lieäu.  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
11  
Toaùn haïng (Operand)  
Toaùn haïng ñích giöõ keát quaû (neáu coù yeâu caàu) sau khi  
thi haønh leänh.  
Toaùn haïng ñích coù theå laø thanh ghi hay Boä nhôù.  
Toaùn haïng nguoàn coù theå laø thanh ghi, boä nhôù hay 1 giaù trò  
töùc thôøi .  
Toaùn haïng soá töùc thôøi coù theå laø soá trong caùc heä ñeám khaùc nhau  
vaø ñöôïc vieát theo qui ñònh sau :  
Soá heä 2 : xxxxxxxxB (x laø bit nhò phaân)  
Soá heä 10 : xxxxxD hay xxxxx (x laø 1 soá heä 10)  
Soá heä 16 : xxxxH vaø baét ñaàu baèng soá (x laø 1 soá heä 16)  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
12  
Cô cheá ñònh vò ñòa chæ  
Caùch xaùc ñònh döõ lieäu trong leänh ñöôïc goïi laø cô  
cheá ñònh vò ñòa chæ (addressing mode➔ chæ ra  
nôi caát döõ lieäu  
Cô cheá naøy chia laøm 3 loaïi : ñònh vò baèng thanh  
ghi, baèng giaù trò töùc thôøi vaø baèng boä nhôù.  
MOV AL, BL ; ñònh vò baèng thanh ghi  
INC BX ; ñònh vò baèng thanh ghi  
Toaùn haïng laø Reg  
Leänh seõ ñöôïc thöïc hieän  
nhanh hôn  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
13  
ÒNH VÒ ỨC THỜI  
Toaùn haïng töùc thôøi laø döõ lieäu 8 bit hay 16 bit naèm  
ngay trong caâu leänh.  
Döõ lieäu xöû lyù ñöôïc löu ngay trong leänh  
Ex : MOV CL, 61h toaùn haïng töùc  
thôøi  
Maõ maùy cuûa leänh treân laB161h  
Leänh seõ ñöôïc thöïc hieän  
nhanh vì döõ lieäu ñöôïc laáy cuøng  
vôùi leänh.  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
14  
ĐỊNH VỊ THANH GHI  
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  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
15  
ĐNH Ộ NHỚ  
Ñònh vò giaùn tieáp thanh ghi :  
ñòa chæ toaùn haïng khoâng chöùa tröïc tieáp trong leänh maø giaùn  
tieáp thoâng qua moät thanh ghi.  
Ex : SUB DX, [BX] ;  
Laáy döõ lieäu töø vuøng nhôù  
Khaùc vôùi leänh SUB DX, BX  
Trong chế độ này, địa chỉ Offset của ô nhớ chứa  
nộI dung của toá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  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
16  
Ñònh vò giaùn tieáp thanh ghi :  
EX1 : MOV AX, [SI]  
Nạp nội dung của ô nhớ mà địa chỉ Offset lưu trong SI và  
địa chỉ đoạn lưu trong DS vào AX.  
EX2 : MOV AX, [BP]  
Nạp nội dung của ô nhớ mà địa chỉ Offset lưu trong BP  
và địa chỉ đoạn lưu trong ES vào AX.  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
17  
ĐỊNH VỊ TRỰC TIẾP  
Địa chỉ Offset của ô nhớ chứa dữ liệu toán hạng nằm  
trực tiếp trong câu lệnh còn địa chỉ segment ngầm  
định chứa trong DS.  
Ex : MOV BX, [1234]  
Nạp nộI dung ô nhớ có địa chỉ DS:1234 ➔ BX  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
18  
ĐỊNH VỊ CƠ SỞ  
Địa chỉ Offset của toán hạng được tính là tổng của nộI  
dung thanh ghi BX hoặc BP và 1 độ dịch.  
Độ dịch là 1 số nguyên âm hoặc dương. Địa chỉ đọan  
là đoạn hiện tại.  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
19  
ÑÒA CHÆ HIEÄU DUÏNG  
Toaùn haïng boä nhôù duøng trong taäp leänh vi xöû lyù 86 söû duïng  
phöông phaùp ñònh ñòa chæ toång hôïp ñöôïc goïi laø ñòa chæ hieäu  
duïng.  
Ñòa chæ hieäu duïng laø toå hôïp cuûa 3 nhoùm sau ñaët trong daáu [ ].  
Nhoùm thanh ghi chæ soá : SI , DI  
Nhoùm thanh ghi neàn : BX, BP  
Ñòa chæ tröïc tieáp : soá 16 bit  
Caùc thanh ghi trong cuøng 1 nhoùm khoâng ñöôïc xuaát hieän trong cuøng 1  
ñòa chæ hieäu duïng.  
5/8/2022  
Chuong 7 Cac phep dinh vi dia chi  
20  
Tải về để xem bản đầy đủ
ppt 40 trang baolam 24320 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hợp ngữ - Chương 6: Toán tử-Toán hạng-Các phép định địa chỉ-Tập lệnh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptbai_giang_lap_trinh_hop_ngu_chuong_6_toan_tu_toan_hang_cac_p.ppt