PDP8:Accumulateur Ricochet


    
/ EDU-PRG-8-003-FR.PA
/ ACCUMULATEUR RICOCHET
/
/ CE PROGRAMME MET A ZERO L'ACCUMULATEUR ET LE REGISTRE L PUIS IL INCREMENTE
/ L'ACCUMULATEUR (AUGMENTE DE 1 SA VALEUR). CE QUI A POUR EFFET DE METTRE LE
/ BIT 11 A 1. PUIS IL EFFECTUE EN BOUCLE UNE ROTATION DES BITS DE L'ACCUMULATEUR
/ DANS UN SENS PUIS DANS L'AUTRE ORSQUE LE REGISTRE L EST A 1. LE RESULTAT EST
/ VISUALISÉ SUR LES LAMPES DE LA CONSOLE PROGRAMMEUR.
/
/ UTILISEZ LES BOUTONS 0-11 DE LA CONSOLE POUR CHANGER LA VITESSE DU PROGRAMME.
/
/ (C)2022, TOUT DROITS RÉSERVÉS
 
            *0200
            CLA CLL IAC         / CLAIRE AC ET L PUIS INCREMENT AC
            DCA     DELAIS      / SAUVEGARDE AC PUIS CLAIRE AC
            OSR                 / CHARGE LES COMMUTATEURS DANS AC
            DCA     DELAIS2     / DEPOSE LE PRECOMPTE DU DELAIS POID FORT
            TAD     DELAIS      / RESTORE AC
            NOP                 / POUR RALENTIR LE PROCESSEUR
            NOP                 / NOUS EXECUTONS 3 INSTRUCTIONS
            NOP                 / NOP (NO OPERATION) A CHAQUE BOUCLE
            ISZ     DELAIS      / INC BOUCLE DELAIS DE POID FAIBLE
            JMP     .-4         / ALLER 4 INSTRUCTIONS EN ARRIERE
            ISZ     DELAIS2     / INC BOUCLE DELAIS DE POID FORT
            JMP     .-6         / ALLER 6 INSTRUCTIONS EN ARRIERE
PLACE,      RAL                 / ROTATION DES BITS DE L'ACCUMULATEUR
            SNL                 / SAUT SI L <> 0
            JMP     .-15        / ALLER 13 INSTRUCTIONS EN ARRIERE
            TAD     PLACE       / CHARGE LE CODIN DE ROTATION EN PLACE
            DCA     DELAIS      / LE VERSE TEMPORAIREMENT DANS DELAIS
            TAD     CODIN       / CHARGE LE CODIN DE ROTATION SUIVANT
            DCA     PLACE       / LE VERSE EN PLACE
            TAD     DELAIS      / RECHARGE LE CODIN DE ROTATION
            DCA     CODIN       / LE VERSE DANS  CODIN POUR LE PROCHAINE TOUR
            DCA     DELAIS      / REMET LE COMPTEUR DE DELAIS A ZERO
            JMP     .-25        / BOUCLE AU DEBUT DU CYCLE @0201
DELAIS,     0                   / COMPTEUR DE DELAIS POID FAIBLE
DELAIS2,    0                   / COMPTEUR DE DELAIS POID FORT
CODIN,      RAR                 / DEPOT POUR CODIN DE ROTATION EN CONTRE-SENS
            $