ARM Overview: Difference between revisions

Jump to navigation Jump to search
[unchecked revision][unchecked revision]
Content deleted Content added
No edit summary
m Fix a few typos
Line 124: Line 124:
|}
|}


Each mode shares some registers with other modes. Normally registers are specified in ARM instructions they use 4 bits. Which can represent 16 registers. As you can see there are exactly 16 registers which you can reference using instructions in each mode. The memonic names are specified
Each mode shares some registers with other modes. Normally registers are specified in ARM instructions they use 4 bits. Which can represent 16 registers. As you can see there are exactly 16 registers which you can reference using instructions in each mode. The mnemonic names are specified
across the top header as R0 through R15. An alias to R13, R14, and R15 is
across the top header as R0 through R15. An alias to R13, R14, and R15 is
specified in parathesis which is SP, LR, and PC. So using the memonic R15
specified in parenthesis which is SP, LR, and PC. So using the mnemonic R15
is the same as using the memonic PC, but keep in mind that this is only relavent to the assembler/compiler. The ARM processor only understands the value given using 4 bits in most instructions. The exactly value represented
is the same as using the mnemonic PC, but keep in mind that this is only relevant to the assembler/compiler. The ARM processor only understands the value given using 4 bits in most instructions. The exactly value represented
using these 4 bits for each memonic can be gained by simply removing the prefixed letter R. So that R5 is represented by 4 bits as 0101, R6 as 0110, and R7 as 0111. The denotation which postfix ''IRQ'', ''UNDEF'', ''ABT'', ''SVC'', and ''FIQ'' is simply for display relevant only to this table and are not considered valid with any assembler/compiler for example ''R13ABT'', ''R13IRQ'', ''R13UNDEF'', ''R13SVC'', and ''R13FIQ'' all simply show that
using these 4 bits for each mnemonic can be gained by simply removing the prefixed letter R. So that R5 is represented by 4 bits as 0101, R6 as 0110, and R7 as 0111. The denotation which postfix ''IRQ'', ''UNDEF'', ''ABT'', ''SVC'', and ''FIQ'' is simply for display relevant only to this table and are not considered valid with any assembler/compiler for example ''R13ABT'', ''R13IRQ'', ''R13UNDEF'', ''R13SVC'', and ''R13FIQ'' all simply show that
internally the processor maps R13 (SP) to a different address in it's register file. And, all can be represented by the value 0xD in hexadecimal or 1101 in binary.
internally the processor maps R13 (SP) to a different address in it's register file. And, all can be represented by the value 0xD in hexadecimal or 1101 in binary.


Line 200: Line 200:
{| class="wikitable"
{| class="wikitable"
|-
|-
! Mnemonic
! Memonic
! Binary
! Binary
! Description
! Description