On Saturday 27 August 2005 00:46, y4krys wrote: > What is the mode your compiler is set to? In THUMB mode all data > must be 16 bits long. ARM can add shifts to load some 32-bit values > to registers, but not always. There is an often-spouted fallacy that Thumb mode is like x86 16-bit mode with 16-bit data/registers. This is not so. Thumb is only a 16-bit encoding of a subset of the the ARM instructions. The Thumb instructions are effectively decoded in hardware (no overhead) to generate an underlying ARM instruction. Thumb instructions still process data as 32-bit entities using 32-bit registers, using 32-bit literal pools etc. The only difference as far as data handling is concerned is that Thumb has a reduced number of bits, so the values handled by mov immediate instructions is limited.
Message
Re: [lpc2000] Re: Beginner questions ---> Thumb != 16-bit data!
2005-08-26 by Charles Manning