Correct Answer - Option 2 : Conditional or unconditional
Unconditional Return- Whenever the instructions in a subroutine are required to be executed, we branch program control to the subroutine using th CALL instruction. CALL is a 3-Byte instruction, with 1 Byte for the opcode, and 2 Bytes for the address of the subroutine. CALL mnemonics stands for “call a subroutine”. After executing the instructions written in the subroutine we shall want to return control to the next instruction written after the CALL instruction then we shall use mnemonic RET. Here RET stands for RETurn from the subroutine.
Conditional Return- In 8085 Instruction set, depending upon one of the flag bit values (excluding AC flag bit), the conditional return instructions will branch the control to the next instruction of the call statement by popping out two return address Bytes (High-Byte and Low-Byte) from the top of the stack. The branch takes place based on the value of Cy flag, Z flag, P flag, or S flag. There is no conditional return instruction based on the value of AC (Auxiliary Carry) flag bit.
So we can say Return can be conditional or Unconditional.