|
iand | |||
· Operation | Bitwise AND int32 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | iand = 101 (0x65) | ||
· Stack | ..., value1, value2 => ..., result | ||
· Description | Both value1 and value2
are popped from the stack as type int32 . The
int32 result is value1 & value2.
The result is pushed onto the stack. | ||
· Notes | The iand instruction can also be used to AND
values of type uint32 . |
inot | |||
· Operation | Bitwise NOT int32 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | inot = 104 (0x68) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type int32 . The int32 result
is ~value. The result is pushed onto the
stack. | ||
· Notes | The inot instruction can also be used to NOT
values of type uint32 . |
ior | |||
· Operation | Bitwise OR int32 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | ior = 102 (0x66) | ||
· Stack | ..., value1, value2 => ..., result | ||
· Description | Both value1 and value2
are popped from the stack as type int32 . The
int32 result is value1 | value2.
The result is pushed onto the stack. | ||
· Notes | The ior instruction can also be used to OR
values of type uint32 . |
ishl | |||
· Operation | Left shift int32 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | ishl = 105 (0x69) | ||
· Stack | ..., value1, value2 => ..., result | ||
· Description | Both value1 and value2
are popped from the stack as the types int32
and uint32 respectively. The int32
result is (value1 << (value2 & 0x1F)).
Bits that are shifted out the top of value1 are discarded.
The result is pushed onto the stack. | ||
· Notes | The ishl instruction can also be used to shift
values of type uint32 . |
ishr | |||
· Operation | Right arithmetic shift int32 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | ishr = 106 (0x6A) | ||
· Stack | ..., value1, value2 => ..., result | ||
· Description | Both value1 and value2
are popped from the stack as the types int32
and uint32 respectively. The int32
result is (value1 >> (value2 & 0x1F)).
The top-most bit of value1 is used to fill new bits shifted
in from the top. The result is pushed onto the
stack. |
ishr_un | |||
· Operation | Right unsigned shift uint32 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | ishr_un = 107 (0x6B) | ||
· Stack | ..., value1, value2 => ..., result | ||
· Description | Both value1 and value2
are popped from the stack as type uint32 . The
uint32 result is (value1 >>
(value2 & 0x1F)). Zeroes are used to fill new
bits shifted in from the top. The result is pushed
onto the stack. |
ixor | |||
· Operation | Bitwise XOR int32 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | ixor = 103 (0x67) | ||
· Stack | ..., value1, value2 => ..., result | ||
· Description | Both value1 and value2
are popped from the stack as type int32 . The
int32 result is value1 ^ value2.
The result is pushed onto the stack. | ||
· Notes | The ixor instruction can also be used to XOR
values of type uint32 . |
land | |||
· Operation | Bitwise AND int64 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | land = 108 (0x6C) | ||
· Stack | ..., value1, value2 => ..., result | ||
· Description | Both value1 and value2
are popped from the stack as type int64 . The
int64 result is value1 & value2.
The result is pushed onto the stack. | ||
· Notes | The land instruction can also be used to AND
values of type uint64 . |
lnot | |||
· Operation | Bitwise NOT int64 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | lnot = 111 (0x6F) | ||
· Stack | ..., value => ..., result | ||
· Description | The value is popped from the stack as
type int64 . The int64 result
is ~value. The result is pushed onto the
stack. | ||
· Notes | The lnot instruction can also be used to NOT
values of type uint64 . |
lor | |||
· Operation | Bitwise OR int64 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | lor = 109 (0x6D) | ||
· Stack | ..., value1, value2 => ..., result | ||
· Description | Both value1 and value2
are popped from the stack as type int64 . The
int64 result is value1 | value2.
The result is pushed onto the stack. | ||
· Notes | The lor instruction can also be used to OR
values of type uint64 . |
lshl | |||
· Operation | Left shift int64 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | lshl = 112 (0x70) | ||
· Stack | ..., value1, value2 => ..., result | ||
· Description | Both value1 and value2
are popped from the stack as the types int64
and uint32 respectively. The int64
result is (value1 << (value2 & 0x3F)).
Bits that are shifted out the top of value1 are discarded.
The result is pushed onto the stack. | ||
· Notes | The lshl instruction can also be used to shift
values of type uint64 . |
lshr | |||
· Operation | Right arithmetic shift int64 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | lshr = 113 (0x71) | ||
· Stack | ..., value1, value2 => ..., result | ||
· Description | Both value1 and value2
are popped from the stack as the types int64
and uint32 respectively. The int64
result is (value1 >> (value2 & 0x3F)).
The top-most bit of value1 is used to fill new bits shifted
in from the top. The result is pushed onto the
stack. |
lshr_un | |||
· Operation | Right unsigned shift uint64 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | lshr_un = 114 (0x72) | ||
· Stack | ..., value1, value2 => ..., result | ||
· Description | Both value1 and value2
are popped from the stack as the types uint64
and uint32 respectively. The uint64
result is (value1 >> (value2 & 0x3F)).
Zeroes are used to fill new bits shifted in from the top.
The result is pushed onto the stack. |
lxor | |||
· Operation | Bitwise XOR int64 | ||
· Format |
| ||
· Direct Format |
| ||
· Forms | lxor = 110 (0x6E) | ||
· Stack | ..., value1, value2 => ..., result | ||
· Description | Both value1 and value2
are popped from the stack as type int64 . The
int64 result is value1 ^ value2.
The result is pushed onto the stack. | ||
· Notes | The lxor instruction can also be used to XOR
values of type uint64 . |
Copyright © Southern
Storm Software Pty Ltd 2002
Licensed under GNU FDL