assembler€86ˆ 5

assembler€86ˆ 5



130


5. Rozkazy mikroprocesorów 8086/8088

Przykłady

SAR ZMIENNA, 1 SAR BAJT[BP +1], 1 SAR ZMIENNA[SI BX], 1

SAR BYTE PTR [SI], 1    #

Przesunięcie arytmetyczne w prawo o więcej niż 1 bit

Operacja: {w = 0 => n: =7 else n: = 15};    fl

next CL^O =» (argument < n-1:0 > oCF ^-argument < n:0>; ncxt CL«-CE-1;

next IP«-IP-d) {d - dÅ‚ugość rozkazu w bajtach (2/4)}    "

Argumentem jest rejestr

1101 OOlw    11111 reg

Liczba taktów -8 + 4 takty na każdy bit.

Przykłady

MOV CL,10 SAR SI, CL SAR AX, CL MOV CL, 5 SAR DL, CL

SAL AH, CL    +

Argument jest w pamięci

1101 OOlw    mod 111 r/m addrlow    addrhigh

Liczba taktów - 20 + takty na obliczenie adresu efektywnego + 4 takty na każdy bit.

Przykłady

MOV CL, 3

SAR ZMIENNA, CL

SAR WORD PTR [SI + BX + 4], CL

MOV CL, 4

SHL ZMIENNAfDI], CL    â™¦

ROL (ang. rota te left byte or word )

przesuniÄ™cie cykliczne w lewo bajtu lub sÅ‚owa    __

Operacja: zobacz niżej Znaczniki: OF DF IF TF SF ZF AF PF CF x.......x

#

Rozkaz realizuje cykliczne przesunięcie lewego argumentu w lewo, o liczbę bitów określoną prawym argumentem (rys. 5.2). Jeżeli przesunięcie jest o 1 bit, to

5.3. Rozkazy operacji arytmetycznych i logicznych


jedynka jesl wprost prawym argumentem. Przy przesuniÄ™ciu o wiÄ™kszl prawym argumentem jest rejestr CL, który wczeÅ›niej należy zaÅ‚adować liczbÄ… okreÅ›lajÄ…cÄ… o ile bitów należy przesunąć lewy argument. W czasie przesuwania najbardziej znaczÄ…cy bit argumentu jest wprowadzany do znacznika CF, nastÄ™pnie pozostaÅ‚e bity argumentu sÄ… przesuwane o 1 bit w lewo i na koÅ„cu stan znacznika CF jest przepisywany na miejsce najmniej znaczÄ…cego bitu argumentu. Tak wiÄ™c bity argumentu krążą w kółko. Jeżeli przy przesuwaniu o 1 bit w lewo nie zmieni siÄ™ zawartość bitu znaku, to znacznik OF jest zerowany. W przeciwnym wypadku znacznik OF przyjmuje wartość 1. Możliwe opcje

Przesunięcie cykliczne w lewo o 1 bit

Operacja: {w = 0 =* n: = 7 else n: = 15}; next CF«-argument < n >; next argument < n:0 > ^-argument < n-l:0 > oargument < n >; next (argument < n > * CF => OF<-l else OF«-0)

Argumentem jest rejestr 1101 OOOw 11000 reg Liczba taktów - 2.

Przykłady

ROL AL, 1 ROL DX, 1 ROL Dl, 1

ROL BH, 1    â™¦

Argument jest w pamiÄ™ci 1101 OOOw mod 000 r/m addr Jow addrhigh Liczba taktów -15 + takty do obliczenia adresu efektywnego.

Przykłady

ROL ZM1ENNA[BP], 1

ROL BAJT, 1

ROL ZM1ENNA[S1], 1

ROL BYTE PTR [DI], 1    â™¦

Przesunięcie cykliczne w lewo o więcej niż 1 bit

Operacja: {w = 0 => n: =7 else n: = 15 }; next CL * 0 => (CF ♦-argument < n >; ncxt

argument < n:0 > ^-argument < n-l:0 > oargument < n >;

next CL«-CL-1; next IP«-IP-d) {d - długość rozkazu w bajtach (2/4)}

Argumentem jest rejestr 1101 OOlw 11000 reg Liczba taktów - 8 4* 4 takty na każdy bit.


Wyszukiwarka

Podobne podstrony:
assembler?86? 5 W 90    5. Rozkazy mikroprocesorów 8086/8088 PrzykÅ‚ady PUSH ZMIENNA
assembler?86? 2 104 5. Rozkazy mikroprocesorów 8086/8088 Przykłady 104 5. Rozkazy mikroprocesorów
assembler?86? 4 108 5. Rozkazy mikroprocesorów 8086/8088 PrzykÅ‚ady DEC SI DEC AX    
assembler?86? 7 134 5. Rozkazy mikroprocesorów 8086/8088 Przykłady MOVCL, 11 ROR ZMIENNA[BP], CL
assembler?86? 5 150 5. Rozkazy mikroprocesorów 8086/8088 RET (ang. return from procedurę) powrót z
assembler?86? 5 170 5. Rozkazy mikroprocesorów 8086/8088 Mikroprocesor 80286 W (rybie adresacji rz
assembler?86? 5 110 5. Rozkazy mikroprocesorów H0H6/H08S Przykład CMP ZMIENNA, AX CMP ZMIENNA[BX],
assembler?86? 8 % 5. Rozkazy> mikroprocesorów 8086/8088 Przykład LA HF NOT AH SAHF; znaczniki s
assembler?86? 3 146    5. Rozkazy mikroprocesorów 8086/8088 Tablica 5.11. PrzykÅ‚ado
assembler?86? 1 82 5. Rozkazy mikroprocesorów 8086/8088 kod rozkazu (ang. opcode ) - definiuje ope
assembler?86? 2 84 5. Rozkazy mikroprocesorów 8086/8088 Pośrednio przez rejestr bazowy i indeksowy
assembler?86? 3 86 5. Rozkazy mikroprocesorów 8086/8088 LES - załadowanie adresu logicznego do wsk
assembler?86? 4 88 5. Rozkazy mikroprocesorów 8086/8088 MOV ZMIENNAfSI], ES MOV X[BP + DI + 1], SS
assembler?86? 6 92    5. Rozkazy mikroprocesorów 8086/8088 Zamiana miejscami zawart
assembler?86? 9 98 5. Rozkazy mikroprocesorów 8086/8088 Pojęcie rozpakowanego i normalnego kodu BC
assembler?86? 3 106 5. Rozkazy1 mikroprocesorów 8086/8088 SBB (ang. subtract byle or word with bor
assembler?86? 7 114    5. Rozkazy mikroprocesorów 8086/8088 Mnożenie zawartoÅ›ci aku
assembler?86? 9 118 5. Rozkazy mikroprocesorów 8086/8088 MOV AL, 8FH CBW ???? ???? 1111 1111 1000
assembler?86? 1 122 5. Rozkazy mikroprocesorów 8086/8088 OR DX, STALA_EQU OR CL, 8   &nb

więcej podobnych podstron