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