Question

J'utilise libmpeg2 pour montrer la vidéo dans mon projet pocket pc. Dernière version de cette lib a accélération pour le processeur ARM, certaines des fonctions sont réécrites ensemble dans le bras (dans motion_comp_arm_s.S de fichiers distincts). Le problème est armasm à partir de Visual Studio 9 cant compiler, produire beaucoup d'erreurs. Ma question est, quel bras assemblage compilateur est approprié pour un tel code?    


    .text

@ ---------------------------------------------------------------- .align .global MC_put_o_16_arm MC_put_o_16_arm: @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) pld [r1] stmfd sp!, {r4-r11, lr} @ R14 is also called LR and r4, r1, #3 adr r5, MC_put_o_16_arm_align_jt add r5, r5, r4, lsl #2 ldr pc, [r5]

...

Merci pour toute aide

Était-ce utile?

La solution

C'est la syntaxe utilisée par le GNU assembleur . Le code lui-même devrait être (plus ou moins) le même pour toute l'assembleur; pour faire de cette construction avec l'assembleur Microsoft, les principaux changements sont les suivants:

  • Modifier les caractères @ (dénotant commentaires) à ;
  • Modifier les directives (les mots commençant par .) documenté ici à leurs équivalents Microsoft, documenté ici . Par exemple .text devient CODE.

Cela devrait corriger la plupart des erreurs.

Autres conseils

Utiliser le compilateur ARM DRV
Syntaxe d'un exemple de code va comme ceci

      AREA     ARMex, CODE, READONLY
      ENTRY
START
      MOV R0,#1
      MOV R1,#2
      ADD R0,R0,R1
      END

Enregistrez le code test.s
commande pour compiler et générer le fichier d'objet est

armasm --arm test -o test.s
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top