Langage machine et assembleur spécifique
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Langage machine et assembleur spécifique



  1. #1
    Irobillions

    Langage machine et assembleur spécifique


    ------

    Bonjour je souhaiterais savoir si quelqu’un aura une idée pour faire cette exercice.
    I
    Code:
    nstruction Description
    add ADR    ACC <--- ACC + Mémoire[ADR]
    sub ADR    ACC<---ACC - Mémoire[ADR]
    mul ADR    ACC <--- ACC × Mémoire[ADR]
    st ADR       Mémoire[ADR] <--- ACC
    ld ADR       ACC <--- Mémoire[ADR]
    stop          Arrêt du programme
    br ADR      PC <--- ADR
    brz ADR   ACC = 0 ? PC <--- ADR : PC <--- PC + 1
    brnz ADR  ACC != 0 ? PC <--- ADR : PC <--- PC + 1
    Voici un jeu d’instructions avec description pour une syntaxe de langage machine.
    A partir de ces instructions comment écrire un programme pour calcul du modulo n sachant que tu ne peux que manipuler
    un registre acc (de 32 bit) qui est l'accumulateur et les variables dans data ont des memoires a eux propres.

    Exemple :

    .txt
    //code principal
    .data
    // donnée et variable


    Remarque:
    Il y’a pas de tableau
    Seulement des variables

    J’ai du mal à voir comment implémenter un modulo avec juste ça

    -----
    Dernière modification par JPL ; 27/09/2023 à 03h02. Motif: Ajoute de la balise Code

  2. #2
    pm42

    Re : Langage machine et assembleur spécifique

    Tu soustrait n au nombre de départ tant que le résultat est positif. Le dernier positif est le modulo.
    C'est le principe de la division et de trouver le reste qui est le modulo.

  3. #3
    polo974

    Re : Langage machine et assembleur spécifique

    Sans test de signe, d'overflow ou de bit, ni de OU ou ET, ça va être compliqué...
    Jusqu'ici tout va bien...

  4. #4
    pm42

    Re : Langage machine et assembleur spécifique

    Citation Envoyé par polo974 Voir le message
    Sans test de signe, d'overflow ou de bit, ni de OU ou ET, ça va être compliqué...
    Effectivement, j'ai vu les tests et je n'ai pas fait gaffe qu'il n'y pas celui de signe. Je dirais que cela reste faisable en comparant à chaque étape le reste à tous les nombres entre 0 et n-1 (via une soustraction et un test = 0) mais c'est un poil compliqué en effet.

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

    Re : Langage machine et assembleur spécifique

    Mais comment on pourrait raisonner par rapport à ça

  7. #6
    polo974

    Re : Langage machine et assembleur spécifique

    méthode bourrin: vu qu'on n'a que le test à zéro, (dé)compter et tester à zéro: si unsigned 32 bit, prendra au pire 4 giga tours de boucle.

    si on connaît le fonctionnement de la multiplication (unsigned ou signed), en cas de débordement, on peut isoler chaque bit des nombres dans 32 variables et alors envisager un algo plus complexe, que je n'ai même pas envie de penser plus loin... c'est faisable, mais j'ai besoin de mon jus de cervelle pour autre chose actuellement ...

    mais à mon avis, si c'est un exo de base, il manque une ou deux instructions.

    le jeu d'instruction présenté est incomplet ou farfelu sinon sadique...
    Jusqu'ici tout va bien...

Discussions similaires

  1. Langage assembleur
    Par kizakoo dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 05/05/2020, 20h43
  2. [Programmation] traduction d'un langage C en langage assembleur
    Par marcuccio19 dans le forum Électronique
    Réponses: 12
    Dernier message: 23/05/2017, 23h59
  3. Langage assembleur
    Par invitec64e4f8e dans le forum Programmation et langages, Algorithmique
    Réponses: 8
    Dernier message: 08/12/2016, 14h23
  4. langage assembleur
    Par invitef84b5b58 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 28/12/2014, 14h49
  5. langage assembleur
    Par invite36380b78 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 03/03/2007, 14h06