assembler€86ˆ 8

assembler€86ˆ 8



%


5. Rozkazy> mikroprocesorów 8086/8088

Przykład

LA HF NOT AH

SAHF; znaczniki sÄ… zanegowane

SAHF (ang. storÄ™ AH register in flags )

zapamiÄ™tanie rejestru AH w mniej znaczÄ…cym bajcie rejestru znaczników    j

Operacja: SFoZFoxoAFoxoPFoxoCF«-AH < 7:0 >; {x- bit nieokreÅ›lony}    1

Znaczniki: OF DFIF TF SF ZF AF PF CF    1

-    -    -    - X X X X X

Rozkaz powoduje przesÅ‚anie zawartoÅ›ci rejestru AH do mniej znaczÄ…cego bajtu rejestru znaczników. Zobacz uwagi do rozkazu LAHF.    .1

10011110    (M

Liczba taktów - 4. Zobacz przykÅ‚ad dla rozkazu LAHF    I

PUSHF (zng.push flags ontostack ) przesłanie rejestru znaczników na szczyt stosu

Operacja: SP +- SP-2; next    j

M[SP + 1 ]oM[SP] <-xoxoxoxoOFoDFoIFoTFoSFoZFoxoAFoxoPFoxoCF    J

Znaczniki: bez zmian

Wskaźnik stosu SP zostaje zmiejszony o 2, a nastÄ™pnie na szczyt stosu adresowanego przez SP zostaje przesÅ‚ana zawartość rejestru znaczników.    A

10011100 J    |

Liczba taktów -10.

♦


Przykład

PUSHF POP AX AND AH, 0FEH PUSH AX POPF


; znaczniki w akumulatorze ; zerowanie znacznika TF

; zob. opis POPF


POPF (ang. pop flags off stack ) pobranie znaczników ze szczytu stosu

Operacja: xoxoxoxoOFoDFoIFoTFoSFoZFoxoAFoxoPFoxoCF<-M[SP + l]oM[SP]; next SP<-SP+2

Znaczniki: OF DF IF TF SF ZF AF PF CF

X X XXX XX XX

5.3. Rozkazy operacji arytmetycznych i logicznych

powered by

| Mi śiol

słowc^prz^^^^


Zc szczytu stosu wskazywanego przez rejestr SP zostaje pobrane słane następnie do rejestru znaczników. Wskaźnik stosu zostaje zwiększony o 2, wskazując tym samym aktualny szczyt stosu.

10011101 Liczba taktów - 8.

przykład

PUSHF

CLI    ; zeruj znacznik przerwania

• ••

POPF    ; przywróć poprzedni stan znaczników    +

5.3. Rozkazy operacji arytmetycznych i logicznych

Wyróżniamy następujące grupy rozkazów

Rozkazy arytmetyczne

ADD

AI)C

INC

AAA

DAA


-    rozkazy dodawania -dodawanie bajtów lub słów,

-dodawanie bajtów lub słów z przeniesieniem,

-dodawanie jedynki do bajtu lub słowa (inkrementacja),

-poprawka dziesiętna po dodawaniu w rozpakowanym kodzie BCD, -poprawka dziesiętna po dodawaniu w kodzie BCD,

SBB

DEC

NEG

CMP

AAS

DAS


-    rozkazy odejmowania SlIB -odejmowanie bajtu lub sÅ‚owa,

-odejmowanie bajtu lub słowa z pożyczką,

-odejmowanie jedynki od bajtu lub słowa (dekrementacja),

-negacja lub uzupełnienie do 2 bajtu lub słowa,

-porównanie bajtów lub słów.

-poprawka po odejmowaniu w rozpakowanym kodzie BCD, -poprawka dziesiętna po odejmowaniu w kodzie BCD,

•    rozkazy mnożenia

MUL -mnożenie bajtów lub słów bez znaku,

IMlJL -mnożenie całkowite bajtów lub słów zc znakiem,

-poprawka po mnożeniu w rozpakowanym kodzie BCD,

*    rozkazy dzielenia

IDIV

AAD

CBW

CWD


-dzielenie bajtu lub słowa bez znaku,

-dzielenie całkowite bajtu lub słowa ze znakiem,

-poprawka przed dzieleniem w rozpakowanym kodzie BCD, -zamiana bajtu na słowo,

-zamiana słowa na podwójne słowo.


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? 5 130 5. Rozkazy mikroprocesorów 8086/8088 Przykłady SAR ZMIENNA, 1 SAR BAJT[BP +1],
assembler?86? 7 134 5. Rozkazy mikroprocesorów 8086/8088 Przykłady MOVCL, 11 ROR ZMIENNA[BP], CL
assembler?86? 3 26 2. Mikroprocesory 8086/8088 Przykład (rys. 2.12) ZMIENNA2 ZMIENNA 1 ADD AX, ZMI
assembler?86? 8 136 5. Rozkazy mikroprocesorów 8086/8088 Rozkaz realizuje przesunięcie cykliczne w
assembler?86? 3 146    5. Rozkazy mikroprocesorów 8086/8088 Tablica 5.11. PrzykÅ‚ado
assembler?86? 8 156 5. Rozkazy mikroprocesorów 8086/8088 JNC (ang.jump if no carry ) skok względny
assembler?86? 7 74 4. Język asemblerowy mikroprocesorów 8086/8088 Przykład ZMIENNA A DW 5*5 ; =
assembler?86? 0 5. Rozkazy mikroprocesorów 8086/80885.1. Informacje ogólne Mikroprocesory 8086 i 8
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

więcej podobnych podstron