abc Asembler - elektronski priručnik
XI dio Logičke instrukcije

Instrukcija OR

Instrukcija OR se koristi za podršku logičkog izraza izvođenjem bitske (bitwise) OR operacije. Operator OR vraća 1, ako su upareni bitovi od oba ili samo jednog operanda jednaki 1. On vraća 0, ako su oba bita 0.
Na primjer,
    Operand1:     0101
    Operand2:     0011
------------------------------------
Nakon OR -> Operand1:   0111

Operacija OR se može koristiti za postavljanje jednog ili više bitova. Na primjer, pretpostavimo da BL registar sadrži 0011 1010, a potrebno je postaviti (setovati) 4 nižeredna bita, možemo ih OR-ovati sa vrijednošću 0000 1111, tj., FH.

OR  BL,  0FH 		; This sets BL to 0011 1111 

Primjer

Sljedeći primjer demonstrira OR instrukciju. Neka su vrijednosti 5 i 3 spremljene u AL i BL registre, respektivno, tada će instrukcija,

OR   AL, BL

spremiti 7 u AL registar:

section   .text
      global _start 		;must be declared for using gcc
_start: 					;tell linker entry point
       mov   al, 5 			;getting 5 in the al
       mov   bl, 3 			;getting 3 in the bl
       or    al, bl 		;or al and bl registers, result should be 7
       add   al, byte '0' 	;converting decimal to ascii
       mov  [result],  al
       mov  eax, 4
       mov  ebx, 1
       mov  ecx, result
       mov  edx, 1
       int     0x80

outprog:
       mov   eax, 1 		;system call number (sys_exit)
       int      0x80 		;call kernel
section  .bss
result resb 1

Kada se gore navedeni kod kompajlira i izvrši, on će proizvesti sljedeći rezultat:

7.

Instrukcija AND    <    Index    >    Instrukcija XOR