INP R0,2      // premier   nombre en entrée (INPut) stocké dans le registre 0
      INP R1,2      // deuxième  nombre en entrée (INPut) stocké dans le registre 1
      INP R2,2      // troisième nombre en entrée (INPut) stocké dans le registre 2
      CMP R1,R0     // comparaison de la valeur dans R1 (opérande 1 : op1) et de la valeur dans R2 (opérande 2 : op2)
      BGT HIGHER    // branchement si op1 > op2 (GT : Greater Than) vers le sous programme d'étiquette HIGHER
      CMP R2, R0    // comparaison de la valeur dans R2 (op1) et de la valeur dans R0 (op2)
      BGT 2HIGER    // branchement si op1 > op2 vers le sous programme d'étiquette 2HIGHER
      OUT R0,4      // sortie à l'affichage de la valeur de R0
      B DONE        // fin
HIGHER:             // étiquette HIGHER : destination du premier branchement de ce programme (BGT ci-dessus)
      CMP R1, R2    // comparaison de la valeur dans R1 (op1) et de la valeur dans R2 (op2)
      BGT 3HIGER    // branchement si op1 > op2 vers le sous programme d'étiquette 3HIGHER
      OUT R2,4      // sortie à l'affichage de la valeur de R2
      B DONE        // fin
2HIGER:
      out R2, 4     // sortie à l'affichage de la valeur de R2
      B DONE        // fin
3HIGER:
      out R1, 4     // sortie à l'affichage de la valeur de R1
      B DONE        // fin
DONE:
      HALT
      // Input three numbers and output the higher