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ữ (Trang 56 - 57)

b) IF_THEN_ELSE IF condition is true

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

Leơnh SHL dịch toán háng đích sang trái .Cú pháp cụa leơnh như sau : SHL destination ,1 ; dịch trái dest 1 bit

SHL destination , CL ; dịch trái N bit ( CL chứa N) Cứ moêi laăn dịch trái , moơt sô 0 được theđm vào LSB .

CF 7 6 5 4 3 2 1 0 0 1 byte

Các cờ bị ạnh hưởng : SF,PF,ZF phạn ạnh kêt qụa AF khođng xác định

CF= bit cuôi cùng được dịch ra

OF= 1 nêu kêt qụa thay đoơi dâu vào laăn dịch cuôi cùng

Ví dú : Giạ sử DH =8Ah và CL=3 . Hỏi giá trị cụa DH và CF sau khi leơnh SHL DH,CL được thực hieơn ?

Kêt qụa DH=01010000=50h , CF=0

Nhađn baỉng leơnh SHL

Chúng ta hãy xét sô 235decimal . Nêu dịch trái 235 moơt bit và theđm 0 vào beđn phại chúng ta sẽ có 2350 . Nỏ cách khác , khi dịch trái 1 bit chúng ta đã nhađn 10.

Đôi với sô nhị phađn, dịch trái 1 bit có nghĩa là nhađn nó với 2.Ví dú AL=00000101=5d

SHL AL,1 ; AL=00001010=10d

SHL AL,CL ; nêu CL=2 thì AL=20d sau khi thực hieơn leơnh

Chương 4 : Các leơnh dịch và quay 50 Leơnh SHL có theơ dùng đeơ nhađn moơt toán háng với heơ sô 2 . Tuy nhieđn trong trường hợp người ta muôn nhân mánh đên tính chât sô hĩc cụa phép toán thì leơnh SAL sẽ được dùng thay cho SHL . Cạ 2 leơnh đeău táo ra cùng moơt mã máy .

Moơt sô ađm cũng có theơ được nhađn 2 baỉng cách dịch trái . Ví dú : Nêu AX=FFFFh= -1 thì sau khi dịch trái 3 laăn AX=FFF8h = -8

Tràn

Khi chúng ta dùng leơnh dịch trái đeơ nhađn thì có theơ xạy ra sự tràn . Đôi với leơnh dịch trái 1 laăn , CF và OF phạn ánh chính xác sự tràn dâu và tràn khođng dâu . Tuy nhieđn các cờ sẽ khođng phạn ánh chính xác kêt qụa nêu dịch trái nhieău laăn bởi vì dịch nhieău laăn thực chât là moơt chuoêi các dịch 1 laăn lieđn tiêp và vì vaơy các cờ CF và OF chư phạn ánh kêt quạ cụa laăn dịch cuôi cùng . Ví dú : BL=80h , CL=2 thì leơnh

SHL BL,CL

sẽ làm cho CF=OF=0 maịc dù tređn thực tê đã xạy ra cạ tràn dâu và tràn khođng dâu .

Ví dú : viêt đốn mã nhađn AX với 8 . Giạ sử raỉng khođng có 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ữ (Trang 56 - 57)