dest = dest | source
The or instruction ors the source value (second operand) to the destination (either a register or a memory location). The destination can be a 64, 32, 16 or 8 bit register or memory location. The source can be either a register, memory location or an immediate value. You can not use 2 memory addresses.
The operation performs a bitwise or of the 2 operands. In my description or is a bit setter - the 1 bits from the second operand are used to set the same bits in the first operand. Here is an example of a bitwise or.
1010010010101011 | 1010101010100111 ---------------- 1010111010101111
Some examples of using and:
or rax, 0x1000 ; or rax with 0x1000 ; sets bit 12 of rax or eax, 0xff00 ; or eax with 0xff00 ; fills upper half of rax with 0 or dx, ax ; or dx and ax, result in dx ; leaves the rest of rdx alone or rax, [y] ; or rax with 64 bit variable y or [x], eax ; or 32 bit varaible x with eax