Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:instr:infos:conditional-jump

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Dernière révisionLes deux révisions suivantes
back2root:ibm-pc-ms-dos:instr:conditional-jump [2023/02/24 14:17] – ↷ Liens modifiés en raison d'un déplacement. fraterback2root:ibm-pc-ms-dos:instr:infos:conditional-jump [2023/02/24 14:18] – supprimée - modification externe (Unknown date) 127.0.0.1
Ligne 1: Ligne 1:
-====== Conditional Jumps ====== 
  
-===== Flags Test ===== 
-{{tablelayout?rowsHeaderSource=Auto&colwidth="80px,90px,180px,120px,120px,120px,120px"}} 
-^  Instr.                      ^  Saut Si                                                        Jump If...            Unsigned                   |^  Signed                     || 
-| :::                               | :::                                                            | :::                    Equivalence  ^  Evaluation  ^  Equivalence  ^  Evaluation  ^ 
-|  **<color #00a2e8>JS</color>**    |  SF=1                                                          | sign                  |                            |                            | 
-|  **<color #00a2e8>JNS</color>**    SF=0                                                          | not sign              |                            |                            | 
-|  **<color #00a2e8>JO</color>**    |  OF=1                                                          | Overflow              |                            |                            | 
-|  **<color #00a2e8>JNO</color>**    OF=0                                                          | Not Overflow          |                            |                            | 
-|  **<color #00a2e8>JZ</color>**    |  ZF=1                                                          | Zero                  |  JE            A=B          JE            A=B         | 
-|  <color #00a2e8>JE</color>        |  ZF=1                                                          | Equal                  JZ           | :::          |  JZ           | :::          | 
-|  **<color #00a2e8>JNZ</color>**    ZF=0                                                          | Not Zero              |  JNE          |  A<>       |  JNE          |  A<>       | 
-|  <color #00a2e8>JNE</color>        ZF=0                                                          | Not Equal              JNZ          | :::          |  JNZ          | :::          | 
-|  **<color #22b14c>JC</color>**    |  CF=1                                                          | Carry                  JNAE, JB      A<                                   | 
-|  <color #22b14c>JNAE</color>      |  CF=1                                                          | Not Above or Equal    |  JC, JB       | :::          |                            | 
-|  <color #22b14c>JB</color>        |  CF=1                                                          | Below                  JC, JNAE     | :::          |                            | 
-|  **<color #22b14c>JNC</color>**    CF=0                                                          | Not Carry              JAE, JNB      A>=B        |                            | 
-|  <color #22b14c>JNB</color>        CF=0                                                          | Not Below              JAE, JNC     | :::          |                            | 
-|  <color #22b14c>JAE</color>        CF=0                                                          | Above or Equal        |  JNC, JNB     | :::          |                            | 
-|  **<color #22b14c>JA</color>**    |  (CF=0 & ZF=0)                                                 | Above                  JNBE          A>                                   | 
-|  <color #22b14c>JNBE</color>      |  (CF=0 & ZF=0)                                                 | Not Below or Equal    |  JA           | :::          |                            | 
-|  <color #22b14c>JBE</color>        (CF=1 & ZF=1)\\ ou\\ (CF<>ZF)                                 | Below or Equal        |  JNA          |  A<=B        |                            | 
-|  **<color #22b14c>JNA</color>**   | :::                                                            | Not Above              JBE          | :::          |                            | 
-|  <color #ed1c24>JG</color>        |  (ZF=0 & OF=SF)                                                | Greater                                          |  JNLE          A>        | 
-|  **<color #ed1c24>JNLE</color>**  | :::                                                            | Not Less of Equal                                |  JG           | :::          | 
-|  <color #ed1c24>JGE</color>        (SF-OF)                                                       | Greater or Equal      |                            |  JNL          |  A>=B        | 
-|  **<color #ed1c24>JNL</color>**   | :::                                                            | Not Less              |                            |  JGE          | :::          | 
-|  <color #ed1c24>JNG</color>        (ZF=0  & SF=OF)\\ ou\\ (ZF=1 & SF=OF)\\ ou\\ (ZF=0 & SF<>OF)  | Not Greater                                      |  JL            A<=B        | 
-|  **<color #ed1c24>JLE</color>**   | :::                                                            | Less or Equal                                    |  JNG          | :::          | 
-|  <color #ed1c24>JNGE</color>      |  (SF<>OF)                                                      | Not Greater or Equal  |                            |  JL            A<        | 
-|  **<color #ed1c24>JL</color>**    | :::                                                            | Less                  |                            |  JNGE         | :::          | 
- 
-**Légende** 
- 
-  * **Instruction** : Instruction "native" du CPU, les autres sont des "alias" de l'assembleur. 
-  * <color #00a2e8>Instruction</color> : Instruction Communes aux test "signés" et "Non Signés" 
-  * <color #22b14c>Instruction</color> : Instruction Propre aux test "Non Signés" 
-  * <color #ed1c24>Instruction</color> : Instruction Propre aux test "Signés" 
- 
-{{tablelayout?rowsHeaderSource=Auto&colwidth=""}} 
-^                  Jump ?  ^  Clocks                ||^        Size   ^ 
-^  Operands                ^  808x    ^  286  ^  386  ^  486  ^  Bytes  ^ 
-| Jx              |  Y        16      |  7+m  |  7+m  |  3    |  2      | 
-| :::              N        4        3    |  3    |  1    | :::     | 
-| Jx  near-label  |  Y        -        -    |  7+m  |  3    |  4      | 
-| :::              N        -        -    |  3    |  1    | :::     | 
- 
- 
-<WRAP round box> 
-  * C'est une bonne pratique de programmation d'organiser le code pour executer celui-ci en limitant les //jump//; un //jump// prends toujours plus de temps qu'un test qui échoue 
-</WRAP> 
- 
-  * see [[back2root:ibm-pc-ms-dos:instr:jcxz|JCXZ]] and [[back2root:ibm-pc-ms-dos:instr:jmp|JMP]] for their respective timings 
back2root/ibm-pc-ms-dos/instr/infos/conditional-jump.txt · Dernière modification : 2023/02/24 14:18 de frater