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 ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

Variables système
F6FCO
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 587
Âge : 64
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#1 Message par F6FCO » jeu. 18 oct. 2018 19:36

Hello tout le monde,
Quand on regarde la zone des variable on s'aperçoit que le système y a posé quelques-unes des siennes. Dans mon projet j'utilise des variables 64bits et ces variables système situées un peu n'importe ou me gênent un tantinet, surtout celles du début de la zone.
Plutôt que de faire une liste rébarbative j'ai fais quelques captures d'écran, il y en a plein d'autres.
Peut-on les écraser sans risque ?
variable1.JPG

Capture2.JPG

Capture3.JPG
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Une porte nand prend 2 bits en entrée... cochonne va !!!

Variables système
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 1084
Âge : 68
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#2 Message par paulfjujo » jeu. 18 oct. 2018 20:17

bonsoir,



Ce sont plutot les adresses des registres MCU !
Là, impossible de changer quoi que ce soit ...

en ASM , il faut etre TRES PRES du MCU
et bien tenir compte de la datasheet du MCU utilisé.
pour verifier les zones libres dans les differentes Bank RAM

Variables système
F6FCO
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 587
Âge : 64
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#3 Message par F6FCO » jeu. 18 oct. 2018 20:37

Bonsoir Paul,
Effectivement j'aurai pu m'en apercevoir tout seul :roll:
Bon alors je vais placer mes variables précisèmment pour les éviter. Dommage j'aurai bien aimé les avoir toutes à la suite.
Une porte nand prend 2 bits en entrée... cochonne va !!!

Variables système
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 1084
Âge : 68
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#4 Message par paulfjujo » jeu. 18 oct. 2018 20:53

F6FCO a écrit :... Dommage j'aurai bien aimé les avoir toutes à la suite.



sur les 18F plus rescent , il y aurait un mode quasi lineaire pour la gestion de la RAM
Je ne sais pas si c'est vrai en ASM 100%
ou si c'est le compilo MikroC qui arrange cela..

C'est vrai qu'en C , on ne preoccupe pas des bank (sauf pour les 16F .. IRP_Bit problemes)
En mikroC on peut aussi faire de l'allocation memoire ..
tres pratique pour loger une fonte de 3K Ram

Variables système
Gérard
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 843
Âge : 60
Enregistré en : septembre 2015
Localisation : Alsace

#5 Message par Gérard » jeu. 18 oct. 2018 21:33

Sur les petits PIC, il faut faire attention qu'une variable de plus de 8 bit ne se trouve pas à cheval sur 2 pages de RAM.
Le 11 / 07 / 2017, j'ai commandé une Ford Mustang.
Le 31 / 08 / 2017, j'ai eu la Mustang, un régal.

Variables système
Temps-x
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 952
Enregistré en : juillet 2016
Localisation : Terre

#6 Message par Temps-x » ven. 19 oct. 2018 01:58

Bonsoir F6FCO, paulfjujo, Gérard, et tout le forum,

On peut placé l'adresse des variables bien précisément avec la directive EQU

Voici un exemple :

Code : Tout sélectionner



lecture             EQU H
'25'    
phrase              EQU H
'26'   
ligne               EQU H
'27'    
info                EQU H
'58'    
selecteur           EQU H
'49'



Attention pour les Bank pour les Pic18F, même si la bank0 et bank15(ou sont tous les registres) sont accessibles sans en changer.

il en est rien pour les autres bank ou il faut utiliser le registre BSR pour si placer

Dans cette exemple on vient de se placer en bank2

Code : Tout sélectionner



movlw D
'2'
movwf BSR



A titre d'exemple et pour bien comprendre, voici le tableau mémoire du Pic18F26k22, qui reste similaire pour la plupart des Pic18F,
mais par prudence il faut mieux vérifier la datasheet du pic utilisé.

bank.jpg


Avec l'instruction movlb ou movff on n'est pas obliger de ce placer dans la bank pour récupérer ou placer une valeur.


A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par Temps-x le sam. 20 oct. 2018 01:33, modifié 2 fois.
Quand la souris nargue le chat, c'est que son trou n'est pas loin.

Variables système
F6FCO
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 587
Âge : 64
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#7 Message par F6FCO » ven. 19 oct. 2018 13:59

Interessant tout çà.
Une porte nand prend 2 bits en entrée... cochonne va !!!


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité