154
5. Rozkazy mikroprocesorów 808618088
Wskaźniki: bez zmian
Jeżeli wskaźnik ZF = 1, 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. rUgjg
01110100 disp
Liczba taktów -16 dla skoku wykonanego, 4 dla skoku nie wykonanego.
SUB CL, ZMIENNA JZ JESTZERO CMP AL, 55H
JE JESTROWNE *
JG/JNLE (ang.jump if greater/if not less or eÄ…ual)
skok względny gdy większy, skok względny gdy nie mniejszy lub równy
Operacja: (SF = OF A ZF = 1) => IP<-IP + disp Wskaźniki: bez zmian
Jeżeli wskaźniki SF = OF i ZF = 1, to sterowanie jest przekazywane pod żądany adres, który nie może być odległy od offsetu następnego rozkazu o więcej niż -128 i +127. Jeżeli warunki nie są spełnione, to skok nie jest realizowany i jest wykonywany kolejny rozkaz w programie. Większy i mniejszy odnosi się do liczb ze znakiem.
01111111 disp
Liczba taktów - 16 dla skoku wykonanego, 4 dla skoku nic wykonanego.
SUB AX, -14 JG KONTYNUUJ CMP AL, 0
JNLE DALEJ +
JGE/JNL (ang.jump if greater or eÄ…nal/if not less)
skojc względny gdy większy lub równy, skok względny gdy nie mniejszy__
Operacja: SF = OF => IP«-IP + disp Wskaźniki: bez zmian
Jeżeli wskaźniki SF = OF, 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. Większy i mniejszy odnosi się do liczb ze znakiem.
0111 1101 disp
Liczba taktów -16 dla skoku wykonanego, 4 dla skoku nic wykonanego.
powered by
5.5. Rozkazy sterowania skokami
Przykład
SUB DX, +2 JG KONTYNUUJ CMP AL, 0
JNLE DALEJ +
JL/JNGE (ang.jump if less/if not greater or eÄ…ual)
skok względny gdy mniejszy, skok względny gdy nie większy lub równy _
Operacja: SF^OF => IP«-IP + disp Wskaźniki: bez zmian
Jeżeli wskaźniki SFxOF, 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. Większy i mniejszy odnosi się do liczb ze znakiem.
01111100 disp
Liczba taktów -16 dla skoku wykonanego, 4 dla skoku nic wykonanego.
Przykład
SUB DX, +2 JL KONTYNUUJ CMP AL, 0
JNGE DALEJ ♦
JLE/JNG (ang. jump ifless oreÄ…ual/if not greater)
skok względny gdy mniejszy lub równy, skok względny gdy nic większy _ _ _
Operacja: (ZF =1 v SF ^ OF) => IP«-IP + disp Wskaźniki: bez zmian
Jeżeli wskaźniki ZF=1 lub SF*OF, to sterowanie jest przekazywane pod żądany adres, który jednak nic może być odległy od offsetu następnego rozkazu
0 więcej niż -128 i +127. Jeżeli warunki nie są spełnione, to skok nie jest realizowany
1 jest wykonywany kolejny rozkaz w programie. Większy i mniejszy odnosi się do liczb ze znakiem.
01111110 disp
Liczba taktów -16 dla skoku wykonanego, 4 dla skoku nie wykonanego.
Przykład
♦
SUB DX, -123 JLE KONTYNUUJ CMP BH, 45 JNG N1E WIEKSZY