ARM/Instruction format: Difference between revisions
From Rice Wiki
< ARM
(Created page with "Category:Computer Architecture = Src2 = Allows for immediate (a constant with rotation), register (with a static shift amount), or register-shifted register. The immediate is rotated imm8 ROR rot*2, limiting precision but allowing for a greater range of values.") |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:Computer Architecture]] | [[Category:Computer Architecture]] | ||
The ARM instruction format is split into three types of instructions: | |||
* [[ARM/Data-processing instruction]] | |||
* [[ARM/Memory instruction]] | |||
* [[ARM/Branch instruction]] | |||
This page will go through the instruction format of each type. | |||
= Data-processing instruction format = | |||
Data-processing instructions take in the following operands | |||
* '''Rn:''' the first source register | |||
* '''Src2:''' the second source, which may be register or [[ARM/immediate|immediate]] | |||
* '''Rd:''' destination register | |||
and the following is used to control the instruction | |||
* '''cond:''' specifies [[ARM/conditional execution|conditional execution]] | |||
* '''op:''' the opcode, which is 0b00 for data processing instructions | |||
* '''funct:''' the function to perform | |||
= Src2 = | = Src2 = |
Revision as of 19:22, 28 May 2024
The ARM instruction format is split into three types of instructions:
This page will go through the instruction format of each type.
Data-processing instruction format
Data-processing instructions take in the following operands
- Rn: the first source register
- Src2: the second source, which may be register or immediate
- Rd: destination register
and the following is used to control the instruction
- cond: specifies conditional execution
- op: the opcode, which is 0b00 for data processing instructions
- funct: the function to perform
Src2
Allows for immediate (a constant with rotation), register (with a static shift amount), or register-shifted register.
The immediate is rotated imm8 ROR rot*2, limiting precision but allowing for a greater range of values.