                ORG 0xFF10  // Premiere case memoire non vide
                START MAIN_PRGA // Emplacement ou demarre le programme
                CNTIA EQU 0xFF02
                INIT EQU 0x0001 // INIT = 1
                IT_ADRESS EQU 34*4 // Adresse IRQ2
                IT_ADRESSB EQU 35*4 // Adresse IRQ3
                STACK EQU 0x1000 // Adresse de la pile
                SP EQU R15 // Alias de la pile (met à chaque fois sinon erreur)
MAIN_PRGA       LDW SP, #STACK // Initialise la pile avec STACK
                LDW R0, #INIT // Initialise CNTIA
                STW R0, @CNTIA // Initialise CNTIA
                LDW R14, #IT_PRGA // Charge R14 avec adresse du programme d'exception (nécessaire pour exception)
                STW R14, @IT_ADRESS // Ecrire l'adresse du pprogramme dans le vecteur d'exception (nécessaire pour exception
                LDW R14, #IT_PRGB
                STW R14, @IT_ADRESSB
                ENI // Autorise l'interruption (de base les interruptions sont à 0)
loop            JMP #-4 //(boucle sur lui même)
IT_PRGA         STW R0,-(SP) // sauve registre
                LDW R0, @CNTIA // decalage à gauche
                SHL R0, R0 // decalage à gauche (veritable)
                STW R0, @CNTIA // decalge à gauche
                LDW R0, (SP)+ // restaure registre
                ENI // Autorise interruption
                RTI // return to interrupt == retour au programme (on l'appelle car c'est une interruption)
IT_PRGB         STW R0, -(SP)
                LDW R0, @CNTIA
                SRL R0, R0 // decalage à droite
                STW R0, @CNTIA
                LDW R0, (SP)+
                ENI
                RTI
