MIDAS (Microprocessor Instruction and Data Abstraction System) is a specification of a binary instruction set architecture (ISA) capable of executing binary images compiled from the C language using a minimal number of defined instructions. Its primary purpose is to provide a test article for the development of Formal Methods for the verification of ISAs.
The specification describes 2 variants of the MIDAS ISA: a stack-based machine and randomly accessible register array machine. The 2 variants employ the same numerical values to implement similar instruction functionality, the differences being limited to Register File behaviour.
The ISA is intended to be initially implemented in software as a virtual machine executing on host processor. However, the specification is similar to that of conventional microprocessors, and is appropriate for hardware implementation.