Bonjour à tous,
Je suis toujours sur mon projet de librairie pal pour pic, elle avance bien (elle fonctionne) mais je me heurte à mes limites en ASM PIC18. et je viens vous demander un petit conseil, voire une petite idée/
J'ai un délais tres serré au niveau des timings, Et j'ai misé sur 2 cycles entre affichage de pixels (pas forcement le plus judicieux).
J'ai une varaible que je decremente (qui me sert à faire une boucle), et à un moment je la teste, si le resultat est égal à Zéro, je sors de la boucle.
Voici un exemple
LE DCFSNZ car il est suivi d'un GOTO, prends trois cycles, car le GOTO sera remplacé par deux NOP, comme cela est précisé dans le datasheet, c'est donc un fonctionnement normal. Cependant ça me chagrine dans la mesure, ou ce pixel à cet endroit sera plus large que les autres (1 cycle en plus).Code PHP:
NOP
NOP
RLNCF PORTB,f
DCFSNZ pal_line@i,f,c
GOTO SKIP_LOOP
RLNCF PORTB,f
Comme vous le voyez j'ai deux nop (même plus en amont du code) de dispos. Je voudrais savoir avant de derouler la boucle (ce qui fonctionnerait mais augmenterait la taille du code), si quelqu'un n'aurait pas une astuce, un conseil pour qu entre mes des deux RLCNF, je n'ai que deux cycles et sortir de la boucle si ma variable i=0 (apres une decrementation qui peut se faire avant).
Note : je précise que c'est de l'asm que j'integre sous xc8 via les directives asm.
Merci à vous pour vos lumières et conseils![]()
-----