  A widely-used quantum programming paradigm comprises of both the data flow
and control flow. Existing quantum hardware cannot well support the control
flow, significantly limiting the range of quantum software executable on the
hardware. By analyzing the constraints in the control microarchitecture, we
found that existing quantum assembly languages are either too high-level or too
restricted to support comprehensive flow control on the hardware. Also, as
observed with the quantum microinstruction set QuMIS, the quantum instruction
set architecture (QISA) design may suffer from limited scalability and
flexibility because of microarchitectural constraints. It is an open challenge
to design a scalable and flexible QISA which provides a comprehensive
abstraction of the quantum hardware.
  In this paper, we propose an executable QISA, called eQASM, that can be
translated from quantum assembly language (QASM), supports comprehensive
quantum program flow control, and is executed on a quantum control
microarchitecture. With efficient timing specification,
single-operation-multiple-qubit execution, and a very-long-instruction-word
architecture, eQASM presents better scalability than QuMIS. The definition of
eQASM focuses on the assembly level to be expressive. Quantum operations are
configured at compile time instead of being defined at QISA design time. We
instantiate eQASM into a 32-bit instruction set targeting a seven-qubit
superconducting quantum processor. We validate our design by performing several
experiments on a two-qubit quantum processor.
