il est probable que j'enfonce une porte ouverte pour beaucoup mais tant pis.
Microchip attire bien l'attention sur les problèmes de frontières de pages de ses processeurs MidRange (voir Data-sheet) mais peut-être un peu moins sur les frontières de blocs de 256 mots de programme rencontrés dans des branchements calculés
Code : Tout sélectionner
addwf PCL,f
Sans précautions, cette instruction peut causer des ennuis détectables à la compilation par 3 petites lignes
Code : Tout sélectionner
messages
addwf PCL,f
message1 dt " Hello Word "
finmessages dt 0
if high(messages) != high(finmessages)
error "La table message franchit une frontière de bloc."
endif
On n'a plus à se préoccuper de la place de ce segment de code dans le programme, l'assembleur nous informera s'il est mal placé, ce n'est pas très cher
On peut remplacer la directive error par messg mais c'est moins sécuritaire.
Toutes mes excuses à ceux qui y avaient déjà pensé
Cordialement

