Besoin d'aide en assembleur.

Besoin d'aide en assembleur. - ASM - Programmation

Marsh Posté le 13-12-2010 à 17:43:28    

Bonjour à tous,
 
j'ai créé un code en assembleur pour la première fois récemment, et il y a quelque chose que j'ai noté sans vraiment savoir ce que ça voulait dire.
 
Voilà les lignes en questions:
 
TRIS B: Que cela veut il vraiment dire, auriez vous une définition ?
 
TRIS A: Que cela veut il vraiment dire, auriez vous une définition ?
 
PORT B: Que cela veut il vraiment dire, auriez vous une définition ?
 
PORT A: Que cela veut il vraiment dire, auriez vous une définition ?
 
PS: j'ai eu beau chercher sur internet, j'en suis tombé à 0 (nihil).
 
PS2: Je ne suis peut être pas vraiment dans le bon forum, mais j'en ai pas trouvé d'autre plus adapté.
 
Merci d'avance, pour ceux qui prendront la peine de me répondre.
 
Bibi,

Reply

Marsh Posté le 13-12-2010 à 17:43:28   

Reply

Marsh Posté le 13-12-2010 à 19:43:11    

Tu peux poster ton code éventuellement
 
Assembleur X86?

Reply

Marsh Posté le 13-12-2010 à 21:45:43    

antac a écrit :

Tu peux poster ton code éventuellement
 
Assembleur X86?


 
Salut,
 
Merci pour ta participation,
 
voici le code:
 
; clignotements de led's sur RB1,RB2,RB3 avec un switch
 
; Configuration
 
  LIST P=16F84A;                      Type de processeur
  #INCLUDE <p16F84A.inc>;             Définition des registres
 
; Définitions
 
  RP0 EQU 5;
  RB1 EQU 0X01;                       Port B, sortie RB1
  RB2 EQU 0X02;                       Port B, sortie RB2
  RB3 EQU 0X03;                       Port B, sortie RB3
  RA0 EQU 0X00;                       Port A, sortie RA0
 
; Variables
   
  CBLOCK 0X0C;
  vTempo1, vTempo2;
  ENDC;
 
; Vecteurs
 
  ORG H'0000';                        Déclaration du reset
  GOTO Start;                         Passe à Start
 
; Tempo de clignotement des leds
 
Tempo   MOVLW 0XFF;                   Charge W avec 0XFF
        MOVWF vTempo2;                Pour charge la vtempo2
_Tempo2 MOVWF vTempo1;                Ainsi que la vtempo1
_Tempo1 DECFSZ vTempo1, f;            Décrémente vtempo et met le résultat
        GOTO _Tempo1;                 Puis saute l'instruction suivante
        DECFSZ vTempo2, f;
        GOTO _Tempo2;
        RETURN;
 
; Programme principal
 
Start BSF STATUS, RP0;                Accès bank 1
      MOVLW 0XF1;                     Charge avec 0XF1
      MOVWF TRISB;                    Pour le TRIS B
      MOVLW 0XFF;                     Charge avec 0XFF
      MOVWF TRISA;                    Pour le TRIS A
 
; Les deux boucles pour le bon fonctionnement du switch
 
       BCF STATUS, RP0;               Accès bank 0
       BTFSS PORTA, RA0;              Interrupteur sur RA0
       GOTO Boucle;                   On passe à Boucle                
       GOTO Boucledeux;               On passe à Boucledeux
Boucle BSF PORTB, RB1;                On éteint RB1
       BCF PORTB, RB2;                On allume RB2
       BSF PORTB, RB3;                On éteint RB3
       CALL Tempo;                    On appelle vtempo
       BSF PORTB, RB1;                On éteint RB1
       BSF PORTB, RB2;                On éteint RB2
       BSF PORTB, RB3;                On éteint RB3
       CALL Tempo;                    On appelle vtempo
       BTFSS PORTA, RA0;              Interrutpeur sur RA0
       GOTO Boucle;                   On passe à Boucle
 
Boucledeux BCF PORTB, RB1;            On allume RB1
           BSF PORTB, RB2;            On éteint RB2
           BCF PORTB, RB3;            On allume RB3
           CALL Tempo;                On appelle vtempo
           BSF PORTB, RB1;            On éteint RB1
           BSF PORTB, RB2;            On éteint RB2
           BSF PORTB, RB3;            On éteint RB3
           CALL Tempo;                On appelle vtempo
           BTFSS PORTA, RA0;          Interrupteur sur RA0
           GOTO Boucle;               On passe à Boucle
           GOTO Boucledeux;           On passe à Boucledeux
           END;
 
C'est fort problable qu'il y ait des erreurs dans mes commentaires !
 
Merci à toi

Reply

Marsh Posté le 13-12-2010 à 22:13:26    

Citation :

il y a quelque chose que j'ai noté sans vraiment savoir ce que ça voulait dire


Il est étrange de noter des choses sans le savoir.
Vous êtes sommnabule ou vous piquer le boulot d'un autre pour vous l'approprier ?
 
Il est étrange aussi que vous ne répondiez pas à la question : X86 ?
Vous devriez pourtant savoir que cela n'a rien à voir avec les x86 qui sont au coeur de nos PC, et auxquels on pense en priorité.
Votre code est pour un PIC16F84A.
TRISA et TRISB sont des registres de direction de données, associés à PORTA et PORTB.


Message édité par billgatesanonym le 13-12-2010 à 22:13:48
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed