Cleaned up the debugger files a great deal. There was no need to have

each different Expression class in a separate file, especially since they're
mostly only one-line methods.  So now all the classes are placed in
DebuggerExpressions.hxx.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1234 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
This commit is contained in:
stephena 2006-12-23 15:08:46 +00:00
parent 0f8c5a5046
commit 1344ad67c9
64 changed files with 304 additions and 2051 deletions

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: BinAndExpression.cxx,v 1.2 2006-12-08 16:48:58 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "BinAndExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BinAndExpression::BinAndExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: BinAndExpression.hxx,v 1.3 2006-12-08 16:48:58 stephena Exp $
//============================================================================
#ifndef BINAND_EXPRESSION_HXX
#define BINAND_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: BinAndExpression.hxx,v 1.3 2006-12-08 16:48:58 stephena Exp $
*/
class BinAndExpression : public Expression
{
public:
BinAndExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() & myRHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: BinNotExpression.cxx,v 1.2 2006-12-08 16:48:58 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "BinNotExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BinNotExpression::BinNotExpression(Expression *left)
: Expression(left, 0)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: BinNotExpression.hxx,v 1.3 2006-12-08 16:48:58 stephena Exp $
//============================================================================
#ifndef BINNOT_EXPRESSION_HXX
#define BINNOT_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: BinNotExpression.hxx,v 1.3 2006-12-08 16:48:58 stephena Exp $
*/
class BinNotExpression : public Expression
{
public:
BinNotExpression(Expression *left);
uInt16 evaluate() { return ~(myLHS->evaluate()); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: BinOrExpression.cxx,v 1.2 2006-12-08 16:48:58 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "BinOrExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BinOrExpression::BinOrExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: BinOrExpression.hxx,v 1.3 2006-12-08 16:48:58 stephena Exp $
//============================================================================
#ifndef BINOR_EXPRESSION_HXX
#define BINOR_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: BinOrExpression.hxx,v 1.3 2006-12-08 16:48:58 stephena Exp $
*/
class BinOrExpression : public Expression
{
public:
BinOrExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() | myRHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: BinXorExpression.cxx,v 1.2 2006-12-08 16:48:58 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "BinXorExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BinXorExpression::BinXorExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: BinXorExpression.hxx,v 1.3 2006-12-08 16:48:58 stephena Exp $
//============================================================================
#ifndef BINXOR_EXPRESSION_HXX
#define BINXOR_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: BinXorExpression.hxx,v 1.3 2006-12-08 16:48:58 stephena Exp $
*/
class BinXorExpression : public Expression
{
public:
BinXorExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() ^ myRHS->evaluate(); }
};
#endif

View File

@ -1,26 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: ByteDerefExpression.cxx,v 1.3 2006-12-08 16:48:58 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "ByteDerefExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ByteDerefExpression::ByteDerefExpression(Expression *left)
: Expression(left, 0)
{
}

View File

@ -1,38 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: ByteDerefExpression.hxx,v 1.3 2006-12-08 16:48:58 stephena Exp $
//============================================================================
#ifndef BYTEDEREF_EXPRESSION_HXX
#define BYTEDEREF_EXPRESSION_HXX
#include "Debugger.hxx"
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: ByteDerefExpression.hxx,v 1.3 2006-12-08 16:48:58 stephena Exp $
*/
class ByteDerefExpression : public Expression
{
public:
ByteDerefExpression(Expression *left);
uInt16 evaluate() { return Debugger::debugger().peek(myLHS->evaluate()); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: ByteDerefOffsetExpression.cxx,v 1.2 2006-12-08 16:48:58 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "ByteDerefOffsetExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ByteDerefOffsetExpression::ByteDerefOffsetExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,38 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: ByteDerefOffsetExpression.hxx,v 1.3 2006-12-08 16:48:59 stephena Exp $
//============================================================================
#ifndef BYTEDEREFOFFSET_EXPRESSION_HXX
#define BYTEDEREFOFFSET_EXPRESSION_HXX
#include "Debugger.hxx"
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: ByteDerefOffsetExpression.hxx,v 1.3 2006-12-08 16:48:59 stephena Exp $
*/
class ByteDerefOffsetExpression : public Expression
{
public:
ByteDerefOffsetExpression(Expression *left, Expression *right);
uInt16 evaluate() { return Debugger::debugger().peek(myLHS->evaluate() + myRHS->evaluate()); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: ConstExpression.cxx,v 1.2 2006-12-08 16:48:59 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "ConstExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ConstExpression::ConstExpression(const int value)
: Expression(0, 0),
myValue(value)
{
}

View File

@ -1,42 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: ConstExpression.hxx,v 1.3 2006-12-08 16:48:59 stephena Exp $
//============================================================================
#ifndef CONST_EXPRESSION_HXX
#define CONST_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
This class provides an implementation of an constant expression;
that is, one that consists solely of a constant integer value.
@author Stephen Anthony
@version $Id: ConstExpression.hxx,v 1.3 2006-12-08 16:48:59 stephena Exp $
*/
class ConstExpression : public Expression
{
public:
ConstExpression(const int value);
uInt16 evaluate() { return myValue; }
private:
int myValue;
};
#endif

View File

@ -1,28 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: CpuMethodExpression.cxx,v 1.2 2006-12-08 16:48:59 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "CpuMethodExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CpuMethodExpression::CpuMethodExpression(CPUDEBUG_INT_METHOD method)
: Expression(0, 0)
{
myMethod = method;
}

View File

@ -1,42 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: CpuMethodExpression.hxx,v 1.3 2006-12-08 16:48:59 stephena Exp $
//============================================================================
#ifndef CPUMETHOD_EXPRESSION_HXX
#define CPUMETHOD_EXPRESSION_HXX
//#include "Debugger.hxx"
#include "CpuDebug.hxx"
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: CpuMethodExpression.hxx,v 1.3 2006-12-08 16:48:59 stephena Exp $
*/
class CpuMethodExpression : public Expression
{
public:
CpuMethodExpression(CPUDEBUG_INT_METHOD method);
uInt16 evaluate() { return CALL_CPUDEBUG_METHOD(myMethod); }
private:
CPUDEBUG_INT_METHOD myMethod;
};
#endif

View File

@ -0,0 +1,304 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: DebuggerExpressions.hxx,v 1.1 2006-12-23 15:08:45 stephena Exp $
//============================================================================
#ifndef DEBUGGER_EXPRESSIONS_HXX
#define DEBUGGER_EXPRESSIONS_HXX
#include "bspf.hxx"
#include "CpuDebug.hxx"
#include "Debugger.hxx"
#include "TIADebug.hxx"
#include "Expression.hxx"
/**
All expressions currently supported by the debugger.
@author B. Watson and Stephen Anthony
*/
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class BinAndExpression : public Expression
{
public:
BinAndExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() & myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class BinNotExpression : public Expression
{
public:
BinNotExpression(Expression* left) : Expression(left, 0) {}
uInt16 evaluate() { return ~(myLHS->evaluate()); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class BinOrExpression : public Expression
{
public:
BinOrExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() | myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class BinXorExpression : public Expression
{
public:
BinXorExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() ^ myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class ByteDerefExpression : public Expression
{
public:
ByteDerefExpression(Expression* left): Expression(left, 0) {}
uInt16 evaluate() { return Debugger::debugger().peek(myLHS->evaluate()); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class ByteDerefOffsetExpression : public Expression
{
public:
ByteDerefOffsetExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return Debugger::debugger().peek(myLHS->evaluate() + myRHS->evaluate()); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class ConstExpression : public Expression
{
public:
ConstExpression(const int value) : Expression(0, 0), myValue(value) {}
uInt16 evaluate() { return myValue; }
private:
int myValue;
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class CpuMethodExpression : public Expression
{
public:
CpuMethodExpression(CPUDEBUG_INT_METHOD method) : Expression(0, 0), myMethod(method) {}
uInt16 evaluate() { return CALL_CPUDEBUG_METHOD(myMethod); }
private:
CPUDEBUG_INT_METHOD myMethod;
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class DivExpression : public Expression
{
public:
DivExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { int denom = myRHS->evaluate();
return denom == 0 ? 0 : myLHS->evaluate() / denom;
}
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class EqualsExpression : public Expression
{
public:
EqualsExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() == myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class EquateExpression : public Expression
{
public:
EquateExpression(const string& label) : Expression(0, 0), myLabel(label) {}
uInt16 evaluate() { return Debugger::debugger().equates()->getAddress(myLabel); }
private:
string myLabel;
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class FunctionExpression : public Expression
{
public:
FunctionExpression(const string& label) : Expression(0, 0), myLabel(label) {}
uInt16 evaluate() {
Expression* exp = Debugger::debugger().getFunction(myLabel);
if(exp) return exp->evaluate();
else return 0;
}
private:
string myLabel;
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class GreaterEqualsExpression : public Expression
{
public:
GreaterEqualsExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() >= myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class GreaterExpression : public Expression
{
public:
GreaterExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() > myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class HiByteExpression : public Expression
{
public:
HiByteExpression(Expression* left) : Expression(left, 0) {}
uInt16 evaluate() { return 0xff & (myLHS->evaluate() >> 8); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class LessEqualsExpression : public Expression
{
public:
LessEqualsExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() <= myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class LessExpression : public Expression
{
public:
LessExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() < myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class LoByteExpression : public Expression
{
public:
LoByteExpression(Expression* left) : Expression(left, 0) {}
uInt16 evaluate() { return 0xff & myLHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class LogAndExpression : public Expression
{
public:
LogAndExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() && myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class LogNotExpression : public Expression
{
public:
LogNotExpression(Expression* left) : Expression(left, 0) {}
uInt16 evaluate() { return !(myLHS->evaluate()); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class LogOrExpression : public Expression
{
public:
LogOrExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() || myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class MinusExpression : public Expression
{
public:
MinusExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() - myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class ModExpression : public Expression
{
public:
ModExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { int rhs = myRHS->evaluate();
return rhs == 0 ? 0 : myLHS->evaluate() % rhs;
}
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class MultExpression : public Expression
{
public:
MultExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() * myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class NotEqualsExpression : public Expression
{
public:
NotEqualsExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() != myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class PlusExpression : public Expression
{
public:
PlusExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() + myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class ShiftLeftExpression : public Expression
{
public:
ShiftLeftExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() << myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class ShiftRightExpression : public Expression
{
public:
ShiftRightExpression(Expression* left, Expression* right) : Expression(left, right) {}
uInt16 evaluate() { return myLHS->evaluate() >> myRHS->evaluate(); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class TiaMethodExpression : public Expression
{
public:
TiaMethodExpression(TIADEBUG_INT_METHOD method) : Expression(0, 0), myMethod(method) {}
uInt16 evaluate() { return CALL_TIADEBUG_METHOD(myMethod); }
private:
TIADEBUG_INT_METHOD myMethod;
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class UnaryMinusExpression : public Expression
{
public:
UnaryMinusExpression(Expression* left) : Expression(left, 0) {}
uInt16 evaluate() { return -(myLHS->evaluate()); }
};
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class WordDerefExpression : public Expression
{
public:
WordDerefExpression(Expression* left) : Expression(left, 0) {}
uInt16 evaluate() { return Debugger::debugger().dpeek(myLHS->evaluate()); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: DivExpression.cxx,v 1.2 2006-12-08 16:49:00 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "DivExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DivExpression::DivExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,38 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: DivExpression.hxx,v 1.5 2006-12-08 16:49:00 stephena Exp $
//============================================================================
#ifndef DIV_EXPRESSION_HXX
#define DIV_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: DivExpression.hxx,v 1.5 2006-12-08 16:49:00 stephena Exp $
*/
class DivExpression : public Expression
{
public:
DivExpression(Expression *left, Expression *right);
uInt16 evaluate() { int denom = myRHS->evaluate();
return denom == 0 ? 0 : myLHS->evaluate() / denom;
}
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: EqualsExpression.cxx,v 1.2 2006-12-08 16:49:00 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "EqualsExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EqualsExpression::EqualsExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: EqualsExpression.hxx,v 1.4 2006-12-08 16:49:00 stephena Exp $
//============================================================================
#ifndef EQUALS_EXPRESSION_HXX
#define EQUALS_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: EqualsExpression.hxx,v 1.4 2006-12-08 16:49:00 stephena Exp $
*/
class EqualsExpression : public Expression
{
public:
EqualsExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() == myRHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: EquateExpression.cxx,v 1.2 2006-12-08 16:49:00 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "EquateExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EquateExpression::EquateExpression(const string& label)
: Expression(0, 0),
myLabel(label)
{
}

View File

@ -1,42 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: EquateExpression.hxx,v 1.3 2006-12-08 16:49:00 stephena Exp $
//============================================================================
#ifndef EQUATE_EXPRESSION_HXX
#define EQUATE_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
#include "Debugger.hxx"
#include "bspf.hxx"
/**
@author Stephen Anthony
@version $Id: EquateExpression.hxx,v 1.3 2006-12-08 16:49:00 stephena Exp $
*/
class EquateExpression : public Expression
{
public:
EquateExpression(const string& label);
uInt16 evaluate() { return Debugger::debugger().equates()->getAddress(myLabel); }
private:
string myLabel;
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: FunctionExpression.cxx,v 1.2 2006-12-08 16:49:01 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "FunctionExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionExpression::FunctionExpression(const string& label)
: Expression(0, 0),
myLabel(label)
{
}

View File

@ -1,48 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: FunctionExpression.hxx,v 1.3 2006-12-08 16:49:01 stephena Exp $
//============================================================================
#ifndef FUNCTION_EXPRESSION_HXX
#define FUNCTION_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
#include "Debugger.hxx"
#include "bspf.hxx"
/**
@author Stephen Anthony
@version $Id: FunctionExpression.hxx,v 1.3 2006-12-08 16:49:01 stephena Exp $
*/
class FunctionExpression : public Expression
{
public:
FunctionExpression(const string& label);
uInt16 evaluate() {
Expression *exp = Debugger::debugger().getFunction(myLabel);
if(exp)
return exp->evaluate();
else
return 0;
}
private:
string myLabel;
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: GreaterEqualsExpression.cxx,v 1.2 2006-12-08 16:49:01 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "GreaterEqualsExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GreaterEqualsExpression::GreaterEqualsExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: GreaterEqualsExpression.hxx,v 1.3 2006-12-08 16:49:01 stephena Exp $
//============================================================================
#ifndef GREATEREQUALS_EXPRESSION_HXX
#define GREATEREQUALS_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: GreaterEqualsExpression.hxx,v 1.3 2006-12-08 16:49:01 stephena Exp $
*/
class GreaterEqualsExpression : public Expression
{
public:
GreaterEqualsExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() >= myRHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: GreaterExpression.cxx,v 1.2 2006-12-08 16:49:01 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "GreaterExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GreaterExpression::GreaterExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: GreaterExpression.hxx,v 1.3 2006-12-08 16:49:01 stephena Exp $
//============================================================================
#ifndef GREATER_EXPRESSION_HXX
#define GREATER_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: GreaterExpression.hxx,v 1.3 2006-12-08 16:49:01 stephena Exp $
*/
class GreaterExpression : public Expression
{
public:
GreaterExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() > myRHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: HiByteExpression.cxx,v 1.2 2006-12-08 16:49:01 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "HiByteExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HiByteExpression::HiByteExpression(Expression *left)
: Expression(left, 0)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: HiByteExpression.hxx,v 1.3 2006-12-08 16:49:01 stephena Exp $
//============================================================================
#ifndef HIBYTE_EXPRESSION_HXX
#define HIBYTE_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: HiByteExpression.hxx,v 1.3 2006-12-08 16:49:01 stephena Exp $
*/
class HiByteExpression : public Expression
{
public:
HiByteExpression(Expression *left);
uInt16 evaluate() { return 0xff & (myLHS->evaluate() >> 8); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: LessEqualsExpression.cxx,v 1.2 2006-12-08 16:49:01 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "LessEqualsExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LessEqualsExpression::LessEqualsExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: LessEqualsExpression.hxx,v 1.3 2006-12-08 16:49:01 stephena Exp $
//============================================================================
#ifndef LESSEQUALS_EXPRESSION_HXX
#define LESSEQUALS_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: LessEqualsExpression.hxx,v 1.3 2006-12-08 16:49:01 stephena Exp $
*/
class LessEqualsExpression : public Expression
{
public:
LessEqualsExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() <= myRHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: LessExpression.cxx,v 1.2 2006-12-08 16:49:01 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "LessExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LessExpression::LessExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: LessExpression.hxx,v 1.3 2006-12-08 16:49:02 stephena Exp $
//============================================================================
#ifndef LESS_EXPRESSION_HXX
#define LESS_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: LessExpression.hxx,v 1.3 2006-12-08 16:49:02 stephena Exp $
*/
class LessExpression : public Expression
{
public:
LessExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() < myRHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: LoByteExpression.cxx,v 1.2 2006-12-08 16:49:02 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "LoByteExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LoByteExpression::LoByteExpression(Expression *left)
: Expression(left, 0)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: LoByteExpression.hxx,v 1.3 2006-12-08 16:49:02 stephena Exp $
//============================================================================
#ifndef LOBYTE_EXPRESSION_HXX
#define LOBYTE_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: LoByteExpression.hxx,v 1.3 2006-12-08 16:49:02 stephena Exp $
*/
class LoByteExpression : public Expression
{
public:
LoByteExpression(Expression *left);
uInt16 evaluate() { return 0xff & myLHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: LogAndExpression.cxx,v 1.2 2006-12-08 16:49:02 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "LogAndExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LogAndExpression::LogAndExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: LogAndExpression.hxx,v 1.3 2006-12-08 16:49:02 stephena Exp $
//============================================================================
#ifndef LOGAND_EXPRESSION_HXX
#define LOGAND_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: LogAndExpression.hxx,v 1.3 2006-12-08 16:49:02 stephena Exp $
*/
class LogAndExpression : public Expression
{
public:
LogAndExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() && myRHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: LogNotExpression.cxx,v 1.2 2006-12-08 16:49:02 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "LogNotExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LogNotExpression::LogNotExpression(Expression *left)
: Expression(left, 0)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: LogNotExpression.hxx,v 1.3 2006-12-08 16:49:02 stephena Exp $
//============================================================================
#ifndef LOGNOT_EXPRESSION_HXX
#define LOGNOT_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: LogNotExpression.hxx,v 1.3 2006-12-08 16:49:02 stephena Exp $
*/
class LogNotExpression : public Expression
{
public:
LogNotExpression(Expression *left);
uInt16 evaluate() { return !(myLHS->evaluate()); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: LogOrExpression.cxx,v 1.2 2006-12-08 16:49:02 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "LogOrExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LogOrExpression::LogOrExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: LogOrExpression.hxx,v 1.3 2006-12-08 16:49:02 stephena Exp $
//============================================================================
#ifndef LOGOR_EXPRESSION_HXX
#define LOGOR_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: LogOrExpression.hxx,v 1.3 2006-12-08 16:49:02 stephena Exp $
*/
class LogOrExpression : public Expression
{
public:
LogOrExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() || myRHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: MinusExpression.cxx,v 1.2 2006-12-08 16:49:03 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "MinusExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MinusExpression::MinusExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: MinusExpression.hxx,v 1.4 2006-12-08 16:49:03 stephena Exp $
//============================================================================
#ifndef MINUS_EXPRESSION_HXX
#define MINUS_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: MinusExpression.hxx,v 1.4 2006-12-08 16:49:03 stephena Exp $
*/
class MinusExpression : public Expression
{
public:
MinusExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() - myRHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: ModExpression.cxx,v 1.2 2006-12-08 16:49:03 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "ModExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ModExpression::ModExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,38 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: ModExpression.hxx,v 1.4 2006-12-08 16:49:03 stephena Exp $
//============================================================================
#ifndef MOD_EXPRESSION_HXX
#define MOD_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: ModExpression.hxx,v 1.4 2006-12-08 16:49:03 stephena Exp $
*/
class ModExpression : public Expression
{
public:
ModExpression(Expression *left, Expression *right);
uInt16 evaluate() { int rhs = myRHS->evaluate();
return rhs == 0 ? 0 : myLHS->evaluate() % rhs;
}
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: MultExpression.cxx,v 1.2 2006-12-08 16:49:03 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "MultExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MultExpression::MultExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: MultExpression.hxx,v 1.3 2006-12-08 16:49:03 stephena Exp $
//============================================================================
#ifndef MULT_EXPRESSION_HXX
#define MULT_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: MultExpression.hxx,v 1.3 2006-12-08 16:49:03 stephena Exp $
*/
class MultExpression : public Expression
{
public:
MultExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() * myRHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: NotEqualsExpression.cxx,v 1.2 2006-12-08 16:49:03 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "NotEqualsExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NotEqualsExpression::NotEqualsExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: NotEqualsExpression.hxx,v 1.3 2006-12-08 16:49:04 stephena Exp $
//============================================================================
#ifndef NOTEQUALS_EXPRESSION_HXX
#define NOTEQUALS_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: NotEqualsExpression.hxx,v 1.3 2006-12-08 16:49:04 stephena Exp $
*/
class NotEqualsExpression : public Expression
{
public:
NotEqualsExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() != myRHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: PlusExpression.cxx,v 1.2 2006-12-08 16:49:04 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "PlusExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PlusExpression::PlusExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: PlusExpression.hxx,v 1.4 2006-12-08 16:49:04 stephena Exp $
//============================================================================
#ifndef PLUS_EXPRESSION_HXX
#define PLUS_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: PlusExpression.hxx,v 1.4 2006-12-08 16:49:04 stephena Exp $
*/
class PlusExpression : public Expression
{
public:
PlusExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() + myRHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: ShiftLeftExpression.cxx,v 1.2 2006-12-08 16:49:05 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "ShiftLeftExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ShiftLeftExpression::ShiftLeftExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: ShiftLeftExpression.hxx,v 1.3 2006-12-08 16:49:05 stephena Exp $
//============================================================================
#ifndef SHIFTLEFT_EXPRESSION_HXX
#define SHIFTLEFT_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: ShiftLeftExpression.hxx,v 1.3 2006-12-08 16:49:05 stephena Exp $
*/
class ShiftLeftExpression : public Expression
{
public:
ShiftLeftExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() << myRHS->evaluate(); }
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: ShiftRightExpression.cxx,v 1.2 2006-12-08 16:49:05 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "ShiftRightExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ShiftRightExpression::ShiftRightExpression(Expression *left, Expression *right)
: Expression(left, right)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: ShiftRightExpression.hxx,v 1.3 2006-12-08 16:49:06 stephena Exp $
//============================================================================
#ifndef SHIFTRIGHT_EXPRESSION_HXX
#define SHIFTRIGHT_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: ShiftRightExpression.hxx,v 1.3 2006-12-08 16:49:06 stephena Exp $
*/
class ShiftRightExpression : public Expression
{
public:
ShiftRightExpression(Expression *left, Expression *right);
uInt16 evaluate() { return myLHS->evaluate() >> myRHS->evaluate(); }
};
#endif

View File

@ -1,28 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: TiaMethodExpression.cxx,v 1.2 2006-12-08 16:49:07 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "TiaMethodExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TiaMethodExpression::TiaMethodExpression(TIADEBUG_INT_METHOD method)
: Expression(0, 0)
{
myMethod = method;
}

View File

@ -1,42 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: TiaMethodExpression.hxx,v 1.3 2006-12-08 16:49:07 stephena Exp $
//============================================================================
#ifndef TIAMETHOD_EXPRESSION_HXX
#define TIAMETHOD_EXPRESSION_HXX
//#include "Debugger.hxx"
#include "TIADebug.hxx"
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: TiaMethodExpression.hxx,v 1.3 2006-12-08 16:49:07 stephena Exp $
*/
class TiaMethodExpression : public Expression
{
public:
TiaMethodExpression(TIADEBUG_INT_METHOD method);
uInt16 evaluate() { return CALL_TIADEBUG_METHOD(myMethod); }
private:
TIADEBUG_INT_METHOD myMethod;
};
#endif

View File

@ -1,27 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: UnaryMinusExpression.cxx,v 1.2 2006-12-08 16:49:07 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "UnaryMinusExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
UnaryMinusExpression::UnaryMinusExpression(Expression *left)
: Expression(left, 0)
{
}

View File

@ -1,37 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: UnaryMinusExpression.hxx,v 1.3 2006-12-08 16:49:07 stephena Exp $
//============================================================================
#ifndef UNARYMINUS_EXPRESSION_HXX
#define UNARYMINUS_EXPRESSION_HXX
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: UnaryMinusExpression.hxx,v 1.3 2006-12-08 16:49:07 stephena Exp $
*/
class UnaryMinusExpression : public Expression
{
public:
UnaryMinusExpression(Expression *left);
uInt16 evaluate() { return -(myLHS->evaluate()); }
};
#endif

View File

@ -1,26 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: WordDerefExpression.cxx,v 1.3 2006-12-08 16:49:08 stephena Exp $
//============================================================================
#include "Expression.hxx"
#include "WordDerefExpression.hxx"
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
WordDerefExpression::WordDerefExpression(Expression *left)
: Expression(left, 0)
{
}

View File

@ -1,38 +0,0 @@
//============================================================================
//
// SSSS tt lll lll
// SS SS tt ll ll
// SS tttttt eeee ll ll aaaa
// SSSS tt ee ee ll ll aa
// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
// SS SS tt ee ll ll aa aa
// SSSS ttt eeeee llll llll aaaaa
//
// Copyright (c) 1995-2006 by Bradford W. Mott and the Stella team
//
// See the file "license" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//
// $Id: WordDerefExpression.hxx,v 1.3 2006-12-08 16:49:08 stephena Exp $
//============================================================================
#ifndef WORDDEREF_EXPRESSION_HXX
#define WORDDEREF_EXPRESSION_HXX
#include "Debugger.hxx"
#include "bspf.hxx"
#include "Expression.hxx"
/**
@author B. Watson
@version $Id: WordDerefExpression.hxx,v 1.3 2006-12-08 16:49:08 stephena Exp $
*/
class WordDerefExpression : public Expression
{
public:
WordDerefExpression(Expression *left);
uInt16 evaluate() { return Debugger::debugger().dpeek(myLHS->evaluate()); }
};
#endif

View File

@ -5,37 +5,6 @@ MODULE_OBJS := \
src/debugger/DebuggerParser.o \
src/debugger/EquateList.o \
src/debugger/Expression.o \
src/debugger/FunctionExpression.o \
src/debugger/CpuMethodExpression.o \
src/debugger/TiaMethodExpression.o \
src/debugger/ByteDerefExpression.o \
src/debugger/ByteDerefOffsetExpression.o \
src/debugger/WordDerefExpression.o \
src/debugger/ConstExpression.o \
src/debugger/EquateExpression.o \
src/debugger/LoByteExpression.o \
src/debugger/HiByteExpression.o \
src/debugger/NotEqualsExpression.o \
src/debugger/EqualsExpression.o \
src/debugger/PlusExpression.o \
src/debugger/UnaryMinusExpression.o \
src/debugger/MinusExpression.o \
src/debugger/MultExpression.o \
src/debugger/DivExpression.o \
src/debugger/ModExpression.o \
src/debugger/LogAndExpression.o \
src/debugger/LogOrExpression.o \
src/debugger/LogNotExpression.o \
src/debugger/BinNotExpression.o \
src/debugger/BinAndExpression.o \
src/debugger/BinOrExpression.o \
src/debugger/BinXorExpression.o \
src/debugger/GreaterExpression.o \
src/debugger/GreaterEqualsExpression.o \
src/debugger/LessExpression.o \
src/debugger/LessEqualsExpression.o \
src/debugger/ShiftRightExpression.o \
src/debugger/ShiftLeftExpression.o \
src/debugger/PackedBitArray.o \
src/debugger/CpuDebug.o \
src/debugger/RamDebug.o \