10) Utilisation de l'adressage indexé

L'exemple permet d'utiliser l'adressage indexé. On réalise l'allumage des leds sur le portb avec une sequence programmé
Le sous programme de temporisation reste classique.

* fichier K2000.asc
* Ce programme permet le décalage des les leds sur le portB
* Arrivée à la 8ème il repart.
* Mise en oeuvre de l'adressage indexé.

*Equivalences registres
 
portb		equ		$04

*Début du programme implantation en EEPROM
 
		org		$F800

********************
*   Configuration        
********************
* Pile
 
start		lds		#$00ff

********************
*Programme principal  
********************

*Eteindre toutes les leds sur le portb.		
 
		clr		portb

* Initialisation du pointeur pointant la première adresse contenant le code de l'allumage de la LED 1 seule
 
init		ldy		#pointeur

*Lire la valeur pointé
 
suite		ldab		0,y		
		beq		init	

*Allumer la led correspondante
 	
		stab		portb		
		bsr		tempo	


*Incrémenter le pointeur	
 
		iny		
		bra		suite


********************
*  Sous Programmes 
********************

*Sous programmes tempo
************************

* duree de temporisation 50ms
 
	
tempo		ldx		#16666
delay		dex				
		bne		delay		
		rts


pointeur 	FCB		$01,$02,$04,$08,$10,$20,$40,$80,$40,$20,$10,$08,$04,$02,$00


***************************
* Vecteurs d'interruptions
***************************
*vecteur de reset 
 
		org	$fffe
rstvect		fdb	start
		end

DEBUT DE PAGE

Les interruptions.

SOMMAIRE


Giampiero D'AQUINO
Enseignant en Génie Electronique