Dealing with 32-bit literals
Here, you will learn how the ARM uses a 32-bit instruction to load a 32-bit literal. A literal can’t be combined with an op-code as we have done in the simulators. We will demonstrate how the ARM uses several techniques to use a 32-bit instruction to access a 32-bit literal.
The ARM has 32-bit data words and instructions. You can’t load a 32-bit literal into an ARM register in one instruction because you can’t specify both the operation and the data in one instruction. CISC processors chain two or more instructions together; for example, a 16-bit machine might take 2 instruction words to create a 32-bit instruction containing a 16-bit operation and a 16-bit literal. Some processors load a 16-bit literal (load high) with one instruction and then load a second 16-bit literal (load low) with a second instruction. The computer then concatenates the high and low halfword 16-bit values into a 32-bit literal.
The ARM has two pseudo-instructions...