
David Updegraff wrote:
Hi.
Attempting to enable&use watchdog in 8343; but run into Assembler (v.2.15) problem in cpu/mpc83xx/start.S:424 .... /* and reset it */ li r4, 0x556C sth r4, SWSRR@l(r3) li r4, 0xAA39 <-------- gas barks here, 0xAA39 > 0x8000 sth r4, SWSRR@l(r3)
which I do not understand, since I thought 'li' was an UNsigned 16bit load. I can work around it in a kludgey way with.
lis r4, 0 ori r4, r4, 0xAA39 sth r4, SWSRR@l(r3)
but wonder if one you PowerPC assembler gurus could offer better suggestion.
Thanx.
-dbu.
"li" is a simplified mnemonic which is actually "addi" (which sign-extends the immediate value) according to the "PowerPC Microprocessor Family: The Programming Environments" Appendix F (p. F-15).
Why gas barks, I'm not quite sure. Probably because it suspects you wanted it unsigned (which actually is the case - I hate it when tools are smarter than me).
gvb