J(podmínka) - blízky skok při splnení podmínky: Porovnání verzí

Z Delphi & Pascal (česká wiki)
Skočit na navigaci Skočit na vyhledávání
 
(Nejsou zobrazeny 4 mezilehlé verze od stejného uživatele.)
Řádek 3: Řádek 3:
  
 
;Varianty:
 
;Varianty:
{|
+
:{|
| [[JA]]  || Skok pri větším || (7 instrukcí)
+
| [[JA]]  || - Skok při větším             || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JAE]] || - Skok při větším nebo rovném || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JB]]  || - Skok při menším            || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JBE]] || - Skok při menším nebo rovném || (7-9 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JC]]  || - Skok při přenosu            || (7-9 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JCXZ]]|| - Skok při [[CX]] = 0        || (8 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JE]]  || - Skok při rovnosti          || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JG]]  || - Skok při větším            || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JGE]] || - Skok při větším nebo rovném || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JL]]  || - Skok při menším            || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JLE]] || - Skok při menším nebo rovném || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JNA]] || - Skok při nevětším          || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JNAE]]|| - Skok při nevětším nebo rovném || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JNB]] || - Skok při nemenším          || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JNBE]]|| - Skok při nemenším nebo rovném || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JNC]] || - Skok při [[CF]] = 0        || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JNE]] || - Skok při nerovnosti        || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JNG]] || - Skok při nevětším          || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JNGE]]|| - Skok při nevětším nebo rovném || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JNL]] || - Skok při nemenším          || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JNLE]]|| - Skok při nemenším nebo rovném || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JNO]] || - Skok nebylo-li přetečení    || (7 instrukcí)
 
|--------------------------------------------------------
 
|--------------------------------------------------------
| [[JAE]] || Skok pri větším nebo rovném || (7 instrukcí)
+
| [[JNP]] || - Skok nebyla-li parita      || (7 instrukcí)
|--------------------------------------------------------
+
|----------------------------------------------------------
| [[JB]]  || Skok pri menším || (7 instrukcí)
+
| [[JNS]] || - Skok nebylo-li znaménko    || (7 instrukcí)
|--------------------------------------------------------
+
|----------------------------------------------------------
| [[JBE]] || Skok pri menším nebo rovném || (7-9 instrukcí)
+
| [[JO]]  || - Skok při přetečení          || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JP]] || - Skok při parite            || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JPE]] || - Skok při sudé parite        || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JPO]] || - Skok při liché parite      || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JS]]  || - Skok při znaménku          || (7 instrukcí)
 +
|----------------------------------------------------------
 +
| [[JZ]]  || - Skok při nule              || (7 instrukcí)
 +
|----------------------------------------------------------
 
|}
 
|}
: [[JC]]  Skok pri přenosu (7-9 instrukcí)
 
: [[JCXZ]] Skok pri CX = 0 (8 instrukcí)
 
: [[JE]]  Skok pri rovnosti (7 instrukcí)
 
: [[JG]]  Skok pri vetším (7 instrukcí)
 
: [[JGE]]  Skok pri vetším nebo rovném (7 instrukcí)
 
: [[JL]]  Skok pri menším (7 instrukcí)
 
: [[JLE]]  Skok pri menším nebo rovném (7 instrukcí)
 
: [[JNA]]  Skok pri nevětším (7 instrukcí)
 
: [[JNAE]] Skok pri nevětším nebo rovném (7 instrukcí)
 
: [[JNB]]  Skok pri nemenším (7 instrukcí)
 
: [[JNBE]] Skok pri nemenším nebo rovném (7 instrukcí)
 
: [[JNC]]  Skok pri CF = 0 (7 instrukcí)
 
: [[JNE]]  Skok pri nerovnosti (7 instrukcí)
 
: [[JNG]]  Skok pri nevětším (7 instrukcí)
 
: [[JNGE]] Skok pri nevětším nebo rovném (7 instrukcí)
 
: [[JNL]]  Skok pri nemenším (7 instrukcí)
 
: [[JNLE]] Skok pri nemenším nebo rovném (7 instrukcí)
 
: [[JNO]]  Skok nebylo-li prětečení (7 instrukcí)
 
: [[JNP]]  Skok nebyla-li parita (7 instrukcí)
 
: [[JNS]]  Skok nebylo-li znaménko (7 instrukcí)
 
: [[JO]]  Skok pri prětečení (7 instrukcí)
 
: [[JP]]  Skok pri parite (7 instrukcí)
 
: [[JPE]]  Skok pri sudé parite (7 instrukcí)
 
: [[JPO]]  Skok pri liché parite (7 instrukcí)
 
: [[JS]]  Skok pri znaménku (7 instrukcí)
 
: [[JZ]]  Skok pri nule (7 instrukcí)
 
  
 
;Popis
 
;Popis
: Instrukce J (nasledovana  podminkou  z prave uvedeneho seznamu) predava  rizeni operandu specifikovanemu v instrukci. Jde o podminene "kratke" skoky testujici priznaky. Testovaci operand instrukce musi  byt v dosahu -128 az +127 byte od umisteni instrukce J(podminka). Toto  omezeni  je podstatne  pro assembler, ktery vytvari  1-bytove  premisteni vztazene ke konci instrukce J(podminka).
+
: Instrukce J (nasledována podmínkou z právě uvedeného seznamu) predáva řízení operandu specifikovanému v instrukci. Jde o podmíněné "krátke" skoky testujíci příznaky. Testovací operand instrukce musí být v dosahu -128 +127 byte od umístění instrukce J(podmínka). Toto  omezení je podstatné pro assembler který vytváří 1-bytové premístení vztažené ke konci instrukce J(podmínka).
  
  
Řádek 56: Řádek 83:
  
 
;Výjimky v privilegovaném módu
 
;Výjimky v privilegovaném módu
: Jestliže je offset místa, na než má být predáno řízení, mimo hranice segmentu [[CS]], je generována všeobecná výjimka privilegovaného módu.
+
: Jestliže je offset místa na než má být predáno řízení, mimo hranice segmentu [[CS]], je generována všeobecná výjimka privilegovaného módu.
  
  
 
;Poznámka pro 80386
 
;Poznámka pro 80386
: Užíva 32-bitový rozšírený ukazatel instrukce. Premístení je osmibitové, rozšírené do 32 bitů znaménkovým bitem (pokud není jinak upraveno).
+
: Užíva 32-bitový rozšírený ukazatel instrukce. Premístení je osmibitové, rozšírené do 32 bitů znaménkovým bitem (pokud není jinak upraveno).
  
  

Aktuální verze z 4. 2. 2013, 00:03

Instrukce
J(podmínka) - blízky skok při splnení podmínky
Varianty
JA - Skok při větším (7 instrukcí)
JAE - Skok při větším nebo rovném (7 instrukcí)
JB - Skok při menším (7 instrukcí)
JBE - Skok při menším nebo rovném (7-9 instrukcí)
JC - Skok při přenosu (7-9 instrukcí)
JCXZ - Skok při CX = 0 (8 instrukcí)
JE - Skok při rovnosti (7 instrukcí)
JG - Skok při větším (7 instrukcí)
JGE - Skok při větším nebo rovném (7 instrukcí)
JL - Skok při menším (7 instrukcí)
JLE - Skok při menším nebo rovném (7 instrukcí)
JNA - Skok při nevětším (7 instrukcí)
JNAE - Skok při nevětším nebo rovném (7 instrukcí)
JNB - Skok při nemenším (7 instrukcí)
JNBE - Skok při nemenším nebo rovném (7 instrukcí)
JNC - Skok při CF = 0 (7 instrukcí)
JNE - Skok při nerovnosti (7 instrukcí)
JNG - Skok při nevětším (7 instrukcí)
JNGE - Skok při nevětším nebo rovném (7 instrukcí)
JNL - Skok při nemenším (7 instrukcí)
JNLE - Skok při nemenším nebo rovném (7 instrukcí)
JNO - Skok nebylo-li přetečení (7 instrukcí)
JNP - Skok nebyla-li parita (7 instrukcí)
JNS - Skok nebylo-li znaménko (7 instrukcí)
JO - Skok při přetečení (7 instrukcí)
JP - Skok při parite (7 instrukcí)
JPE - Skok při sudé parite (7 instrukcí)
JPO - Skok při liché parite (7 instrukcí)
JS - Skok při znaménku (7 instrukcí)
JZ - Skok při nule (7 instrukcí)
Popis
Instrukce J (nasledována podmínkou z právě uvedeného seznamu) predáva řízení operandu specifikovanému v instrukci. Jde o podmíněné "krátke" skoky testujíci příznaky. Testovací operand instrukce musí být v dosahu -128 až +127 byte od umístění instrukce J(podmínka). Toto omezení je podstatné pro assembler který vytváří 1-bytové premístení vztažené ke konci instrukce J(podmínka).


Syntaxe
J(test_condition)


Ovlivňuje příznaky
žádné


Nedefinované příznaky
žádné


Výjimky v privilegovaném módu
Jestliže je offset místa na než má být predáno řízení, mimo hranice segmentu CS, je generována všeobecná výjimka privilegovaného módu.


Poznámka pro 80386
Užíva 32-bitový rozšírený ukazatel instrukce. Premístení je osmibitové, rozšírené do 32 bitů znaménkovým bitem (pokud není jinak upraveno).


Příklad
JA INST_LABEL