From WikiChip
Editing immediate value
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
This page supports semantic in-text annotations (e.g. "[[Is specified as::World Heritage Site]]") to build structured and queryable content provided by Semantic MediaWiki. For a comprehensive description on how to use annotations or the #ask parser function, please have a look at the getting started, in-text annotation, or inline queries help pages.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | + | An '''immediate value''' (or simply an '''immediate''' or '''imm''') is a piece of data that is stored as part of the instruction itself instead of being in a [[memory]] location or a [[register]]. Immediate values are typically used in instructions that [[Load/Store instruction|load]] a value or performs an [[arithmetic instruction|arithmetic]] or a [[logic instruction|logical]] operation on a constant. | |
− | An '''immediate value''' (or simply an '''immediate''' or '''imm''') is a piece of data that is stored as part of the instruction itself instead of being in a [[memory]] location or a [[register]]. Immediate values are typically used in instructions that [[Load/Store instruction|load]] a value or performs an [[arithmetic instruction|arithmetic]] or a [[logic instruction|logical]] operation on a | ||
== Overview == | == Overview == | ||
Line 9: | Line 8: | ||
The instruction set may also support the common case of adding a constant value (such as in the case of many programming languages that support [[pre-increment operator|++var]]). | The instruction set may also support the common case of adding a constant value (such as in the case of many programming languages that support [[pre-increment operator|++var]]). | ||
− | <pre> | + | <pre>add r1, r1, 1 ; r1 = r1 + 1</pre> |
In the code above, the value <code>1</code> is an immediate value that gets encoded in the <code>add</code> instruction itself. | In the code above, the value <code>1</code> is an immediate value that gets encoded in the <code>add</code> instruction itself. | ||
== Implementation restrictions == | == Implementation restrictions == | ||
− | + | Because the immediate value is packed into the instruction itself certain [[ISA]]s have a restricted range of values that can be used as an immediate value. For example in [[MIPS32]], an immediate value is limited to 16-bits. On some more complex architectures such as [[ARM]], some instructions may accept a 16-bit value, others might accepted a smaller range with a the ability to rate the bits as desired. | |
− | Because the immediate value is packed into the instruction itself certain [[ISA]]s have a restricted range of values that can be used as an immediate value. For example in [[MIPS32]], an immediate value is limited to 16-bits. On some more complex architectures such as [[ARM]], some instructions may accept a 16-bit value, others might accepted a smaller range with a the ability to | ||
− | |||
− | |||
[[Category:microprocessor architecture]] | [[Category:microprocessor architecture]] | ||
[[Category:Instruction set architecture]] | [[Category:Instruction set architecture]] |