/* exec_state_def.v - Definitions of the states in the main state machine
   of the 9086 CPU.

   This file is part of the 9086 project.

   Copyright (c) 2024 Efthymios Kritikos

   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */

`define	EXEC_STATE_BITS	4


//TODO: Please clean this up
`define EXEC_WAIT				4'b1100

/*DECODE SATE*/
`define EXEC_DE_LOAD_REG_TO_PARAM		4'b0011

/*MEM/IO READ*/
`define EXEC_MEMIO_READ				4'b0101
`define EXEC_MEMIO_READ_SETADDR			4'b0110

/*EXECUTE STATE*/
`define EXEC_WRITE_ENTRY			4'b1000

/*MEM/IO WRITE*/
`define EXEC_MEMIO_WRITE			4'b0111

`define EXEC_NEXT_INSTRUCTION			4'b1001

`define EXEC_NEXT_MICROCODE			4'b1010

`define EXEC_RESET				4'b1011

`define EXEC_JUMP_RELEASE			4'b1101
