J'ai bulit gcc croisé compilateur/assembleur/éditeur de liens avec 'powerpc-eabi' comme CIBLE dans Windows en utilisant cygwin. Lors du montage, je reçois l'erreur suivante ...."Erreur: opérande hors limites" lors de l'utilisation de l'assembleur 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)
Mais, dans ce numéro de ligne, l'instruction suivante est là:
addi r2,0,0xFFFD
J'utilise la commande follwing pour le montage:
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
Je voudrais savoir pourquoi l'erreur ci-dessus apparaît.
S'il vous plaît aider dans cette direction.
Avez-vous écrit l'instruction ou a-t-elle été générée par le compilateur? Parce que si vous l'écrivez, vous devriez simplement le changer (deviner à partir du message d'erreur je suppose qu'il acceptera 0xfffffffd et prendre les deux octets inférieurs de toute façon) alors que s'il était généré par le compilateur, ce serait un bug et vous devriez le signaler à gcc bug tracker. –