Code en Assembleur : Recopie de zone mémoire
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Code en Assembleur : Recopie de zone mémoire



  1. #1
    invite42845e01

    Code en Assembleur : Recopie de zone mémoire


    ------

    Bonjour !

    Je débute tout juste en assembleur et j'ai un programme à faire pour demain (mmoui je m'y prends pas super à l'avance)

    On doit faire un programme qui
    -Précharge une mémoire d'adresse $I500 avec la valeur $0A
    -Effectue une boucle qui charge la zone mémoire d'adresses $1500 à $1600 avec la valeur $0A
    -Effectue une autre boucle qui recopie la zone mémoire de $1500 à $1600 dans la zone mémoire $1800 à $1900

    Pour le moment, j'ai ce programme :

    Code:
                 MOVB #$0A $1500
                 LDX #$1500
    BOUCLE MOVB [0,X][1,+X]
                 CPX #$1600
                 BLE BOUCLE 
                 LDX #$1500
    FIN        MOVB [0,X][#$300,X]
                 INC X
                 CPX #$1600
                 BLE FIN
    Globalement, ma grande question, c'est est ce qu'on peut faire MOVB [0,X][1,+X] ? Est-ce que ça donne bien : Prendre la valeur à l'adresse X pour la mettre à X+1 ? X prenant ici la valeur X+1
    Même question pour [0,X][#$300,X]. Cela fait-il bien : Prendre la valeur à l'adresse X, pour la mettre à X+$300 ? X ici restant X par la suite.

    Voilà, merci d'avance !

    -----

  2. #2
    jiherve

    Re : Code en Assembleur : Recopie de zone mémoire

    bonsoir,
    quel µC ?
    JR
    l'électronique c'est pas du vaudou!

  3. #3
    invite42845e01

    Re : Code en Assembleur : Recopie de zone mémoire

    Bonsoir, c'est le HCS12 !

  4. #4
    jiherve

    Re : Code en Assembleur : Recopie de zone mémoire

    Re
    j'ai fini par trouver une doc de ce que j'en ai compris en la parcourant en diagonale c'est que ce tu as écrit semble correct.

    Donc si le compilo ne te jette pas cela devrait être bon.
    JR
    l'électronique c'est pas du vaudou!

  5. A voir en vidéo sur Futura
  6. #5
    invite936c567e

    Re : Code en Assembleur : Recopie de zone mémoire

    Bonjour

    D'après la doc, l'instruction MOVB ne semble pas disponible dans le mode d'adressage indexé avec un offset sur 16 bits (en d'autres termes, la valeur #$300 risque d'être trop grande).

    Par ailleurs, il pourrait être intéressant de noter que l'instruction MOVW permet de copier deux octets à la fois, et que l'instruction IBNE réalise successivement l'incrémentation du compteur, son test et le branchement éventuel (pour effectuer 128 boucles, démarrer avec le compteur A ou B à 128 ; pour effectuer 256 boucles, démarrer avec le compteur A ou B à 0).

Discussions similaires

  1. Code assembleur 80x86
    Par invite20e071f3 dans le forum Programmation et langages, Algorithmique
    Réponses: 10
    Dernier message: 23/08/2015, 18h42
  2. compréhension code assembleur (13 lignes)
    Par erwannomar dans le forum Électronique
    Réponses: 17
    Dernier message: 28/09/2014, 00h29
  3. A propos un code assembleur
    Par invitec8ad04ce dans le forum Électronique
    Réponses: 0
    Dernier message: 20/02/2012, 00h19
  4. code assembleur sur isis
    Par invitef0165562 dans le forum Électronique
    Réponses: 1
    Dernier message: 04/07/2011, 04h53
  5. [PIC] Utiliser des routines assembleur dans le code C
    Par invite745cb0cc dans le forum Électronique
    Réponses: 4
    Dernier message: 30/12/2008, 00h29