abs_i4 | ||||
· Operation | Compute the absolute value of an int | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | abs_i4 = 255, 109 (0xFF, 0x6D) | |||
· Stack | ..., db => ..., result |
abs_r4 | ||||
· Operation | Compute the absolute value of a float | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | abs_r4 = 255, 110 (0xFF, 0x6E) | |||
· Stack | ..., db => ..., result |
abs_r8 | ||||
· Operation | Compute the absolute value of a double | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | abs_r8 = 255, 111 (0xFF, 0x6F) | |||
· Stack | ..., db => ..., result |
append_char | |||||
· Operation | Append a character to a string builder | ||||
· Format |
| ||||
· Direct Format |
| ||||
· Forms | append_char = 255, 87 (0xFF, 0x57) | ||||
· Stack | ..., builder, ch => ..., builder | ||||
· Description | The builder and ch are popped from the
stack as the types ptr and int32 respectively.
The character ch is appended to the end of the string builder
indicated by builder. The builder is then pushed
back onto the stack. | ||||
· Notes | This instruction is used to inline calls to the
StringBuilder.Append(char) method. The method
argument must be a pointer to this method, because the interpreter
will "bail out" to the C# class library if the append is too
difficult to perform (e.g. the string must be reallocated). | ||||
· Exceptions | System.NullReferenceException -- Raised if
builder is null . |
asin | ||||
· Operation | Compute the angle whose sine is the specified number | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | asin = 255, 112 (0xFF, 0x70) | |||
· Stack | ..., number => ..., result |
atan | ||||
· Operation | Compute the angle whose tangent is the specified number | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | atan = 255, 113 (0xFF, 0x71) | |||
· Stack | ..., number => ..., result |
atan2 | ||||
· Operation | Compute the angle whose tangent is quotient of the two specified numbers | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | atan2 = 255, 113 (0xFF, 0x71) | |||
· Stack | ..., number1, number2 => ..., result |
ceiling | ||||
· Operation | Returns the smallest whole number greater than or equal to the specified number | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | ceiling = 255, 115 (0xFF, 0x73) | |||
· Stack | ..., number => ..., result |
cos | ||||
· Operation | Compute the cosine of the specified angle | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | cos = 255, 116 (0xFF, 0x74) | |||
· Stack | ..., angle => ..., result |
cosh | ||||
· Operation | Returns the hyperbolic cosine of the specified angle | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | cosh = 255, 117 (0xFF, 0x75) | |||
· Stack | ..., number => ..., result |
exp | ||||
· Operation | Computes e raised to the specified power | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | exp = 255, 118 (0xFF, 0x76) | |||
· Stack | ..., power => ..., result |
floor | ||||
· Operation | Computes the largest whole number less than or equal to the specified number | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | floor = 255, 119 (0xFF, 0x77) | |||
· Stack | ..., number => ..., result |
ieeeremainder | ||||
· Operation | Computes the remainder resulting from the division of a specified number by another specified number. | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | ieeeremainder = 255, 120 (0xFF, 0x78) | |||
· Stack | ..., number1, number2 => ..., result |
is_white_space | ||||
· Operation | Determine if a character is white space | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | is_white_space = 255, 88 (0xFF, 0x58) | |||
· Stack | ..., ch => ..., result | |||
· Description | The ch is popped from the stack as the
type int32 . If it is a white space character,
then the int32 result 1 is pushed onto
the stack; otherwise 0 is pushed. | |||
· Notes | This instruction is used to inline calls to the
Char.IsWhiteSpace(char) method, which is used
heavily in text processing code. |
log | ||||
· Operation | Computes the natural (base e) logarithm of the specified number | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | log = 255, 121 (0xFF, 0x79) | |||
· Stack | ..., number => ..., result |
log10 | ||||
· Operation | Computes the base 10 logarithm of the specified number | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | log10 = 255, 122 (0xFF, 0x7A) | |||
· Stack | ..., number => ..., result |
max_i4 | ||||
· Operation | Compute the maximum of two numbers | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | max_i4 = 255, 124 (0xFF, 0x7C) | |||
· Stack | ..., int => ..., result |
max_r4 | ||||
· Operation | Compute the maximum of two floats | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | max_r4 = 255, 126 (0xFF, 0x7E) | |||
· Stack | ..., db => ..., result |
max_r8 | ||||
· Operation | Compute the maximum of two doubles | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | max_r8 = 255, 128 (0xFF, 0x80) | |||
· Stack | ..., db => ..., result |
min_i4 | ||||
· Operation | Compute the minimum of two numbers | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | min_i4 = 255, 123 (0xFF, 0x7B) | |||
· Stack | ..., int => ..., result |
min_r4 | ||||
· Operation | Compute the minimum of two numbers | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | min_r4 = 255, 125 (0xFF, 0x7D) | |||
· Stack | ..., db => ..., result |
min_r8 | ||||
· Operation | Compute the minimum of two doubles | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | min_r8 = 255, 127 (0xFF, 0x7F) | |||
· Stack | ..., db => ..., result |
monitor_enter | ||||
· Operation | Enter a monitor on an object | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | monitor_enter = 255, 85 (0xFF, 0x55) | |||
· Stack | ..., object => ... | |||
· Description | The object is popped from the stack as the
type ptr . The current thread is made to enter the
synchronisation monitor on object. Execution continues
once the monitor has been acquired. | |||
· Notes | This instruction is used to inline calls to the
Monitor.Enter(Object) method. |
monitor_exit | ||||
· Operation | Exit a monitor on an object | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | monitor_exit = 255, 86 (0xFF, 0x56) | |||
· Stack | ..., object => ... | |||
· Description | The object is popped from the stack as the
type ptr . The current thread is made to exit the
synchronisation monitor on object. Execution continues
once the monitor has been released. | |||
· Notes | This instruction is used to inline calls to the
Monitor.Exit(Object) method. |
pow | ||||
· Operation | Computes the given number raised to a specific power | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | pow = 255, 129 (0xFF, 0x81) | |||
· Stack | ..., number, power => ..., result |
round | ||||
· Operation | Computes the whole number nearest to the specified number | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | round = 255, 130 (0xFF, 0x82) | |||
· Stack | ..., number => ..., result |
sign_i4 | ||||
· Operation | Compute the sign of an int | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | sign_i4 = 255, 131 (0xFF, 0x83) | |||
· Stack | ..., db => ..., result |
sign_r4 | ||||
· Operation | Compute the sign of a float | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | sign_r4 = 255, 132 (0xFF, 0x84) | |||
· Stack | ..., db => ..., result |
sign_r8 | ||||
· Operation | Compute the sign of a double | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | sign_r8 = 255, 133 (0xFF, 0x85) | |||
· Stack | ..., db => ..., result |
sin | ||||
· Operation | Compute the sine of the specified angle | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | sin = 255, 134 (0xFF, 0x86) | |||
· Stack | ..., angle => ..., result |
sinh | ||||
· Operation | Computes the hyperbolic sine of the specified angle | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | sinh = 255, 135 (0xFF, 0x87) | |||
· Stack | ..., angle => ..., result |
sqrt | ||||
· Operation | Computes the square root of the specified number | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | sqrt = 255, 136 (0xFF, 0x88) | |||
· Stack | ..., number => ..., result |
string_concat_2 | ||||
· Operation | Concatenate two strings | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | string_concat_2 = 255, 78 (0xFF, 0x4E) | |||
· Stack | ..., value1, value2 => ..., result | |||
· Description | Both value1 and value2 are popped
from the stack as type string . The result
is the string that results from concatenating
value1 and value2. The result is pushed
onto the stack. | |||
· Notes | This instruction is used to inline calls to the
String.Concat(String, String) method. |
string_concat_3 | ||||
· Operation | Concatenate three strings | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | string_concat_3 = 255, 79 (0xFF, 0x4F) | |||
· Stack | ..., value1, value2, value3 => ..., result | |||
· Description | The values value1, value2, and value3
are popped from the stack as type string . The result
is the string that results from concatenating
value1, value2, and value3. The result
is pushed onto the stack. | |||
· Notes | This instruction is used to inline calls to the
String.Concat(String, String, String) method. |
string_concat_4 | ||||
· Operation | Concatenate four strings | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | string_concat_4 = 255, 80 (0xFF, 0x50) | |||
· Stack | ..., value1, value2, value3, value4 => ..., result | |||
· Description | The values value1, value2, value3,
and value4 are popped from the stack as type string .
The result is the string that results from
concatenating value1, value2, value3, and
value4. The result is pushed onto the stack. | |||
· Notes | This instruction is used to inline calls to the
String.Concat(String, String, String, String) method. |
string_eq | ||||
· Operation | Test two strings for equality | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | string_eq = 255, 81 (0xFF, 0x51) | |||
· Stack | ..., value1, value2 => ..., result | |||
· Description | Both value1 and value2 are popped
from the stack as type string . The result
is the int32 that results from comparing
value1 and value2: 1 if they are equal, and 0
if they are not equal. The result is pushed
onto the stack. | |||
· Notes | This instruction is used to inline calls to the
String.op_Equality(String, String) method. |
string_get_char | ||||
· Operation | Get a particular character from a string | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | string_get_char = 255, 83 (0xFF, 0x53) | |||
· Stack | ..., value1, value2 => ..., result | |||
· Description | Both value1 and value2 are popped
from the stack as the types string and int32
respectively. The result is the int32 that
results from fetching the character at position value2
within the string value1.
System.IndexOutOfRangeException will be thrown if
value2 is an invalid index. | |||
· Notes | This instruction is used to inline calls to the
String.get_Chars(int) method. | |||
· Exceptions | System.NullReferenceException -- Raised if
value1 is null .System.IndexOutOfRangeException -- Raised if
value2 is not a valid character index for the string
value1. |
string_ne | ||||
· Operation | Test two strings for inequality | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | string_ne = 255, 82 (0xFF, 0x52) | |||
· Stack | ..., value1, value2 => ..., result | |||
· Description | Both value1 and value2 are popped
from the stack as type string . The result
is the int32 that results from comparing
value1 and value2: 1 if they are not equal, and 0
if they are equal. The result is pushed
onto the stack. | |||
· Notes | This instruction is used to inline calls to the
String.op_Inequality(String, String) method. |
tan | ||||
· Operation | Computes the tangent of the specified angle | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | tan = 255, 137 (0xFF, 0x89) | |||
· Stack | ..., angle => ..., result |
tanh | ||||
· Operation | Computes the hyperbolic tangent of the specified angle | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | tanh = 255, 138 (0xFF, 0x8A) | |||
· Stack | ..., angle => ..., result |
type_from_handle | ||||
· Operation | Get a type object from its runtime handle | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | type_from_handle = 255, 84 (0xFF, 0x54) | |||
· Stack | ..., handle => ..., object | |||
· Description | The handle is popped from the stack as the
type ptr . It is interpreted as an instance of
the value type System.RuntimeTypeHandle . The
handle is converted into an object instance
of the reference type System.Type . The object
is pushed onto the stack. | |||
· Notes | This instruction is used to inline calls to the
Type.GetTypeFromHandle(RuntimeTypeHandle) method. |
Copyright © Southern
Storm Software Pty Ltd 2002
Licensed under GNU FDL