Leơnh dịch trái ( left shif t)

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

b) IF_THEN_ELSE

4.2.1 Leơnh dịch trái ( left shif t)

Leơnh SHL dịchtoánhángđíchsangtrái .Cúphápcụaleơnhnhưsau: SHL destination,1 ;dịchtráidest1bit

SHL destination,CL ;dịchtrái Nbit (CLchứaN) Cứmoêilaăn dịchtrái,moơtsô0đượctheđmvàoLSB.

CF 7 6 5 4 3 2 1 0 0 1byte Các cờ bị ạnh hưởng : SF,PF,ZFphạnạnhkêtqụa AF khođngxácđịnh

CF=bitcuôicùngđượcdịchra

OF=1nêukêtqụathayđoơidâuvàolaăndịchcuôicùng

Vídú:GiạsửDH=8AhvàCL=3.HỏigiátrịcụaDHvàCFsaukhileơnh SHL DH,CL đượcthựchieơn?

KêtqụaDH=01010000=50h,CF=0

Nhađn baỉng leơnh SHL

Chúngtahãyxétsô235decimal.Nêudịchtrái235moơt bitvàtheđm0vào beđnphạichúngtasẽcó2350.Nỏcáchkhác,khidịchtrái1bitchúngtađãnhađn10.

Đôivớisônhịphađn, dịchtrái1bitcónghĩalànhađnnóvới2.Vídú AL=00000101=5d

SHL AL,1 ;AL=00001010=10d

SHL AL,CL ;nêuCL=2 thìAL=20dsaukhithựchieơnleơnh

Leơnh dịchtráisôhĩc (SAL=ShiftArithmeticLeft)

LeơnhSHLcótheơdùngđeơnhađnmoơttoánhángvớiheơsô2.Tuynhieđntrong trườnghợpngườitamuônnhânmánhđêntínhchâtsôhĩccụaphéptoán thìleơnh SALsẽđượcdùngthaychoSHL.Cạ2leơnhđeăutáoracùngmoơtmãmáy.

Moơtsôađmcũngcótheơ đượcnhađn2baỉngcáchdịchtrái.Vídú:Nêu AX=FFFFh=-1thìsaukhidịchtrái3laănAX=FFF8h=-8

Tràn

Khichúngtadùngleơnhdịchtráiđeơnhađnthìcótheơxạyrasựtràn.Đôivới leơnhdịchtrái1laăn,CFvàOFphạnánhchínhxác sựtràndâuvàtrànkhođngdâu. Tuynhieđncáccờsẽkhođngphạnánhchínhxáckêtqụanêudịchtrái nhieăulaănbởivì dịchnhieăulaăn thựcchâtlà moơtchuoêicácdịch1laănlieđntiêpvàvìvaơycáccờCF vàOFchưphạnánhkêtquạcụalaăndịchcuôicùng.Vídú:BL=80h,CL=2thìleơnh

SHL BL,CL

sẽlàmchoCF=OF=0maịcdùtređnthựctê đãxạyracạtràndâuvàtrànkhođngdâu.

Vídú: viêtđốnmãnhađnAXvới8.Giạsửraỉngkhođngcótràn. MOV CL,3 ;CL=3

SHL AX,CL ;AX*8

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

Tải bản đầy đủ (DOCX)

(95 trang)
w