1
Console homebrew / Re: arm7 asm
« on: June 13, 2007 »I bet the intel instruction is actually longer than the 2 or 3 arm ones (I think mov is a pseudo-op that is really 2 instructions). The reason you can't do it in 1 instruction in ARM is because all the instructions are only 32bits wide (RISC) so it's impossible to encode the 32bit offset in a single instruction.
Jim
That's not entirely true, You can do stuff like: mov r1, #0x40000000 perfectly fine in ARM. When the assembler encodes the instructions to the 32bit words, some operands are stored as (operand / 4). Offcourse this doesnt work for odd (number not divideable by 4) operands, where it has to store it in it's entirety. (I think it uses some bit in the opcode to let the CPU know the operand is divided by four or not, not 100% sure about this.)
PS. this was my first post! \o/