【发布时间】:2011-06-27 08:40:47
【问题描述】:
我使用 cygwin 在 Windows 中使用 'powerpc-eabi' 作为 TARGET 构建 gcc 交叉编译器/汇编器/链接器。组装时出现以下错误....
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
我正在使用以下命令进行组装:
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 并取低两个字节),而如果它是由编译器生成的,那将是一个错误,你应该报告它到 gcc 错误跟踪器。
标签: gcc assembly inline-assembly powerpc