Difference between revisions of "Instruction set: CIL"
From ScienceZero
(New page: {| class="wikitable" |- ! Field !! Description |- | <> || Optional |- |<nowiki> (x|y)</nowiki> || Either x or y but not both |- | #exp || Constant expression or label |- | Rn || one of R0...) |
|||
Line 1: | Line 1: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! | + | ! Name !! Description |
|- | |- | ||
− | | | + | |Add || Adds two values and pushes the result onto the evaluation stack. |
|- | |- | ||
− | | | + | |Add.Ovf || Adds two integers, performs an overflow check, and pushes the result onto the evaluation stack. |
|- | |- | ||
− | | | + | |Add.Ovf.Un || Adds two unsigned integer values, performs an overflow check, and pushes the result onto the evaluation stack. |
|- | |- | ||
− | | | + | |Div || Divides two values and pushes the result as a floating-point (type F) or quotient (type int32) onto the evaluation stack. |
|- | |- | ||
− | | | + | |Div.Un || Divides two unsigned integer values and pushes the result (int32) onto the evaluation stack. |
|- | |- | ||
− | | | + | |Mul || Multiplies two values and pushes the result on the evaluation stack. |
+ | |- | ||
+ | |Mul.Ovf || Multiplies two integer values, performs an overflow check, and pushes the result onto the evaluation stack. | ||
+ | |- | ||
+ | |Mul.Ovf.Un || Multiplies two unsigned integer values, performs an overflow check, and pushes the result onto the evaluation stack. | ||
+ | |- | ||
+ | |Neg || Negates a value and pushes the result onto the evaluation stack. | ||
+ | |- | ||
+ | |Rem || Divides two values and pushes the remainder onto the evaluation stack. | ||
+ | |- | ||
+ | |Rem.Un || Divides two unsigned values and pushes the remainder onto the evaluation stack. | ||
+ | |- | ||
+ | |Sub || Subtracts one value from another and pushes the result onto the evaluation stack. | ||
+ | |- | ||
+ | |Sub.Ovf || Subtracts one integer value from another, performs an overflow check, and pushes the result onto the evaluation stack. | ||
+ | |- | ||
+ | |Sub.Ovf.Un || Subtracts one unsigned integer value from another, performs an overflow check, and pushes the result onto the evaluation stack. | ||
|} | |} |
Revision as of 02:51, 9 October 2007
Name | Description |
---|---|
Add | Adds two values and pushes the result onto the evaluation stack. |
Add.Ovf | Adds two integers, performs an overflow check, and pushes the result onto the evaluation stack. |
Add.Ovf.Un | Adds two unsigned integer values, performs an overflow check, and pushes the result onto the evaluation stack. |
Div | Divides two values and pushes the result as a floating-point (type F) or quotient (type int32) onto the evaluation stack. |
Div.Un | Divides two unsigned integer values and pushes the result (int32) onto the evaluation stack. |
Mul | Multiplies two values and pushes the result on the evaluation stack. |
Mul.Ovf | Multiplies two integer values, performs an overflow check, and pushes the result onto the evaluation stack. |
Mul.Ovf.Un | Multiplies two unsigned integer values, performs an overflow check, and pushes the result onto the evaluation stack. |
Neg | Negates a value and pushes the result onto the evaluation stack. |
Rem | Divides two values and pushes the remainder onto the evaluation stack. |
Rem.Un | Divides two unsigned values and pushes the remainder onto the evaluation stack. |
Sub | Subtracts one value from another and pushes the result onto the evaluation stack. |
Sub.Ovf | Subtracts one integer value from another, performs an overflow check, and pushes the result onto the evaluation stack. |
Sub.Ovf.Un | Subtracts one unsigned integer value from another, performs an overflow check, and pushes the result onto the evaluation stack. |