assembler€86ˆ 9

assembler€86ˆ 9



158


5. Rozkazy mikroprocesorów 8086/8088

Przykład

SUB AL, OAAH JNS DALEJ ADD BX, 1 JNS O K

JO (ang.jump if overflow )

skok względny gdy jest przepełnienie

Operacja: OF = 1 => IP«-IP + disp Wskaźniki: bez. zmian

Jeżeli wskaźnik OF=l, to sterowanie jest przekazywane pod żądany adres, który jednak nie może być odlegÅ‚y od offsetu nastÄ™pnego rozkazu o wiÄ™cej niż -128 i +127. Jeżeli warunek nie jest speÅ‚niony, to skok nie jest realizowany i jest wykonywany kolejny rozkaz w programie.

01110000 disp


Liczba taktów -16 dla skoku wykonanego, 4 dla skoku nie wykonanego.

Przykład

♦


SUB BH, BAJT JO JEST ADD BX, 1 JO KONIEC

JP/JPE (ang. jump if pańty/if parity even )

skok wzglÄ™dny gdy parzystość, skok wzglÄ™dny gdy parzystość parzysta    _

Operacja: PF = 1 => IP«-IP + disp Wskaźniki: bez zmian

Jeżeli wskaźnik PF = 0, to sterowanie jest przekazywane pod żądany adres, który jednak nie może być odlegÅ‚y od offsetu nastÄ™pnego rozkazu o mniej niż -128 i wiÄ™cej niż +127. Jeżeli warunek nie jest speÅ‚niony, to skok nie jest realizowany i jest wykonywany kolejny rozkaz w programie.


1010 disp

Liczba taktów -16 dla skoku wykonanego, 4 dla skoku nie wykonanego.

Przykład

♦


AND AL, OAAH JP JEST ADD DL, OFH JPE PARZYSTY

5.6. Rozkazy organizujące pętle


powered by

Mi si^l


JS (ang.jump if sign, jump if negative )

skok względny gdy jest znak, skok względny gdy znak ujemny

Operacja: SF = 0 =* IP«-IP + disp Wskaźniki: bez zmian

Jeżeli wskaźnik SF = 1, to sterowanie jest przekazywane pod żądany adres, który jednak nic może być odlegÅ‚y od offsetu nastÄ™pnego rozkazu o wiÄ™cej niż -128 i +127. Jeżeli warunek nie jest speÅ‚niony, to skok nie jest realizowany i jest wykonywany kolejny rozkaz w programie.

01111



Liczba taktów -16 dla skoku wykonanego, 4 dla skoku nie wykonanego.

Przykład

SUB AL, OAAH JS UJEMNA ADD CL, ZMIENNA

JS ZNAK    +

5.6. Rozkazy organizujące pętle

Rozkazy organizujÄ…ce wyliczane pÄ™tle umożliwiajÄ… tworznie konstrukcji programowych, odpowiadajÄ…cych konstrukcjom typu: DO WHILE/REPEAT UNTIL w jÄ™zykach wysokiego poziomu. Rozkazy te, podobnie jak rozkazy skoków warunkowych, pozwalajÄ… zmieniać wskaźnik rozkazów w zakresie od -128 do nie wiÄ™cej niż +127 (skoki krótkie SHORT). Licznikiem iteracji jest rejestr CX. Rozkazy te nie zmieniajÄ… stanu rejestru wskaźników i do nich należą

LOOP - powtórzenie sekwencji rozkazów jeśli rejestr CX^0,

LOOPE/LOOPZ - powtórzenie sekwencji rozkazów jeśli rejestr CX^0 lub jest równość (wartość równa zero),

LOOPNE/LOOPNZ - powtórzenie sekwencji rozkazów jeśli rejestr CX**0 lub jest nierówność (wartość różna od zera),

JCXZ - skok względny, gdy rejestr CX = 0.

LOOP (ang. loop or iterate instruction seÄ…uence until count complete)

powtórzenie sekwencji rozkazów jeÅ›li rejestr CX 0    __

Operacja: CX—CX-1; next CF*0 => IP«-IP + disp Znaczniki: bez zmian

Rozkaz powoduje zmiejszenic rejestru CX peÅ‚niÄ…cego rolÄ™ licznika o jeden, sprawdzenie czy CXóO i jeżeli tak, to przekazanie sterowania pod adres wynikajÄ…cy 7 dodania argumentu rozkazu LOOP (disp) do offsetu nastÄ™pnego rozkazu po LOOP. Ody cx = 0, nie jest wykonywana żadna operacja.


Wyszukiwarka

Podobne podstrony:
assembler?86? 9 118 5. Rozkazy mikroprocesorów 8086/8088 MOV AL, 8FH CBW ???? ???? 1111 1111 1000
assembler?86? 2 144 5. Rozkazy mikroprocesorów 8086/8088PrzykÅ‚ad MOV AL, 20H    ; s
assembler?86? 9 98 5. Rozkazy mikroprocesorów 8086/8088 Pojęcie rozpakowanego i normalnego kodu BC
assembler?86? 6 132 5. Rozkazy mikroprocesorów 8086/8088PrzykÅ‚ad y MOV CL, 12 ROL BX, CL ROL
assembler?86? 9 138 5. Rozkazy mikroprocesorów 8086/8088 mentu do przetwarzania. W zależności od k
assembler?86? 1 142 5. Rozkazy mikroprocesorów 8086/8088 MOV AL, STD ; DF«-1 SCASB JE STOP CM
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? 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? 0 100 5. Rozkazy mikroprocesorów 8086/80X8 ADD SI, 0F0D2H ADD BL, 1   &nbs
assembler?86? 2 104 5. Rozkazy mikroprocesorów 8086/8088 Przykłady 104 5. Rozkazy mikroprocesorów
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? 7 114    5. Rozkazy mikroprocesorów 8086/8088 Mnożenie zawartoÅ›ci aku
assembler?86? 1 122 5. Rozkazy mikroprocesorów 8086/8088 OR DX, STALA_EQU OR CL, 8   &nb
assembler?86? 2 124 5. Rozkazy mikroprocesorów 8086/8088 Rozkaz realizuje logiczne mnożenie odpowi

więcej podobnych podstron