質問

Pocket PCプロジェクトにビデオを表示するためにLibMPEG2を使用しています。このLIBの最後のリリースには、アームプロセッサの加速があり、一部の機能はアームアセンブリ(別々のファイルMotion_comp_arm_s.s)で書き換えられます。問題は、Visual Studio 9のArmasmがそれをコンパイルし、多くのエラーを生成することです。私の質問は、どのアームアセンブリコンパイラがそのようなコードに適しているのかということです。


    .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はLRおよびR4、R1、#3 ADR R5、MC_PUT_O_16_ARM_ALIGN_JT R5、R5、R4、LSL#2 LDR PC、[R5]とも呼ばれます。

...

助けてくれてありがとう

役に立ちましたか?

解決

それは、によって使用される構文です GNUアセンブラー. 。コード自体は(多かれ少なかれ)アセンブラーで同じでなければなりません。 Microsoftアセンブラーでこれをビルドするために、主な変更は次のとおりです。

  • 変更 @ 文字(コメントを表す)へ ;
  • ディレクティブを変更します(最初の単語 .)文書化 ここ マイクロソフトの同等物に、文書化されています ここ. 。例えば .text なります CODE.

これにより、ほとんどのエラーが修正されるはずです。

他のヒント

ARM RVDSコンパイラを使用します
サンプルコードの構文は次のようになります

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

テストとしてコードを保存します
オブジェクトファイルをコンパイルして生成するコマンドはです

armasm --arm test -o test.s
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top