Questions ASM

5 sujets de 46 à 50 (sur un total de 50)

  • AmiDARK

      #213645

      Move.l $4.w, a6 est une optimisation de Move.l $4, a6 qui correspondrait par défaut à Move.l $4.l, a6.l

      .l = valeur 32 bits
      .w = valeur 16 bits
      .b = valeur 8 bits
      On pourrait même mettre : “Move.l $4.b, a6”, théoriquement ça devrait fonctionner (enfin, j’ai jamais vérifié).

      Donc dans cet exemple : “move.l $4.w, a6”, on se sert d’une adresse mémoire ( $4 ) codée sur 16 bits et, on lit 32 bits de donnée ( le .l) à cette adresse, que l’on place dans a6 (registre 32 bits, modifié entièrement car .l choisi comme move)

       

      bombseb

        #213650

        Move.l $4.b, a6 -> c’est pas possible (en tout cas ça ne compile pas avec ASMOne)

        Sodapop

          #213651

          … ni avec Devpac !
          Seul les modes absolus court (.w) et absolus long (.l) sont autorisés…

          A500 (1.3 / 2.0 / ACA500+) - A2000 - A1200

          AmiDARK

            #213681

            Oki 🙂 Au moins je le saurais.
            Cela dit, cela ne change rien à ce que j’ai énoncé concernant l’optimisation.  :p

            Sodapop

              #213683

              Oui, mais bon… se triturer les neurones juste pour récupérer le pointeur d’EXEC… 😉
              Question optimisation, il vaut mieux se pencher sur le remplacement des MUL par des LSL… même si l’un n’empêche pas l’autre c’est vrai !

              A500 (1.3 / 2.0 / ACA500+) - A2000 - A1200

            5 sujets de 46 à 50 (sur un total de 50)

            • Vous devez être connecté pour répondre à ce sujet.

            Forums AmigaOS, MorphOS et AROS Développement Questions ASM

            Amiga Impact