Cygwinを使用してWindowsでTARGETとして 'powerpc-eabi'のbullet gccクロスコンパイラ/アセンブラ/リンカを使用しました。組み立てるとき、私は....PPCアセンブラを使用すると "エラー:オペランドが範囲外です"
code/sfiles/init_evh.s: Assembler messages:
code/sfiles/init_evh.s:381: Error: operand out of range (0x0000fffd is not between 0xffff8000 and 0x00007fff)
を次のエラーを取得しています。しかし、その行番号で、次の命令があります:
addi r2,0,0xFFFD
私は組み立てにfollwingコマンドを使用しています:
をc:/cygwin/home/cdot/powerpc/bin/powerpc-eabi-as -mbig-endian -m603 -mregnames --
defsym _NDI_=1 --defsym _DBGR_ON_=1 --defsym DEBUG=1 --defsym _PARAM_DEBUG_=1 --
defsym _NIU_=1 -gdwarf-2 -I code/hfiles -o build/niu_ndi_dbgr_init_evh.o code/sf
iles/init_evh.s 2>build/niu_ndi_dbgr_init_evh.err
上記のエラーが表示される理由を知りたいと思います。
この方向でお手伝いしてください。
命令を記述しましたか、コンパイラによって生成されましたか?もしあなたがそれを書いたならば、単純にそれを変更するべきです(エラーメッセージから推測して、0xfffffffdを受け入れて下位の2バイトを取ると思います)。コンパイラによって生成された場合はバグであり、 gccのバグトラッカーに –