In 8085 Instruction set, ORA is a mnemonic, which stands for “OR Accumulator” and “R” stands for any of the following registers, or memory location M pointed by HL pair.
R = A, B, C, D, E, H, L, or M
This instruction is used to OR contents of R with the Accumulator. The result of OR operation will be stored back in the Accumulator. As R can have any of the eight values, there are eight opcodes for this type of instruction. It occupies only 1-Byte in memory.
|Mnemonics, Operand||Opcode(in HEX)||Bytes|
Let us consider the instruction ORA E as an example instruction of this category. As it is a 1-Byte instruction so it will occupy a single Byte in the memory. Let us consider that the initial contents of Accumulator and E register are ABH and CDH. The result of execution of this instruction has been shown in the following tracing table.
The internal calculation has been done as shown below −
(A) ABH ---> 1010 1011 (E) CDH ---> 1100 1101 --------- ORA E ---> 1110 1111 (EFH)
|2004||B3||ORA E||A = A OR E|
The timing diagram against this instruction ORA E execution is as follows −
Summary − So this instruction ORA E requires 1-Byte, 1-Machine Cycle (Opcode Fetch) and 4 T-States for execution as shown in the timing diagram.