Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---

sécuriser un branchement calculé (computed GOTO)

http://ww1.microchip.com/downloads/en/AppNotes/00556e.pdf

Forum général sur l'Assembleur !

Modérateur : mazertoc

JJE
Passionné
Passionné
Messages : 399
Enregistré en : novembre 2017
Localisation : Picardie

sécuriser un branchement calculé (computed GOTO)

Messagepar JJE » mar. 30 janv. 2018 11:05

Bonjour,
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 :-D
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
Cordialement

JJE

C'est pas parcequ'on n'a rien à dire qu'il faut fermer sa G....e

Avatar de l’utilisateur
F6FCO
Expert
Expert
Messages : 2860
Enregistré en : décembre 2017
Localisation : Banlieue sud de Klyntar
Contact :

sécuriser un branchement calculé (computed GOTO)

Messagepar F6FCO » sam. 3 févr. 2018 20:39

Merci JJE, çà me servira certainement :wink:
Une porte nand prend 2 bits en entrée... :eek:


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 11 invités