Daniel Jacobowitz wrote:
> On Sat, Oct 01, 2005 at 11:27:38AM -0500, Jay Monkman wrote:
> 
>>I'm using a cross assembler for ARM, running on x86, and seeing something 
>>weird.
>>
>>Here's the test program:
>>
>>foo:
>>      mov     r0, #675
>>
...

> 
> You should take another look at the ARM instruction set documentation;
> immediate moves are limited to eight bits _plus a rotate_.
> 

I understand that. I just didn't realize the assembler was outsmarting me. I
assumed the shift had to be explicitly listed in the assembly code. Now that I
look, I don't see any way to explicitly specify the shift.

I had thought the immediate argument could be 12 bits, so I was surprised when
one 12 bit value worked, but another didn't. When I reread the ARM
documentation, and I saw that the operand was limited to 8 bits, I was more
confused.

Thanks for helping un-confuse me.


_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to