Unfähig Armbaugruppe Datei mit armasm zu kompilieren
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
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