Frage

Ich verwende libmpeg2 für Video in meinem Pocket PC-Projekt zeigt. Letzte Freigabe dieser lib hat Beschleunigung für ARM-Prozessor, wird in Arm ein Teil der Funktionen neu geschrieben Baugruppe (in separater Datei motion_comp_arm_s.S). Das Problem ist armasm von Visual Studio 9 kann es nicht kompilieren, viele Fehler zu erzeugen. Meine Frage ist, die Armbaugruppe Compiler ist geeignet für einen solchen 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]

...

Vielen Dank für jede Hilfe

War es hilfreich?

Lösung

Das ist die verwendete Syntax durch die GNU Assembler . Der Code selbst soll (mehr oder weniger) das gleiche für jeden Assembler; Diese Build mit dem Microsoft-Assembler zu machen, werden die wichtigsten Veränderungen:

  • Ändern Sie die @ Zeichen (die Kommentare bezeichnen) zu ;
  • Ändern Sie die Richtlinien (die Wörter mit . Anfang) dokumentiert hier zu ihren Microsoft-Äquivalenten, dokumentiert hier . Zum Beispiel wird .text CODE.

Dies sollte die meisten Fehler beheben.

Andere Tipps

Verwenden ARM RVDS Compiler
Syntax eines Beispielcode geht so

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

Speichern Sie den Code als test.s
Befehl zu kompilieren und Objektdatei zu erzeugen, ist

armasm --arm test -o test.s
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top