Extras din laborator
2.Deplasari si rotatii
SHL src,[nr] -Deplasare logica spre stinga cu nr pozitii (numere fara semn)
Actiune:
C MSB LSB
Operanzi: -src:r8,r16,m8,m16
-[nr]: 1, CL
Descriere: Operandul src este inmultit cu 2 de [nr] ori.
Exempe:
SHL al,1 -deplaseaza spre satnga AL cu 1 bit
SHL al,cl -deplaseaza spre satnga AL cu un numar de biti egal cu continutul lui CL
SHR src,[nr] -Deplasare logica spre dreapta cu nr pozitii (numere fara semn)
Actiune:
MSB LSB C
Operanzi: -src:r8,r16,m8,m16
-[nr]: 1, CL
Descriere: Operandul src este impartit cu 2 de [nr] ori.
SAL src,[nr] -Deplasare aritmetica spre stinga cu nr pozitii (numere cu semn)
Actiune:
C MSB LSB
Operanzi: -src:r8,r16,m8,m16
-[nr]: 1, CL
Descriere: Operandul src cu semn este inmultit cu 2 de [nr] ori.
SAR src,[nr] -Deplasare aritmetica spre dreapta cu nr pozitii (numere cu semn)
Actiune:
MSB LSB C
Operanzi: -src:r8,r16,m8,m16
-[nr]: 1, CL
Descriere: Operandul src cu semn este impartit cu 2 de [nr] ori.
ROL src,[nr]-Rotatie prin carry spre stinga cu [nr] pozitii
Actiune:
C MSB LSB
Operanzi: -src:r8,r16,m8,m16
-[nr]: 1, CL
ROR src,[nr]-Rotatie prin carry spre dreapta cu [nr] pozitii
Actiune:
MSB LSB C
Operanzi: -src:r8,r16,m8,m16
-[nr]: 1, CL
RCL src,[nr]-Rotatie cu carry spre stinga cu [nr] pozitii
Actiune:
C MSB LSB
Operanzi: -src:r8,r16,m8,m16
-[nr]: 1, CL
RCR src,[nr]-Rotatie cu carry spre dreapta cu [nr] pozitii
Actiune:
MSB LSB C
Operanzi: -src:r8,r16,m8,m16
-[nr]: 1, CL
Descriere: Fiecare instructiune de rotatie deplaseaza bitii operandului de registru sau memorie dat. Instructiunile de rotatie spre stinga deplaseaza toti bitii catre pozitia cea mai semnificativa (catre MSB) ,exceptind bitul din pozitia cea mai semnificativa, care este mutat in pozitia cea mai putin semnificativa (LSB). Instructiunile de rotatie spre dreapta actioneaza invers: bitii sint deplasati catre pozitia cea mai putin semnificativa iar bitul din pozitia cea mai putin semnificativa ajunge in pozitia cea mai semnificativa.
Pentru instructiunile RCL si RCR, flagul CF este o parte a cantitatii rotite. Instructiunea RCL deplaseaza flagul CF in bitul cel mai putin semnificativ si cel mai semnificativ bit in flagul CF; instructiunea RCR deplaseaza flagul CF in bitul cel mai semnificativ si bitul cel mai semnificativ in flagul CF. La instructiunile ROL si ROR, valoarea flagului CF nu este parte a rezultatului, dar flagul CF receptioneaza o copie a bitului care a fost deplasat de la un capat la altul.
In modul real 8086, rotatia este repetata de un numar de ori indicat de al doilea operand, care este unu sau continutul registrului CL.
Flagul OF este definit numai pentru forme cu o singura rotatie ale instructiunilor (al doilea operand este un 1). Este nedefinit in toate celelalte cazuri. Pentru deplasari/rotiri spre stinga, bitul CF de dupa deplasare este “sau-exclusivat” cu bitul rezultat de cel mai inalt ordin. Pentru deplasari/rotiri spre dreapta, cei doi biti cu cel mai inalt ordin ai rezultatului sint “sau-exclusivati” spre a rezulta flagul OF.
Preview document
Conținut arhivă zip
- Operatii logice.doc