私はcygwinを使用してWindowsでTARGETとして 'powerpc-eabi'を持つbulit gccクロスコンパイラを持っています。 follwingコードlis r4, %hi(IMMR_OFFSET)
を組み立てる際gccクロスアセンブラ問題
、私は次の
エラーを得ていました。
init/code/sfiles/init_core.s:141: Error: bad expression
init/code/sfiles/init_core.s:141: Error: syntax error; found `h', expected `,'
init/code/sfiles/init_core.s:141: Error: junk at end of line: `hi(IMMR_OFFSET)'
上記のようなlis命令ごとに上記のエラーが表示される理由を知りたいと思います。
この方向でお手伝いしてください。
IMMR_OFFSETの値は以下のように別の.h file
で定義されている....
.equ IMMR_OFFSET, 0xF0010000
私は組み立てにfollwingコマンドを使用しています....
c:/cygwin/home/cdot/powerpc/bin/powerpc-eabi-as -mbig-endian -g --defsym _NDI_=1
--defsym _DBGR_ON_=1 --defsym DEBUG=1 --defsym _PARAM_DEBUG_=1 --defsym _NIU_=1
-gdwarf-2 -I init/code/hfiles -o init/build/niu_ndi_dbgr_init_core.o init/code/
sfiles/init_core.s 2>init/build/niu_ndi_dbgr_init_core.err
私は解決策を手助けすることはできませんが、IMMR_OFFSETはあなたの問題に関係していないことに注意してください。コンパイラは、 'lis r4、%'の後にカンマが必要だと言います...言い換えれば、 '%hi(...)'がこの文脈で何を意味するのかを理解していません。 –