OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gdb/] [gdb-6.8/] [sim/] [scarts_32/] [scarts-op.h] - Blame information for rev 26

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 26 jlechner
/* SCARTS target-dependent code for the GNU simulator.
2
   Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
3
   Free Software Foundation, Inc.
4
   Contributed by Martin Walter <mwalter@opencores.org>
5
 
6
   This file is part of the GNU simulators.
7
 
8
   This program is free software; you can redistribute it and/or modify
9
   it under the terms of the GNU General Public License as published by
10
   the Free Software Foundation; either version 3 of the License, or
11
   (at your option) any later version.
12
 
13
   This program is distributed in the hope that it will be useful,
14
   but WITHOUT ANY WARRANTY; without even the implied warranty of
15
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
   GNU General Public License for more details.
17
 
18
   You should have received a copy of the GNU General Public License
19
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
20
 
21
 
22
#ifndef __SCARTS_OP_H__
23
#define __SCARTS_OP_H__
24
 
25
typedef union
26
{
27
  struct
28
  {
29
    uint16_t reg : 4;
30
    int16_t  val : 8;
31
    uint16_t op  : 4;
32
  } ldiop __attribute__((packed));
33
 
34
  struct
35
  {
36
    uint16_t reg : 4;
37
    int16_t  val : 7;
38
    uint16_t op  : 5;
39
  } imm7op __attribute__((packed));
40
 
41
  struct
42
  {
43
    uint16_t reg : 4;
44
    int16_t  val : 6;
45
    uint16_t op  : 6;
46
  } imm6op __attribute__((packed));
47
 
48
  struct
49
  {
50
    uint16_t reg : 4;
51
    int16_t  val : 5;
52
    uint16_t op  : 7;
53
  } imm5op __attribute__((packed));
54
 
55
  struct
56
  {
57
    uint16_t reg : 4;
58
    uint16_t val : 4;
59
    uint16_t op  : 8;
60
  } imm4op __attribute__((packed));
61
 
62
  struct
63
  {
64
    uint16_t reg1 : 4;
65
    uint16_t reg2 : 4;
66
    uint16_t op   : 8;
67
  } binop __attribute__((packed));
68
 
69
  struct
70
  {
71
    uint16_t reg : 4;
72
    uint16_t op  : 12;
73
  } unop __attribute__((packed));
74
 
75
  struct
76
  {
77
    int16_t  dest : 10;
78
    uint16_t op   :  6;
79
  } jmpiop __attribute__((packed));
80
 
81
  struct
82
  {
83
    uint16_t op : 16;
84
  } nulop __attribute__((packed));
85
 
86
  uint16_t raw;
87
} __attribute__((packed)) scarts_op_t;
88
 
89
#endif
90
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.