duminică, 4 decembrie 2011

Instructiuni de deplasare si rotire in limbajul de asamblare


 Instructiuni de deplasare :

Instructiunile SHL/SAL: Translare (Shift) la stânga

Folosire:  SAL destinatie, nr
      SHL destinatie, nr
Indicatori modificati: CF OF PF SF ZF (AF nedefinit)

        Transleaza operandul "destinatie" la stânga cu numar de biti dat de  "nr", zerorizind pozitiile la dreapta; indicatorul CF tine ultimul bit  translat. Practic, o shiftare cu o pozitie la stânga este echivalenta cu o  inmultire cu 2 a operandului destinatie.

Instructiunea SHR: Shift la dreapta

Folosire: SHR destinatie, nr
Indicatori modificati: CF OF PF SF ZF (AF nedefinit)

         Shifteaza operandul destinatie la dreapta cu "nr" pozitii, zerorizind  pozitiile shiftate. Carry Flag tine ultimul bit shiftat. Cu shift la dreapta  putem realiza foarte usor o impartire la putere a lui 2 a operandului  destinatie.

Instructiunea SAR: Shift Aritmetic la dreapta

Folosire:  SAR destinatie, nr
Indicatori modificati: CF OF PF SF ZF (AF nedefinit)

        Shifteaza destinatia la dreapta cu un numar de pozitii dat de "nr".  Diferenta fata de SHR revine din faptul ca lasa neschimbat bitul cel mai  semnificativ (bitul semn). Carry Flag contine ultimul bit shiftat.

Instructiuni de rotire :

Instructiunea ROL: Roteste la stinga

Folosire:  ROL destinatie, nr
Indicatori modificati: CF OF

        Roteste bitii operandului destinatie la stânga de "nr" ori, astfel  incât bitii scosi la stânga sunt reintrodusi in pozitiile din dreapta. CF va  tine ultimul bit shiftat la stânga.

Instructiunea ROR: Roteste la dreapta

Folosire:  ROR destinatie, nr
Indicatori modificati: CF OF

        Similar cu ROL, dar pentru pozitiile din dreapta.

Instructiunea RCL: Rotire la stânga prin CF

Folosire:   RCL destinatie,nr
Indicatori modificati: CF OF
        Similar cu ROL, dar fiecare bit shiftat la stânga este pastrat in CF,  si fiecare pozitie libera la dreapta ia valoarea curenta a lui CF.

Instructiunea RCR: Rotire la dreapta prin CF

Folosire:  RCR destinatie,nr
Indicatori modificati: CF OF

        Similar cu RCL, dar pentru pozitiile din dreapta.

Niciun comentariu:

Trimiteți un comentariu