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

Subversion Repositories scarm

[/] [scarm/] [trunk/] [src/] [scDP2.cpp] - Blame information for rev 8

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 zhong
// scDP2.cpp: implementation of the scDP2 class.
2
//
3
//////////////////////////////////////////////////////////////////////
4
 
5
#include "scDP2.h"
6
 
7
//////////////////////////////////////////////////////////////////////
8
// Construction/Destruction
9
//////////////////////////////////////////////////////////////////////
10
 
11
scDP2::scDP2(uint32_t i)
12
{
13
  ir.rm=i;
14
  ir.pad2=(i>>4);
15
  ir.type=(i>>5);
16
  ir.shift=(i>>7);
17
  ir.rd=(i>>12);
18
  ir.rn=(i>>16);
19
  ir.set=(i>>20);
20
  ir.opcode=(i>>21);
21
  ir.hash=(i>>25);
22
  ir.pad=(i>>26);
23
  ir.cond=(i>>28);
24
 
25
}
26
 
27
scDP2::~scDP2()
28
{
29
 
30
}
31
const char* scDP2::kind_string = "DP2";
32
const char* scDP2::kind()
33
{
34
  return kind_string;
35
}
36
 
37
uint32_t scDP2::A()
38
{
39
  return ir.rn;
40
}
41
 
42
uint32_t scDP2::B()
43
{
44
  return ir.rm;
45
}
46
 
47
REGS scDP2::Rd()
48
{
49
   return REGS(ir.rd);
50
}
51
 
52
bool scDP2::is_imm()
53
{
54
  return false;
55
}
56
 
57
uint32_t scDP2::dist()
58
{
59
  return ir.shift;
60
}
61
 
62
bool scDP2::is_rs()
63
{
64
  return false;
65
}
66
 
67
OPCODE scDP2::op()
68
{
69
 
70
        uint32_t m=ir.opcode;
71
 
72
  return OPCODE(ir.opcode);
73
 
74
}
75
 
76
COND scDP2::cond()
77
{
78
 
79
  return COND(ir.cond);
80
}
81
 
82
SHIFT scDP2::shift_type()
83
{
84
  return SHIFT(ir.type);
85
}
86
 
87
bool scDP2::is_shift()
88
{
89
 return true;
90
}
91
 
92
REGS scDP2::Rn()
93
{
94
 return REGS(ir.rn);
95
}
96
 
97
bool scDP2::is_ls()
98
{
99
 return false;
100
}
101
 
102
bool scDP2::is_mult()
103
{
104
 return false;
105
}
106
 
107
bool scDP2::load()
108
{
109
 return false;
110
}
111
 
112
bool scDP2::wb()
113
{
114
 return false;
115
}
116
 
117
bool scDP2::pre()
118
{
119
  return false;
120
}
121
 
122
bool scDP2::is_branch()
123
{
124
 return false;
125
}
126
 
127
bool scDP2::set()
128
{
129
 return ir.set;
130
}

powered by: WebSVN 2.1.0

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