ansi2str | ||||
· Operation | Convert ansi char * to string
| |||
· Format |
| |||
· Direct Format |
| |||
· Forms | ansi2str = 255, 62 (0xFF, 0x3E) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type ptr . This pointer is interpreted as a
character buffer that uses the platform's current locale
settings. This buffer is converted into a string result,
which is then pushed onto the stack as type ptr .
| |||
· Notes | This instruction is used to convert character buffers into C# strings during "PInvoke" marshalling operations. |
array2ptr | ||||
· Operation | Convert an array into a pointer to its first element | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | array2ptr = 255, 65 (0xFF, 0x41) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type ptr . If value is not null ,
a pointer to the first element in the array is computed as
result. The result is pushed onto the stack
as type ptr . | |||
· Notes | This instruction is used to convert C# arrays into C pointers during "PInvoke" marshalling operations. |
delegate2fnptr | ||||
· Operation | Convert a delegate into a function pointer | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | delegate2fnptr = 255, 64 (0xFF, 0x40) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type delegate . The value is wrapped in a native
closure to make it suitable for use as a C function pointer.
The wrapped result is pushed onto the stack as type
ptr . | |||
· Notes | This instruction is used to convert C# delegates into C function pointers during "PInvoke" marshalling operations. |
f2d | |||
· Operation | Convert native float to
float64 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | f2d = 131 (0x83) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type native float , truncated to float64 ,
and then converted into a native float result.
The result is pushed onto the stack. |
f2d_aligned | ||||
· Operation | Convert native float to float64 ,
aligned on a stack word boundary | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | f2d_aligned = 255, 58 (0xFF, 0x3A) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type native float . The float64 result
is formed by truncating value to 64 bits. The result
is stored in the top-most stack position so that it is aligned
with the beginning of the stack word. | |||
· Notes | This instruction is used to align a value prior to boxing
it with the box instruction.
The |
f2f | |||
· Operation | Convert native float to
float32 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | f2f = 130 (0x82) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type native float , truncated to float32 ,
and then converted into a native float result.
The result is pushed onto the stack. |
f2f_aligned | ||||
· Operation | Convert native float to float32 ,
aligned on a stack word boundary | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | f2f_aligned = 255, 57 (0xFF, 0x39) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type native float . The float32 result
is formed by truncating value to 32 bits. The result
is stored in the top-most stack position so that it is aligned
with the beginning of the stack word. | |||
· Notes | This instruction is used to align a value prior to boxing
it with the box instruction.
The |
f2i | |||
· Operation | Convert native float to
int32 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | f2i = 126 (0x7E) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type native float , and converted into an int32
result. The result is pushed onto the stack. |
f2i_ovf | ||||
· Operation | Convert native float to int32
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | f2i_ovf = 255, 51 (0xFF, 0x33) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type native float . If value is not representable
as a 32-bit integer, then System.OverflowException
is thrown. Otherwise result is value, converted to
int32 . The result is pushed onto
the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for int32 . |
f2iu | |||
· Operation | Convert native float to
uint32 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | f2iu = 127 (0x7F) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type native float , and converted into an uint32
result. The result is pushed onto the stack. |
f2iu_ovf | ||||
· Operation | Convert native float to uint32
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | f2iu_ovf = 255, 52 (0xFF, 0x34) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type native float . If value is not representable
as an unsigned 32-bit integer, then System.OverflowException
is thrown. Otherwise result is value, converted to
uint32 . The result is pushed onto
the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for uint32 . |
f2l | |||
· Operation | Convert native float to
int64 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | f2l = 128 (0x80) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type native float , and converted into an int64
result. The result is pushed onto the stack. |
f2l_ovf | ||||
· Operation | Convert native float to int64
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | f2l_ovf = 255, 53 (0xFF, 0x35) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type native float . If value is not representable
as a 64-bit integer, then System.OverflowException
is thrown. Otherwise result is value, converted to
int64 . The result is pushed onto
the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for int64 . |
f2lu | |||
· Operation | Convert native float to
uint64 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | f2lu = 129 (0x81) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type native float , and converted into an uint64
result. The result is pushed onto the stack. |
f2lu_ovf | ||||
· Operation | Convert native float to uint64
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | f2lu_ovf = 255, 54 (0xFF, 0x36) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type native float . If value is not representable
as an unsigned 64-bit integer, then System.OverflowException
is thrown. Otherwise result is value, converted to
uint64 . The result is pushed onto
the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for uint64 . |
fix_i4_i | ||||
· Operation | Convert a int32 /native int pair
of values into native int /native int | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | fix_i4_i = 255, 77 (0xFF, 0x4D) | |||
· Stack | ..., value1, value2 => ..., result, value2 | |||
· Description | Both value1 and value2 are popped from
the stack as types int32 and native int
respectively. The native int result is formed
by sign-extending value1. Then, result and value2
are pushed onto the stack. | |||
· Notes | This is typically used to promote CIL I4 values to I when
used with a binary arithmetic operation.
On 32-bit platforms, this instruction will typically do nothing
because the There is no fix_i_i4 instruction because i2l can be used to acheive the same result on 64-bit platforms. |
fix_i4_u | ||||
· Operation | Convert a uint32 /native uint pair of
values into native uint /native uint | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | fix_i4_u = 255, 78 (0xFF, 0x4E) | |||
· Stack | ..., value1, value2 => ..., result, value2 | |||
· Description | Both value1 and value2 are popped from
the stack as types uint32 and native uint
respectively. The native uint result is formed
by zero-extending value1. Then, result and value2
are pushed onto the stack. | |||
· Notes | This is typically used to promote CIL I4 values to U when
used with a binary arithmetic operation.
On 32-bit platforms, this instruction will typically do nothing
because the There is no fix_u_i4 instruction because iu2l can be used to acheive the same result on 64-bit platforms. |
i2b | |||
· Operation | Convert int32 to int8 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | i2b = 115 (0x73) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type int32 . The int32 result
is formed by truncating value to 8 bits and then
sign-extending it to 32 bits. The result is pushed
onto the stack. |
i2b_aligned | |||
· Operation | Convert int32 to int8 , aligned
on a stack word boundary | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | i2b_aligned = 255, 55 (0xFF, 0x37) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type int32 . The int32 result
is formed by truncating value to 8 bits. The result
is stored in the top-most stack position so that it is aligned
with the beginning of the stack word. | ||
· Notes | This instruction is used to align a value prior to boxing it with the box instruction. |
i2b_ovf | ||||
· Operation | Convert int32 to int8
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | i2b_ovf = 255, 34 (0xFF, 0x22) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type int32 . The int32 result
is formed by truncating value to 8 bits and then
sign-extending it to 32 bits. The result is pushed
onto the stack. If result does not have the same numeric
value as value, then System.OverflowException
is thrown. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for int8 . |
i2f | |||
· Operation | Convert int32 to
native float | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | i2f = 121 (0x79) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type int32 , and converted into a native float
result. The result is pushed onto the stack. |
i2iu_ovf | ||||
· Operation | Convert int32 to uint32
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | i2iu_ovf = 255, 42 (0xFF, 0x2A) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type int32 . If value is less than zero,
then System.OverflowException is thrown. Otherwise
result is value. The result is pushed onto
the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for uint32 . |
i2l | |||
· Operation | Convert int32 to int64 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | i2l = 119 (0x77) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type int32 . The int64 result
is formed by sign-extending value to 64 bits.
The result is pushed onto the stack. |
i2p_lower | ||||||||
· Operation | Convert uint32 to ptr
at some point lower down on the stack | |||||||
· Format |
| |||||||
· Direct Format |
| |||||||
· Forms | f2d = 131 (0x83) | |||||||
· Stack | ..., value, val1, ..., valN => ..., result, val1, ..., valN | |||||||
· Description | The value at stack word N positions
down from the top of the stack is converted from uint32
into a ptr result. N == 0 indicates
that value is on the top of the stack. | |||||||
· Notes | This is typically used to convert CIL "I4" values into "I" values for use in unmanaged pointer operations. |
i2s | |||
· Operation | Convert int32 to int16 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | i2s = 117 (0x75) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type int32 . The int32 result
is formed by truncating value to 16 bits and then
sign-extending it to 32 bits. The result is pushed
onto the stack. |
i2s_aligned | ||||
· Operation | Convert int32 to int16 , aligned
on a stack word boundary | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | i2s_aligned = 255, 56 (0xFF, 0x38) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type int32 . The int32 result
is formed by truncating value to 16 bits. The result
is stored in the top-most stack position so that it is aligned
with the beginning of the stack word. | |||
· Notes | This instruction is used to align a value prior to boxing it with the box instruction. |
i2s_ovf | ||||
· Operation | Convert int32 to int16
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | i2s_ovf = 255, 38 (0xFF, 0x26) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type int32 . The int32 result
is formed by truncating value to 16 bits and then
sign-extending it to 32 bits. The result is pushed
onto the stack. If result does not have the same numeric
value as value, then System.OverflowException
is thrown. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for int16 . |
i2ub | |||
· Operation | Convert int32 to uint8 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | i2ub = 116 (0x74) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type int32 . The int32 result
is formed by truncating value to 8 bits and then
zero-extending it to 32 bits. The result is pushed
onto the stack. |
i2ub_ovf | ||||
· Operation | Convert int32 to uint8
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | i2ub_ovf = 255, 35 (0xFF, 0x23) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type int32 . The int32 result
is formed by truncating value to 8 bits and then
zero-extending it to 32 bits. The result is pushed
onto the stack. If result does not have the same numeric
value as value, then System.OverflowException
is thrown. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for uint8 . |
i2ul_ovf | ||||
· Operation | Convert int32 to uint64
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | i2ul_ovf = 255, 44 (0xFF, 0x2C) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type int32 . If value is negative,
then System.OverflowException is thrown. Otherwise
result is value, zero-extended to 64 bits.
The result is pushed onto the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for uint64 . |
i2us | |||
· Operation | Convert int32 to uint16 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | i2us = 118 (0x76) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type int32 . The int32 result
is formed by truncating value to 16 bits and then
zero-extending it to 32 bits. The result is pushed
onto the stack. |
i2us_ovf | ||||
· Operation | Convert int32 to uint16
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | i2us_ovf = 255, 39 (0xFF, 0x27) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type int32 . The int32 result
is formed by truncating value to 16 bits and then
zero-extending it to 32 bits. The result is pushed
onto the stack. If result does not have the same numeric
value as value, then System.OverflowException
is thrown. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for uint16 . |
iu2b_ovf | ||||
· Operation | Convert uint32 to int8
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | iu2b_ovf = 255, 36 (0xFF, 0x24) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type uint32 . If value is greater than 127,
then System.OverflowException is thrown. Otherwise
result is value. The result is pushed onto
the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for int8 . |
iu2f | |||
· Operation | Convert uint32 to
native float | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | iu2f = 122 (0x7A) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type uint32 , and converted into a native float
result. The result is pushed onto the stack. |
iu2i_ovf | ||||
· Operation | Convert uint32 to int32
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | iu2i_ovf = 255, 43 (0xFF, 0x2B) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type uint32 . If value is greater than 2147483647,
then System.OverflowException is thrown. Otherwise
result is value. The result is pushed onto
the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for int32 . |
iu2l | |||
· Operation | Convert uint32 to int64 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | iu2l = 120 (0x78) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type uint32 . The int64 result
is formed by zero-extending value to 64 bits.
The result is pushed onto the stack. |
iu2s_ovf | ||||
· Operation | Convert uint32 to int16
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | iu2s_ovf = 255, 40 (0xFF, 0x28) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type uint32 . If value is greater than 32767,
then System.OverflowException is thrown. Otherwise
result is value. The result is pushed onto
the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for int16 . |
iu2ub_ovf | ||||
· Operation | Convert uint32 to uint8
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | iu2ub_ovf = 255, 37 (0xFF, 0x25) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type uint32 . If value is greater than 255,
then System.OverflowException is thrown. Otherwise
result is value. The result is pushed onto
the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for uint8 . |
iu2us_ovf | ||||
· Operation | Convert uint32 to uint16
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | iu2us_ovf = 255, 41 (0xFF, 0x29) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type uint32 . If value is greater than 65535,
then System.OverflowException is thrown. Otherwise
result is value. The result is pushed onto
the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for uint16 . |
l2f | |||
· Operation | Convert int64 to
native float | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | l2f = 124 (0x7C) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type int64 , and converted into a native float
result. The result is pushed onto the stack. | ||
· Notes | The precision of the native float type is
platform-dependent. On some platforms, it may be sufficient to
represent all int64 values, and on other platforms it
may round large values. Programs should not rely upon precise
conversions from int64 to native float . |
l2i | |||
· Operation | Convert int64 to int32 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | l2i = 123 (0x7B) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type int64 . The int32 result
is formed by truncating value to 32 bits.
The result is pushed onto the stack. |
l2i_ovf | ||||
· Operation | Convert int64 to int32
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | l2i_ovf = 255, 45 (0xFF, 0x2D) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type int64 . If value is less than -2147483648,
or greater than 2147483647, then System.OverflowException
is thrown. Otherwise result is value, truncated
to 32 bits. The result is pushed onto the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for int32 . |
l2ui_ovf | ||||
· Operation | Convert int64 to uint32
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | l2ui_ovf = 255, 46 (0xFF, 0x2E) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type int64 . If value is less than zero or
greater than 4294967295, then System.OverflowException
is thrown. Otherwise result is value, truncated
to 32 bits. The result is pushed onto the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for uint32 . |
l2ul_ovf | ||||
· Operation | Convert int64 to uint64
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | l2ul_ovf = 255, 49 (0xFF, 0x31) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type int64 . If value is less than zero,
then System.OverflowException is thrown.
Otherwise result is value. The result
is pushed onto the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for uint64 . |
lu2f | |||
· Operation | Convert uint64 to
native float | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | lu2f = 125 (0x7D) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type uint64 , and converted into a native float
result. The result is pushed onto the stack. | ||
· Notes | The precision of the native float type is
platform-dependent. On some platforms, it may be sufficient to
represent all uint64 values, and on other platforms it
may round large values. Programs should not rely upon precise
conversions from uint64 to native float . |
lu2i_ovf | ||||
· Operation | Convert uint64 to int32
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | lu2i_ovf = 255, 47 (0xFF, 0x2F) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type uint64 . If value is greater than
2147483647, then System.OverflowException
is thrown. Otherwise result is value, truncated
to 32 bits. The result is pushed onto the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for int32 . |
lu2iu_ovf | ||||
· Operation | Convert uint64 to uint32
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | lu2iu_ovf = 255, 48 (0xFF, 0x30) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type uint64 . If value is greater than
4294967295, then System.OverflowException
is thrown. Otherwise result is value, truncated
to 32 bits. The result is pushed onto the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for uint32 . |
lu2l_ovf | ||||
· Operation | Convert uint64 to int64
with overflow detection | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | lu2l_ovf = 255, 50 (0xFF, 0x32) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type uint64 . If value is greater than
9223372036854775807, then System.OverflowException
is thrown. Otherwise result is value. The result
is pushed onto the stack. | |||
· Exceptions | System.OverflowException -- Raised if value
is out of range for int64 . |
refarray2ansi | ||||
· Operation | Convert a reference to an array of strings into
a pointer to an array of ansi char *
values | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | refarray2ansi = 255, 66 (0xFF, 0x42) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type ptr . The String[] object at
the address value is retrieved. It is converted into
a NULL-terminated C array of the same size, with all of the
strings converted into the ANSI character encoding. Then
a pointer to this array's reference is pushed as result.
| |||
· Notes | This instruction is used to marshal parameters of type
ref String[] "PInvoke" marshalling operations.
It is primarily intended for use with Gtk#. |
refarray2utf8 | ||||
· Operation | Convert a reference to an array of strings into
a pointer to an array of utf8 char *
values | |||
· Format |
| |||
· Direct Format |
| |||
· Forms | refarray2utf8 = 255, 67 (0xFF, 0x43) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type ptr . The String[] object at
the address value is retrieved. It is converted into
a NULL-terminated C array of the same size, with all of the
strings converted into the UTF-8 character encoding. Then
a pointer to this array's reference is pushed as result.
| |||
· Notes | This instruction is used to marshal parameters of type
ref String[] "PInvoke" marshalling operations.
It is primarily intended for use with Gtk#. |
str2ansi | ||||
· Operation | Convert string to ansi char *
| |||
· Format |
| |||
· Direct Format |
| |||
· Forms | str2ansi = 255, 60 (0xFF, 0x3C) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type string . The string is converted into a
result character buffer using the underlying platform's
current locale settings. A pointer to the buffer is pushed onto
the stack as type ptr . | |||
· Notes | This instruction is used to convert C# strings into character buffers during "PInvoke" marshalling operations. |
str2utf8 | ||||
· Operation | Convert string to utf8 char *
| |||
· Format |
| |||
· Direct Format |
| |||
· Forms | str2utf8 = 255, 61 (0xFF, 0x3D) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type string . The string is converted into a
result character buffer using the UTF-8 encoding.
A pointer to the buffer is pushed onto the stack as type
ptr . | |||
· Notes | This instruction is used to convert C# strings into character buffers during "PInvoke" marshalling operations. |
utf82str | ||||
· Operation | Convert utf8 char * to string
| |||
· Format |
| |||
· Direct Format |
| |||
· Forms | utf82str = 255, 63 (0xFF, 0x3F) | |||
· Stack | ..., value => ..., result | |||
· Description | The value is popped from the stack as
type string . The string is converted into a
result. character buffer using the UTF-8 encoding.
A pointer to the buffer is pushed onto the stack as type
ptr . | |||
· Notes | This instruction is used to convert C# strings into character buffers during "PInvoke" marshalling operations. |
Copyright © Southern
Storm Software Pty Ltd 2002
Licensed under GNU FDL