# SPDX-License-Identifier: MIT
# Copyright (C) 2018-present iced project and contributors

# ⚠️This file was generated by GENERATOR!🦹‍♂️

# pylint: disable=invalid-name
# pylint: disable=line-too-long
# pylint: disable=too-many-lines

"""
Control flow
"""

NEXT: int = 0
"""
The next instruction that will be executed is the next instruction in the instruction stream
"""
UNCONDITIONAL_BRANCH: int = 1
"""
: It's an unconditional branch instruction: ``JMP NEAR``, ``JMP FAR``
"""
INDIRECT_BRANCH: int = 2
"""
: It's an unconditional indirect branch: ``JMP NEAR reg``, ``JMP NEAR [mem]``, ``JMP FAR [mem]``
"""
CONDITIONAL_BRANCH: int = 3
"""
: It's a conditional branch instruction: ``Jcc SHORT``, ``Jcc NEAR``, ``LOOP``, ``LOOPcc``, ``JRCXZ``
"""
RETURN: int = 4
"""
: It's a return instruction: ``RET NEAR``, ``RET FAR``, ``IRET``, ``SYSRET``, ``SYSEXIT``, ``RSM``, ``SKINIT``, ``RDM``, ``UIRET``
"""
CALL: int = 5
"""
: It's a call instruction: ``CALL NEAR``, ``CALL FAR``, ``SYSCALL``, ``SYSENTER``, ``VMLAUNCH``, ``VMRESUME``, ``VMCALL``, ``VMMCALL``, ``VMGEXIT``, ``VMRUN``, ``TDCALL``, ``SEAMCALL``, ``SEAMRET``
"""
INDIRECT_CALL: int = 6
"""
: It's an indirect call instruction: ``CALL NEAR reg``, ``CALL NEAR [mem]``, ``CALL FAR [mem]``
"""
INTERRUPT: int = 7
"""
: It's an interrupt instruction: ``INT n``, ``INT3``, ``INT1``, ``INTO``, ``SMINT``, ``DMINT``
"""
XBEGIN_XABORT_XEND: int = 8
"""
It's ``XBEGIN``
"""
EXCEPTION: int = 9
"""
It's an invalid instruction, eg. :class:`iced_x86.Code.INVALID`, ``UD0``, ``UD1``, ``UD2``
"""
