Leơnh AND,O

Một phần của tài liệu giáo trình hợp ngữ nâng cao (Trang 47 - 49)

b) IF_THEN_ELSE

4.1.1 Leơnh AND,O

R v à XOR

LeơnhAND,ORvàXORthựchieơncácchứcnaíngđúngnhưteđngĩicụanó . Cúphápcụachúng là:

AND destination,source OR destination,source XOR destination,source

Kêtqụacụaleơnhđượclưutrữtrongtoánhángđích dođóchúngphạilàthanh ghihoaịcvịtrínhớ.Toánhángnguoănlàcótheơlàhaỉngsô,thanhghihoaịcvịtrínhớ. Dĩnhieđnhaitoánhángđeăulàvịtrínhớlàkhođngđượcphép.

Aûnh hưởng đên các cờ :

CáccờSF,ZFvàPFphạnánhkêtqụa AFkhođngxácđịnh

CF=OF=0

Đeơthayđoơitừngbittheoýmuônchúngtaxađydựng toánhángnguoăntheo kieơumaịtná(mask).Đeơxađydựngmaịtnáchúngtasửdúngcáctínhchâtsauđađy cụacácphéptoán AND,ORvàXOR:

• LeơnhORcótheơdùngđeơđaịt(set)1chotoánhángđíchnêumaịtnábaỉng1

• LeơnhXORcótheơdùngđeơlâyđạotoánhángđíchnêumaịtnábaỉng1.LeơnhXOR cũngcótheơdùngđeơxóanoơidungmoơtthanhghi(XORvớichínhnó)

Vídú:XoábitdâucụaALtrongkhi các bitkháckhođngthayđoơi Giại:DùngleơnhANDvớimaịtná0111111=7Fh

AND AL,7Fh ;xóabitdâu(dâu+)cụaAL

Vídú:Set1chocácbitMSBvàLSBcụaAL,cácbitkháckhođngthayđoơi. Giại:Dùngleơnh ORvớimaịtná10000001=81h

OR AL,81h ;set1choLSBvàMSBcụaAL Vídú:ThayđoơibitdâucụaDX

• LeơnhANDcótheơdùngđeơxóa(clear)toánhángđíchnêumaịtnábaỉng0 b AND1= b b OR0 =b bXOR0=b

Giại:DùngleơnhXORvớimaịtná1000000000000000=8000h XOR DX,8000h

Cácleơnhlogiclàđaịcbieơtcóíchkhithựchieơncácnhieơmvúsau:

Đoơi

moơt sô dưới dáng ASCII thành moơt sô

Giạsửraỉngchúngtađĩcmoơtkýtựtừbànphím baỉnghàm1ngaĩt21h.Khi đóALchứamãASCIIcụakýtự . Đieăunàycũngđúngnêukýtựđólà moơtsô (digitalcharacter). Vídúnêuchúngtagỏsô5thìAL=35h (ASCIIcodefor5)

Chương4:Các leơnh dịch quay 47

Đeơchứa5tređnALchúngtadùngleơnh: SUB AL,30h

Cómoơt cáchkhácđeơlàmvieơc nàylàdùngleơnhANDđeơxóanửabytecao (highnibble=4bitcao) cụaAL:

AND AL,0Fh

Vìcácsôtừ0-9cómãASCIItừ30h-39h,neđncáchnàydùngđeơđoơimĩisô ASCIIrathaơpphađn.

Chươngtrình hợpngữđoơimoơtsô thaơpphađnthànhmãASCIIcụachúngđược xemnhưbàitaơp.

Đoơi

chữ thường thành chữ hoa

MãASCIIcụacáckýtựthườngtừa-z là61h-7AhvàmãASCIIcụacácký tựhoatừ A-Zlà41h-5Ah.Giạsử DLchưákýtựthường,đeơđoơinóthànhchữhoa tadùngleơnh:

SUB DL,20h

Nêuchúngtasosánhmãnhịphađn tươngứngcụakýtựthườngvàkýtựhoa thìthâyraỉng chưcaănxóabitthứ 5 thìsẽđoơikýtựthườngsangkýtựhoa.

Character Code Character Code

a(61h) 01100001 A(41h) 01000001 b(62h) 01100010 B(42h) 01000010 .

.

z(7Ah) 01111010 Z(5Ah) 01011010

Cótheơxóabitthứ5 cụaDLbaỉngcáchdùngleơnhANDvớimaịtná 11011111=DFh

AND DL,0DFh ;đoơikýtựthườngtrongDLsangkýtựhoa

Xóa moơt thanh ghi

Chúngtacótheơdùngleơnhsauđeơxóa thanhghiAX: MOV AX,0

hoaịc SUB AX,AX XOR AX,AX

leơnh MOV phạiđượcdùngđeơ xoá1vịtrínhớ.

Kieơm tra moơt thanh ghi có baỉng 0 ?

Chương4:Các leơnh dịch quay 48

Thaycholeơnh CMPAX,0 Ngườitadùngleơnh

OR CX,CX

đeơkieơmtraxemCXcóbaỉng0haykhođngvìnólàmthayđoơicờZF(ZF=0nêuCX=0 )

4.1.2 Leơnh NOT

LeơnhNOTdùngđeơlâybù1(đạo) toánhángđích.Cúpháplà: NOT destination

KhođngcócờnàobịạnhhưởngbởileơnhNOT Vídú:Lâybù1AX

NOT AX

Một phần của tài liệu giáo trình hợp ngữ nâng cao (Trang 47 - 49)