Contents | Prev | Next | Index

if_acmp<cond>

Operation
Branch if reference comparison succeeds

if_acmp<cond>
branchbyte1
branchbyte2

Forms
if_acmpeq = 165 (0xa5) if_acmpne = 166 (0xa6)

Stack
..., value1, value2 ...

Description
Both value1 and value2 must be of type reference. They are both popped from the operand stack and compared. The results of the comparison are as follows:

If the comparison succeeds, the unsigned branchbyte1 and branchbyte2 are used to construct a signed 16-bit offset, where the offset is calculated to be (branchbyte1 << 8) | branchbyte2. Execution then proceeds at that offset from the address of the opcode of this if_acmp<cond> instruction. The target address must be that of an opcode of an instruction within the method that contains this if_acmp<cond> instruction.

Otherwise, if the comparison fails, execution proceeds at the address of the instruction following this if_acmp<cond> instruction.


Contents | Prev | Next | Index

Java Virtual Machine Specification (HTML generated by dkramer on February 25, 1997)
Copyright © 1996 Sun Microsystems, Inc. All rights reserved
Please send any comments or corrections to doug.kramer@sun.com