assembler€86ˆ 3

assembler€86ˆ 3



126    5. Rozkazy mikroprocesorów 808618088

SHL DX, 1 SHL DI, 1

Argument jest w pamięci

1101 OOOw modlOOr/m addrlow    addrhigh

Liczba taktów -15 + takty do obliczenia adresu efektywnego.

Przykłady

SAL ZMIENNA[SI], 1 SAL BAJT, 1 SHL ZMIENNA[DI], 1 SHL BAJT, 1

CF    n    0

a)

SHL/SAL

b)

SHR


n

n -1

0

CF

- ^ ^

|

k 1

J

CF    n n -1    0



Rys. 5.2. Rozkaz przesunięć; (a, c) arytmetycznych, (a. b) logicznych. (d...g) cyklicznych; przyczyni: w = 0 ♦- n *= 7, w = l<— n = 15


c)

SAR

<*)

ROL

e)

ROR

0

RCL

g)

RCR

5.3. Rozkazy operacji arytmetycznych i logicznych Przesunięcie logiczne lub arytmetyczne w lewo o więcej niż 1 bit

powered by .. -    127 n

mt siol


Operacja: {w = 0 =* n: = 7 else n: = 15}; next CL^O =* (CFoargumcnt < n:l > ^-argument < n:0> ;argument<0> —0; next CL*-CL-1; next IP<-IP-d) {d - długość rozkazu w bajtach (2/4)}

Argumentem jest rejestr

1101 OOlw 11100 reg^

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

Przykłady

MOV CL, 12 SAL AX, CL SAL SI, CL MOV CL, 5 SHL BL, CL

SHL AH, CL    â™¦

Argument jest w pamięci

1101 OOlw mod 100 r/m addr low    addr high

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

Przykłady

MOV CL, 11 SAL ZMIENNA[SI], CL SAL BAJT, CL MOV CL, 6

SHL ZMIENNA[DI], CL

SHL BAJT, CL    â™¦

SHR (ang. shift logie a l right by te or word )

przesuniÄ™cie logiczne w prawo bajtu lub sÅ‚owa    ____

Operacja: zobacz niżej

Znaczniki: OF DFIF TF SF ZF AF PF CF

X--    - X X ? X X

Rozkaz realizuje przesuniÄ™cie logiczne lewego argumentu w prawo o liczbÄ™ bitów okreÅ›lonÄ… prawym argumentem (rys. 5.2). Jeżeli przesuniÄ™cie jest o 1 bit, to jedynka jest wprost prawym argumentem. Przy przesuniÄ™ciu o wiÄ™kszÄ… liczbÄ™ bitów, prawym argumentem jest rejestr CL, który należy zaÅ‚adować liczbÄ… okreÅ›lajÄ…cÄ…, o ile bitów należy przesunąć lewy argument. W czasie przesuwania, najmniej znaczÄ…ce bity argumentu sÄ… wprowadzane kolejno do znacznika CF, na miejsce najbardziej znaczÄ…cego bitu jest wpisywane 0. Poprzednia zawartość znacznika CF jest tracona. Jeżeli przy przesuwaniu o 1 bit nie zmieni siÄ™ zawartość bitu znaku, to znacznik OF jest zerowany. W przeciwnym wypadku znacznik OF przyjmuje wartość 1. Możliwe opcje


Wyszukiwarka

Podobne podstrony:
assembler?86? 3 86 5. Rozkazy mikroprocesorów 8086/8088 LES - załadowanie adresu logicznego do wsk
assembler?86? 1 102 5. Rozkazy mikroprocesorów 808618088 Operacja: argument <- argument + 1 Zna
assembler?86? 3 106 5. Rozkazy1 mikroprocesorów 8086/8088 SBB (ang. subtract byle or word with bor
assembler?86? 6 112 5. Rozkazy mikroprocesorów 808618088 0010 ‘ 1111
assembler?86? 3 146    5. Rozkazy mikroprocesorów 8086/8088 Tablica 5.11. PrzykÅ‚ado
assembler?86? 7 154 5. Rozkazy mikroprocesorów 808618088 Wskaźniki: bez zmian Jeżeli wskaźnik ZF =
assembler?86? 3 166 5. Rozkazy mikroprocesorów 8086/8088 STI (ang. set intemipt enable flag) ustaw
assembler?86? 4 168 5. Rozkazy mikroprocesorów 808618088 przy czym .ca* - 3 bity nie dekodowane pr
assembler?86? 1 122 5. Rozkazy mikroprocesorów 8086/8088 OR DX, STALA_EQU OR CL, 8   &nb
assembler?86? 7 94 5. Rozkazy mikroprocesorów 8086/8088 OUT DX, AX MOV DX, 7645 OUT DX, AL  &
assembler?86? 2 164    5. Rozkazy mikroprocesorów 80S6/8088 STD - ustawienie znaczn
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? 4 88 5. Rozkazy mikroprocesorów 8086/8088 MOV ZMIENNAfSI], ES MOV X[BP + DI + 1], SS
assembler?86? 5 W 90    5. Rozkazy mikroprocesorów 8086/8088 PrzykÅ‚ady PUSH ZMIENNA
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? 0 100 5. Rozkazy mikroprocesorów 8086/80X8 ADD SI, 0F0D2H ADD BL, 1   &nbs

więcej podobnych podstron