source: liacs/coco/assignment4/MOperand.cc@ 166

Last change on this file since 166 was 2, checked in by Rick van der Zwet, 15 years ago

Initial import of data of old repository ('data') worth keeping (e.g. tracking
means of URL access statistics)

File size: 2.1 KB
Line 
1#include "MOperand.h"
2
3using namespace std;
4
5MOperand::MOperand(MOperandType mtype, int value) {
6 MOperand::SetOperandType(mtype);
7 MOperand::SetIntValue(value);
8 MOperand::SetOffset(NO_OFFSET);
9}
10
11MOperand::MOperand(MOperandType mtype, float value) {
12 MOperand::SetOperandType(mtype);
13 MOperand::SetRealValue(value);
14 MOperand::SetOffset(NO_OFFSET);
15}
16
17MOperand::MOperand(MOperandType mtype, MRegisterType value) {
18 MOperand::SetOperandType(mtype);
19 MOperand::SetRegisterType(value);
20 MOperand::SetOffset(NO_OFFSET);
21}
22
23MOperand::MOperand(MOperandType mtype, string newLabel) {
24 MOperand::SetOperandType(mtype);
25 MOperand::SetOffset(NO_OFFSET);
26 label = newLabel;
27}
28
29MOperand::MOperand(MOperandType mtype, MRegisterType reg, int offset) {
30 MOperand::SetOperandType(mtype);
31 MOperand::SetRegisterType(reg);
32 MOperand::SetOffset(offset);
33}
34
35// Set operand type handling
36void MOperand::SetOperandType(MOperandType type) {
37 mType = type;
38}
39
40MOperandType MOperand::GetOperandType() const {
41 return (mType);
42}
43
44
45// constant value based
46
47int MOperand::GetIntValue() const {
48 return (iValue);
49}
50
51void MOperand::SetIntValue(int value) {
52 iValue = value;
53}
54
55float MOperand::GetRealValue() const {
56 return (rValue);
57}
58
59void MOperand::SetRealValue(float value) {
60 rValue = value;
61}
62
63// register entries
64
65void MOperand::SetRegisterNumber(int value) {
66 registerNumber = value;
67}
68
69int MOperand::GetRegisterNumber() const {
70 return registerNumber;
71}
72
73void MOperand::SetRegisterType(MRegisterType value) {
74 registerNumber = (int) value;
75}
76
77MRegisterType MOperand::GetRegisterType() const {
78 return ((MRegisterType) registerNumber);
79}
80
81void MOperand::SetOffset(int value) {
82 offset = value;
83
84}
85
86int MOperand::GetOffset() const {
87 return (offset);
88}
89
90void MOperand::SetAddress(int reg) {
91 address = reg;
92}
93
94void MOperand::SetAddress(MRegisterType reg) {
95 address = (int) reg;
96}
97
98int MOperand::GetAddress() const {
99 return (address);
100}
101
102void MOperand::SetLabel(string newLabel) {
103 label = newLabel;
104}
105
106string MOperand::GetLabel() const {
107 return (label);
108}
109
110// Dump
111
112void MOperand::Dump(FILE *file) {
113
114}
Note: See TracBrowser for help on using the repository browser.