Logo Search packages:      
Sourcecode: ktechlab version File versions  Download package

Instruction Struct Reference

#include <instruction.h>

Inherited by Instr_addlw, Instr_addwf, Instr_andlw, Instr_andwf, Instr_asm, Instr_bcf, Instr_bsf, Instr_btfsc, Instr_btfss, Instr_call, Instr_clrf, Instr_decf, Instr_decfsz, Instr_goto, Instr_incf, Instr_iorlw, Instr_iorwf, Instr_movf, Instr_movlw, Instr_movwf, Instr_raw, Instr_retfie, Instr_retlw, Instr_return, Instr_rlf, Instr_rrf, Instr_sleep, Instr_sourceCode, Instr_sublw, Instr_subwf, Instr_swapf, Instr_xorlw, and Instr_xorwf.

List of all members.


Detailed Description

Author:
Daniel Clarke

David Saxton

David Saxton

Definition at line 631 of file instruction.h.


Public Types

enum  AssemblyType {
  FileOriented, BitOriented, WorkingOriented, Other,
  None
}
enum  InstructionType { Assembly, Raw, Comment }

Public Member Functions

void addInputLink (Instruction *inputLink)
void addLabels (const QStringList &labels)
void addOutputLink (Instruction *inputLink)
virtual AssemblyType assemblyType () const =0
virtual ProcessorBehaviour behaviour () const
RegisterBit bit () const
void clearLinks ()
virtual QString code () const =0
unsigned dest () const
Register file () const
virtual void generateLinksAndStates (Code::iterator instruction)
InstructionList inputLinks () const
ProcessorState inputState () const
bool isUsed () const
QStringList labels () const
uchar literal () const
InstructionList outputLinks () const
Register outputReg () const
ProcessorState outputState () const
uchar registerDepends (const Register &reg)
void removeInputLink (Instruction *ins)
void removeOutputLink (Instruction *ins)
void resetRegisterDepends ()
void setCode (Code *code)
void setInputState (const ProcessorState &processorState)
void setLabels (const QStringList &labels)
void setRegisterDepends (uchar depends, const Register &reg)
void setUsed (bool used)
virtual InstructionType type () const

Public Attributes

QString description
QString opcode
QString operand

Protected Member Functions

void makeLabelOutputLink (const QString &label)
void makeOutputLinks (Code::iterator current, bool firstOutput=true, bool secondOutput=false)

Protected Attributes

bool m_bInputStateChanged
RegisterBit m_bit
bool m_bPositionAffectsBranching
bool m_bUsed
unsigned m_dest:1
Register m_file
InstructionList m_inputLinks
ProcessorState m_inputState
QStringList m_labels
uchar m_literal
InstructionList m_outputLinks
ProcessorState m_outputState
Codem_pCode
QString m_raw
RegisterDepends m_registerDepends

Private Member Functions

 Instruction (const Instruction &)
Instructionoperator= (const Instruction &)

The documentation for this struct was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index