Vous êtes sur la page 1sur 5

Compte rendu Du

TP MICROPROCESSEUR 2 BIS
Compte rendu Du

TP MICROPROCESSEUR 2 BIS
Encadr par : M. Mohamed SENHAJI

Ralis par : SARHANI Saad BAGDOURI Mossaab LE BUT DE CE TP :


Montrer le principe de priorit entre les trois niveaux d'interruption NMI, FIRQ et IRQ.

3.1. Java
Java est la fois un langage de programmation et une plateforme d'excution [7]. Le langage Java a la particularit principale d'tre portable, puisqu'il peut tourner sur n'importe quelle machine disposant d'un interprteur Java. Cette portabilit est fondamentale sur Internet,

1 page texte 1 page mixte 1 page image 1 CD vierge 1 pochette double 1 reliure
(baguette + transparent + papier cartonn)

0.5 DH 1 DH 2 DH 2 DH 0.5 DH 6 DH

4. Ralisation
Au lancement de lapplication, lutilisateur a le choix entre deux menus : New Project et Load Project.

Compte rendu Du

TP MICROPROCESSEUR 2 BIS
/* Partie initialisation */ FRQ_PT IRQ_PT NMI_PT PIADDRA PIACRA PIADDRB PIACRB EQU EQU EQU EQU EQU EQU EQU LDU LDX STX LDX STX LDX STX LDB STB LDB STB LDB STB DEBUT LDB STB BSR ANCC $3FF6 $3FF8 $3FFC $8000 $8001 $8002 $8003 $0600 #SP_IRQ IRQ_PT #SP_NMI NMI_PT #SP_FRQ FRQ_PT /* Initialiser le pointeur de Pile */ /* Initialiser le vecteur IRQ */ /* Initialiser le vecteur NMI */ /* Initialiser le vecteur FIRQ */

#$00 PIACRB /* Activer DDRB */ #$FF PIADDRB /* DDRB en sortie */ #$04 PIACRB /* Activer ORB */ #$FF PIADDRB /* Eteindre toutes les LEDs */ SOFT #$AF /* Dfilement du chenillard */

BCL

ASLB STB LDX BSR CMPB BNE BRA

/* Dcaler le bit correspondant la LED allumer */ PIADDRB /* Allumer la LED */ #$FFFF /*Initialiser le compteur de temporisation*/ SOFT /* Brancher vers la temporisation */ #$00 BCL DEBUT /* Recommencer le jeu */

Compte rendu Du

TP MICROPROCESSEUR 2 BIS
/* Sous-programme de temporisation */ -1,X #$0 SOFT SOFT LEAX CMPX BNE RTS /* Dcrmenter le registre X */ /* Rptition tant que X>0 */ /* Retour au dfilement du chenillard */

/* Sous-programme de l'interruption IRQ */ SP_IRQ SP_IRQ2 LDY LDB STB LDX BSR LDB STB LDX BSR LEAY CMPY BNE RTI #$05 #$0F PIADDRB #$FFFF SOFT #$F0 PIADDRB #$FFFF SOFT /* Clignotement alternatif 10 fois */ /* Allumer le quartet fort */ /* Allumer ces quatre LEDs rouges */ /*Initialiser le compteur de temporisation*/ /* Brancher vers la temporisation */ /* Allumer le quartet faible */ /* Allumer ces quatre LEDs rouges */ /*Initialiser le compteur de temporisation*/ /* Brancher vers la temporisation */

-1,Y /* Dcrmenter le registre Y */ #$00 SP _IRQ2 /* Rptition tant que Y>0 */ /* Fin de l'interruption IRQ */

/* Sous-programme de l'interruption NMI */ SP_NMI SP_NMI2 LDY LDA STA LDX BSR LDA STA LDX BSR LEAY CMPY BNE RTI #$05 #$0F PIADDRA #$FFFF SOFT #$F0 PIADDRA #$FFFF SOFT /* Clignotement alternatif 10 fois */ /* Allumer le quartet fort */ /* Allumer ces quatre LEDs vertes */ /*Initialiser le compteur de temporisation*/ /* Brancher vers la temporisation */ /* Allumer le quartet faible */ /* Allumer ces quatre LEDs vertes */ /*Initialiser le compteur de temporisation*/ /* Brancher vers la temporisation */

-1,Y /* Dcrmenter le registre Y */ #$00 SP _NMI2 /* Rptition tant que Y>0 */ /* Fin de l'interruption NMI */
3

Compte rendu Du

TP MICROPROCESSEUR 2 BIS
/* Sous-programme de l'interruption NMI */ PSHU PSHU PSHU LDY SP_FRQ2 LDA STA STA LDX BSR A X Y #$05 #$0F PIADDRA PIADDRB #$FFFF SOFT SP_FRQ /* Stocker le contenu du A dans la Pile */ /* Stocker le contenu du X dans la Pile */ /* Stocker le contenu du Y dans la Pile */ /* Clignotement alternatif 10 fois */ /* Allumer le quartet fort */ /* des LEDs vertes */ /* et des LEDs rouges */ /*Initialiser le compteur de temporisation*/ /* Brancher vers la temporisation */

LDA STA STA LDX BSR

#$F0 PIADDRA PIADDRB #$FFFF SOFT

/* Allumer le quartet faible */ /* des LEDs vertes */ /* et des LEDs rouges */ /*Initialiser le compteur de temporisation*/ /* Brancher vers la temporisation */

LEAY CMPY BNE PULU PULU PULU RTI

-1,Y /* Dcrmenter le registre Y */ #$00 SP _FRQ2 /* Rptition tant que Y>0 */ Y X A /*Remettre le contenu de la Pile dans Y*/ /*Remettre le contenu de la Pile dans X*/ /*Remettre le contenu de la Pile dans A*/ /* Fin de l'interruption FIRQ */

Vous aimerez peut-être aussi