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í
 
Řádek 67: Řádek 67:
  
 
;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 83: Řá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 3. 2. 2013, 23: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