Assembleur

Bonjour;

mov ax,100
   mov bx,10
   mov cx,0
boucle:
   sub ax,bx
   add cx,1
   cmp ax,bx
   jae boucle


on me dit :"Le CPI des instructions utilisant uniquement les registres est de 1 cycle, et celui de l'instruction de branchement conditionnel est de 3 cycles."

Est ce que la boucle durera 3 cycles ?

merci

3 réponses

  1. sub est une soustraction, add une addition, ce sont des opérations arythmétiques(tout com MUL, DIV etc.)
    et logiquement c'est l' Unité Arythmétique Logique qui s'en charge,
    (on dit aussi ULA ou ALU) sur les 386 et au delà, ce type d'opération ne demande qu'un cycle d'horloge.

    ¤
    0
    1. 'instruction de branchement conditionnel est de 3 cycles

      ca veut dire quoi cela , exactement?
      0
  2. c un exo que je fait
    "Soit le programme présenté ci-dessous. Le CPI des instructions utilisant uniquement les registres est de 1 cycle, et celui de l'instruction de branchement conditionnel est de 3 cycles."
    dc je pense que je dois suivre ce que les consigles

    on parle d'instruction de branchement conditionnel c'est ca
    boucle:
       sub ax,bx
       add cx,1
       cmp ax,bx
       jae boucle


    deuxième question

    c'est quoi une instruction ual ?
    merci
    0
    1. non c'est pas tout a fait ça

      c'est chaque type d'instruction = 1 nombre de cycle

      exemple
      xor ax,ax (ax= 0) en deux cycles 2µsecondes à 1Mégahertz
      alors que
      mov ax,0 (ax=0) en trois cycles 3µsecondes à 1Mégahertz

      etc
      etc
      etc

      pour chaque instruction il y a un nombre de cycle qui n'est pas forcement le même pour toutes les instructions voir la doc constructeur du fabriquant du processeur que tu utilises pour les connaitre...

      si c'est pour de l'assembleur PC vas sur le site d'intel...
      0