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
|
 |