The ‘A’ register called the accumulator is used as the destination register.
ADD R2, # 12H
This is invalid as 12 is to be added to value present in R2 and data is also stored in R2.
ADD A,# 12H
This is valid as 12 is to be added to the value present in accumulator. Foregoing discussion explains why register A is used as accumulator.
☛ It is called long call and is a 3 byte instruction.
☛ Here 1st byte is used for opcode &2nd & 3rd bytes are used for address of target subroutine.
☛ Call subroutine can be used anywhere within 64 K- byte address space.
☛ Processor automatically saves on stack the address of instruction immediately below LCALL.
☛ After execution instruction return (RET) transfers control back to next instruction.