assembler€86ˆ 6

assembler€86ˆ 6



132


5. Rozkazy mikroprocesorów 8086/8088

Przykład y

MOV CL, 12 ROL BX, CL ROL BP, CL MOV CL, 5 ROL AL, CL ROL CH, CL

Argument jest w pamięci

1101001 w mod 000 r/m addrlow addr high

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

Przykład

MOV CL,

ROL ZMIENNAfDI], CL ROL BAJT, CL MOV CL, 6 ROL ZMIENNA, CL ROL BYTE PTR [BP], CL

ROR (ang. rotate right byte or word) przesunięcie cykliczne w prawo bajut lub słowa

Operacja: zobacz niżej

Znaczniki: OF DFIF TF SF ZF AF PF CF

x.......x

Rozkaz realizuje przesuniÄ™cie cykliczne 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 wczeÅ›niej należy zaÅ‚adować liczbÄ… okreÅ›-lajÄ…cÄ… o ile bitów należy przesunąć lewy argument. W czasie przesuwania, najmniej znaczÄ…cy bit argumentu jest wprowadzany do znacznika CF, nastÄ™pnie pozostaÅ‚e bity argumentu sÄ… przesuwane o 1 bit w prawo i na koÅ„cu stan znacznika CF jest przepisywany na miejsce najbardziej znaczÄ…cego bitu argumentu. Tak wiÄ™c bity argumentu krążą w kółko. Jeżeli przy przesuwaniu o 1 bit w prawo 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 prawo o 1 bit

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

Argumentem jest rejestr

powered by

5.3. Rozkazy1 operacji arytmetycznych i logicznych


Ml SI Ol

1101 000w 11001 regj Liczba taktów - 2.

Przykłady

ROR AH, 1 ROR BX, 1 ROR SI, 1

ROR DX, 1    â™¦

Argument jest w pamięci

1101 OOOw mod 001 r/m addr Jow    addrhigh

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

Przykłady

ROR ZMIENNAJBP], 1

ROR BAJT, 1

ROR ZMIENNAfSI], 1

ROR BYTE PTR [DI], 1    â™¦

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

Operacja: {w = 0=*n: = 7else n: = 15 }; ncxt CL^0 => (LCF*-argument<0>; next argument < n:0 > ^-argument < 0 > oargument < n-1 >; next CL<-CH; next IP«—IP—d) {d - dÅ‚ugość rozkazu w bajtach (2/4)}

Argumentem jest rejestr

1101 OOlw 11001 reg

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

Przykłady

MOV CL, 9 ROR AX, CL ROR DI, CL MOV CL, 3 ROR AH, CL

ROR DL, CL    â™¦

Argument jest w pamięci

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



Wyszukiwarka

Podobne podstrony:
assembler?86? 2 144 5. Rozkazy mikroprocesorów 8086/8088PrzykÅ‚ad MOV AL, 20H    ; s
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 118 5. Rozkazy mikroprocesorów 8086/8088 MOV AL, 8FH CBW ???? ???? 1111 1111 1000
assembler?86? 1 142 5. Rozkazy mikroprocesorów 8086/8088 MOV AL, STD ; DF«-1 SCASB JE STOP CM
assembler?86? 6 152 5. Rozkazy mikroprocesorów 8086/8088 next SP+-SP + datahighodatalow
assembler?86? 9 158 5. Rozkazy mikroprocesorów 8086/8088PrzykÅ‚ad SUB AL, OAAH JNS DALEJ ADD B
assembler?86? 2 104 5. Rozkazy mikroprocesorów 8086/8088 Przykłady 104 5. Rozkazy mikroprocesorów
assembler?86? 0 1 1 140 5. Rozkazy mikroprocesorów 8086/8088 MOVS CEL, ZRODLO MOV SI, OFFSET ZRODL
assembler?86? 7 94 5. Rozkazy mikroprocesorów 8086/8088 OUT DX, AX MOV DX, 7645 OUT DX, AL  &
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? 5 W 90    5. Rozkazy mikroprocesorów 8086/8088 PrzykÅ‚ady PUSH ZMIENNA
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
assembler?86? 3 106 5. Rozkazy1 mikroprocesorów 8086/8088 SBB (ang. subtract byle or word with bor
assembler?86? 4 108 5. Rozkazy mikroprocesorów 8086/8088 PrzykÅ‚ady DEC SI DEC AX    
assembler?86? 6 112 5. Rozkazy mikroprocesorów 808618088 0010 ‘ 1111

więcej podobnych podstron