je voudrais savoir si on peux modifier l'adresse d'un saut "goto boucle + contenu de la variable "
avec l'adressage indirect en ajoutant le contenu d'une variable
-----
30/05/2010, 21h23
#2
invitee05a3fcc
Date d'inscription
janvier 1970
Messages
66 449
Re : modifier l'adresse de goto en asm
Et avec quel processeur ?
30/05/2010, 21h32
#3
coeur noire
Invité
Re : modifier l'adresse de goto en asm
PIC 16F88 compilateur MPLAD IDE
30/05/2010, 23h46
#4
invite092cb13c
Date d'inscription
janvier 1970
Messages
899
Re : modifier l'adresse de goto en asm
Bonjour
J'imagine que c'est pour faire une sorte de tableau, tu peux donc faire:
Code:
movf cmpt,w
call tableau ; appeller le tableau avec cmpt dans w
; et ensuite
tableau
addwf PCL,f ;PCL=PCL+w
retlw B'10000000' ;0
retlw B'10100000' ;1
retlw B'00100000' ;2
retlw B'01100000' ;3
retlw B'01000000' ;4
retlw B'01010000' ;5
retlw B'00010000' ;6
retlw B'10010000' ;7
Dans l'exemple, cmpt est la variable qui contient l'adresse dans le tableau. Les retlw, sont la pour l'exemple on peut les remplacer par une suite ligne qui finit par return.
Attention à la longueur des tableaux qui doivent se trouver dans la même page memoire.
Gilles
Aujourd'hui
A voir en vidéo sur Futura
31/05/2010, 13h05
#5
coeur noire
Invité
Re : modifier l'adresse de goto en asm
bonjour
avec ton exemple pour récupérer une valeur du tableau[1] il faut que
je tape
incf compt ,w
call tableau
movwf FSR
movlw INDF
sinon si je tape incf f,compt c'est l'adresse de compt qui est incrémenter de 1?
31/05/2010, 23h57
#6
invite092cb13c
Date d'inscription
janvier 1970
Messages
899
Re : modifier l'adresse de goto en asm
Bonjour
Je ne sais pas si les dire de ton post #5 est une question ou une affirmation.
Mon exemple renvoie la valeur, dans w, de la ligne numerotée 5, par exemple, si w contient la valeur 5 avant la ligne "call tableau". Cette exemple fonctionne, il vient d'un de mes programmes et on doit retrouver le même genre d'exemple dans les cours de Bigonoff.
Attention à ce que le tableau ne soit pas à cheval sur deux pages memoires, un org peut être utile.
FSR et INDF servent pour l'adressage indirect, je n'ai pas l'impression que c'est ce que tu veux, pour bien comprendre, je te recommande de lire le cours part1 de Bigonoff, chapitre 10 pour les modes d'adressages et chapitre 18.6 pour les tableaux.
Gilles