/* file yasep/JScore/group_eu.js
created 2005-06-11 by whygee@f-cpu.org
2006-08-02 : populated with ROP2, ASU, SHL & IE
2006-08-08 : predicated the error messages .... then removed it.
2006-08-09 : i just discovered that >>> exists :-/
2006-08-11 : reorganised the structures
2006-08-12 : added SHH and flags
2006-09-02 : moved to vspsim/JScore/
2007-03-28 : moved EXPND/MATCH/BMASK/BSWAP to a pseudo-class of their own
2007-04-11 : removed the opcode generation itself -> moved to other files
 renamed from JScore/vsp_eu.js
2007-11-05 : rebranding to YASEP
2008-11-30
2009-07-27 : Y
2009-07-27 : Y.eu_snd=0; Y.eu_si4=0;
2009-08-05 : changed again, now it's a simple function that returns an object (not even a constructor)

This file implements the core's Execution Units' symbols.
 (this could be moved somewhere else...)

dependency :
yasep_messages.js+handling [if undesired, write : function add_message() {} ]
 yasep_forms.js, yasep_flags.js, yasep_opcodes.js

required by group_asu.js, group_rop2.js, group_shl.js, group_ie.js, ...
*/

/* inputs and output for the simulator */

function Yasep_Sim(){
  return {
    ptr_in:0,
    ptr_out:0,
    ptr_wr_dir:1, // -1, 0 or 1
    ptr_rd_dir:1, // -1, 0 or 1
    carry:0,
    result:0xDEADBEEF,
    snd:0,
    si4:0
  }
}

// How to use this : create an instance S of the simulator with
// var S=Yasep_Sim();