> Was ist den der genaue Fehler?
> Bedenke das der Code im delayslot sowohl ausgeführt wird wenn der Sprung
> genommen wird als auch wenn er nicht genommen wird!
Wußte ich nicht, okay. Macht die Sache mit diesen Delay Slots
komplizierter. Aber da der Sprung nicht konditional ist, hier kein
Problem denke ich.
> __bss_end ist ja so im allgemeinen ein 32Bit-Wert, oder? addi hat
> prinzipiell aber nur 16Bit Platz für die Konstante, die oberen 16bit
> kann man per imm-Instruktion laden. Der Assembler hat dazu eine
> Automatik*), dass er das selbst macht, wenn die Zahl zu gross wird.
> Damit steht halt nur das imm im Delayslot und das addi wird gar nicht
> ausgeführt.
> Müsste man eigentlich sehen, wenn man "mb-objdump -d <elf-file>" macht
> und den rohen Assemblercode anschaut.
Wow, vielen Dank Georg. Genau das war wohl das Problem. Muss man auch
erstmal drauf kommen...
Vielen Dank für eure Hilfe