__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 では動作しないようです。
アセンブリコードで試したのはこれが初めてです。