1
__asm__(".data\n\t"
        "msg:\n\t"
        ".string \"Hello, world!\\n\"\n\t"
        "len = . - msg\n\t"   
        ".text \n\t"               
        "li      0,4\n\t"
        "li      3,1\n\t"
        "lis     4,msg@ha\n\t"
        "addi    4,4,msg@l\n\t"
        "li      5,len\n\t"
        "sc           \n\t"
  ----> "li      0,1\n\t" 
        "li      3,1\n\t"
        "sc"       
        :
        :
        : "cr0","cr3","cr1","cr5","memory"
       );

Hello World! を印刷しようとしています。上記のコードで。しかし、このコードでは、「sc」の後の命令、つまり「---->」でマークされた行で例外が発生します。これは、vxWorks-5.4 のプロセッサ MPC 8280 (PowerPC) で実行しようとしています。いくつかのドキュメントを参照してください。インターネットで見つけて、scが例外であることを知りました。この仕事を達成するために何ができるか教えてください。確認のためだけに、x86 の類似のコードは int 0x80 で完全に動作し、sc のジョブを実行してシステム コールをトリガーしますが、何らかの理由で PPC では動作しないようです。

アセンブリコードで試したのはこれが初めてです。

4

0 に答える 0