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í
 
(Není zobrazeno 5 mezilehlých verzí od stejného uživatele.)
Řádek 3: Řádek 3:
  
 
;Varianty:
 
;Varianty:
: [[JA]]   Skok pri větším (7 instrukcí)
+
:{|
: [[JAE]] Skok pri větším nebo rovném (7 instrukcí)
+
| [[JA]] || - Skok při větším             || (7 instrukcí)
: [[JB]]   Skok pri menším (7 instrukcí)
+
|----------------------------------------------------------
: [[JBE]] Skok pri menším nebo rovném (7-9 instrukcí)
+
| [[JAE]] || - Skok při větším nebo rovném || (7 instrukcí)
: [[JC]]   Skok pri přenosu (7-9 instrukcí)
+
|----------------------------------------------------------
: [[JCXZ]] Skok pri CX = 0 (8 instrukcí)
+
| [[JB]] || - Skok při menším             || (7 instrukcí)
: [[JE]]   Skok pri rovnosti (7 instrukcí)
+
|----------------------------------------------------------
: [[JG]]   Skok pri vetším (7 instrukcí)
+
| [[JBE]] || - Skok při menším nebo rovném || (7-9 instrukcí)
: [[JGE]] Skok pri vetším nebo rovném (7 instrukcí)
+
|----------------------------------------------------------
: [[JL]]   Skok pri menším (7 instrukcí)
+
| [[JC]] || - Skok při přenosu           || (7-9 instrukcí)
: [[JLE]] Skok pri menším nebo rovném (7 instrukcí)
+
|----------------------------------------------------------
: [[JNA]] Skok pri nevětším (7 instrukcí)
+
| [[JCXZ]]|| - Skok při [[CX]] = 0         || (8 instrukcí)
: [[JNAE]] Skok pri nevětším nebo rovném (7 instrukcí)
+
|----------------------------------------------------------
: [[JNB]] Skok pri nemenším (7 instrukcí)
+
| [[JE]] || - Skok při rovnosti           || (7 instrukcí)
: [[JNBE]] Skok pri nemenším nebo rovném (7 instrukcí)
+
|----------------------------------------------------------
: [[JNC]] Skok pri CF = 0 (7 instrukcí)
+
| [[JG]] || - Skok při větším            || (7 instrukcí)
: [[JNE]] Skok pri nerovnosti (7 instrukcí)
+
|----------------------------------------------------------
: [[JNG]] Skok pri nevětším (7 instrukcí)
+
| [[JGE]] || - Skok při větším nebo rovném || (7 instrukcí)
: [[JNGE]] Skok pri nevětším nebo rovném (7 instrukcí)
+
|----------------------------------------------------------
: [[JNL]] Skok pri nemenším (7 instrukcí)
+
| [[JL]] || - Skok při menším             || (7 instrukcí)
: [[JNLE]] Skok pri nemenším nebo rovném (7 instrukcí)
+
|----------------------------------------------------------
: [[JNO]] Skok nebylo-li prětečení (7 instrukcí)
+
| [[JLE]] || - Skok při menším nebo rovném || (7 instrukcí)
: [[JNP]] Skok nebyla-li parita (7 instrukcí)
+
|----------------------------------------------------------
: [[JNS]] Skok nebylo-li znaménko (7 instrukcí)
+
| [[JNA]] || - Skok při nevětším           || (7 instrukcí)
: [[JO]]   Skok pri prětečení (7 instrukcí)
+
|----------------------------------------------------------
: [[JP]]   Skok pri parite (7 instrukcí)
+
| [[JNAE]]|| - Skok při nevětším nebo rovném || (7 instrukcí)
: [[JPE]] Skok pri sudé parite (7 instrukcí)
+
|----------------------------------------------------------
: [[JPO]] Skok pri liché parite (7 instrukcí)
+
| [[JNB]] || - Skok při nemenším           || (7 instrukcí)
: [[JS]]   Skok pri znaménku (7 instrukcí)
+
|----------------------------------------------------------
: [[JZ]]   Skok pri nule (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
 
;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 51: Řá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