Bonjour à tous.
Avant tout, je tiens à dire que je suis un débutant en assembleur (merci de votre compréhension)
Je dois traduire un programme écrit en assembleur pour l'écrire en C.
Jusque là tout va bien mais je suis bloqué à un endroit, je m'explique...
J'ai un "fichier de définition de la zone mémoire RAM" que me sert à déclarer mes variables.
En gros, sa donne ça.( j'ai pris juste une partie pour vous donner une idée de la structure)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 V0_TEMP EQU 20h ; Donnee temporaire V0_toto EQU 21h ; V0_Rtcc_cpt EQU 22h ; Compteur d'inter RTCC
Je sais que V0_TEMP est le nom de la variable et 20h l’emplacement de cette variable (grossièrement).
Code : Sélectionner tout - Visualiser dans une fenêtre à part V0_TEMP EQU 20h ; Donnee temporaire
J'aimerais savoir comment interpréter ça en C.
J'ai eu pour idée de faire de cette façon:
Qu'en pensez-vous?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 unsigned short V0_TEMP=0x20; //Donnée temporaire unsigned short V0_toto= 0x21; unsigned short V0_Rtcc_cpt= 0x22; //Compteur d'inter RTCC
Puis dans le programme en assembleur, j'ai des variables sur 1 bit :
sous cette forme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Vx_Ent_Etat EQU 71h ; Etat final des entrees Vxb_EBP1 EQU 0 ; Bouton poussoir 1 Vxb_EBP2 EQU 1 ; Bouton poussoir 2 Vxb_EIR1 EQU 2 ; Infra rouge 1 Vxb_EIR2 EQU 3 ; Infra rouge 2 Vxb_ECAR EQU 4 ; Commande Arret Vxb_EPVE EQU 5 ; Entree PV Vxb_EGVE EQU 6 ; Entree GV Vxb_EFUS EQU 7 ; Entree Fusible
Je ne vois pas comment traduire ces lignes en C.
Toute aide est la bienvenue =)
Je m'exprime peut-être mal mais le cœur y est
Partager