RegisterBehaviour Class Reference

#include <instruction.h>

List of all members.

Public Member Functions

 RegisterBehaviour ()
void reset ()

Public Attributes

uchar depends
uchar indep


Detailed Description

Setting and dependency information for register bits. See the respective member descriptions for more information.

Author:
David Saxton

Definition at line 304 of file instruction.h.


Member Function Documentation

void RegisterBehaviour::reset (  ) 

Sets "depends", "indep" and "changes" to 0x0.

Definition at line 534 of file instruction.cpp.

References depends, and indep.

Referenced by RegisterBehaviour(), and ProcessorBehaviour::reset().


Member Data Documentation

uchar RegisterBehaviour::depends

The bits whose value before the instruction is executed will affect the processor state after execution. So for example, in MOVLW this will be 0x0; in ANDLW this will be the bits that are non-zero in the literal; in BTFSC this will be the bit being tested (if this is the register being tested).

Definition at line 321 of file instruction.h.

Referenced by Instr_xorlw::behaviour(), Instr_sublw::behaviour(), Instr_iorlw::behaviour(), Instr_andlw::behaviour(), Instr_addlw::behaviour(), Instr_btfss::behaviour(), Instr_btfsc::behaviour(), Instr_bsf::behaviour(), Instr_bcf::behaviour(), Instr_xorwf::behaviour(), Instr_swapf::behaviour(), Instr_subwf::behaviour(), Instr_rrf::behaviour(), Instr_rlf::behaviour(), Instr_movwf::behaviour(), Instr_movf::behaviour(), Instr_iorwf::behaviour(), Instr_incf::behaviour(), Instr_decfsz::behaviour(), Instr_decf::behaviour(), Instr_clrf::behaviour(), Instr_andwf::behaviour(), Instr_addwf::behaviour(), Optimizer::registerDepends(), and reset().

uchar RegisterBehaviour::indep

The bits whose value after the instruction is executed is independent of the value before execution. So for example, in MOVLW, this will be 0xff; in ANDLW this will be the bits that are zero in the literal; in BTFSC this will be 0x0.

Definition at line 330 of file instruction.h.

Referenced by Instr_xorlw::behaviour(), Instr_sublw::behaviour(), Instr_sleep::behaviour(), Instr_retlw::behaviour(), Instr_movlw::behaviour(), Instr_iorlw::behaviour(), Instr_andlw::behaviour(), Instr_addlw::behaviour(), Instr_bsf::behaviour(), Instr_bcf::behaviour(), Instr_xorwf::behaviour(), Instr_swapf::behaviour(), Instr_subwf::behaviour(), Instr_rrf::behaviour(), Instr_rlf::behaviour(), Instr_movwf::behaviour(), Instr_movf::behaviour(), Instr_iorwf::behaviour(), Instr_incf::behaviour(), Instr_decf::behaviour(), Instr_clrf::behaviour(), Instr_andwf::behaviour(), Instr_addwf::behaviour(), Optimizer::optimizeInstructions(), Optimizer::registerDepends(), and reset().


The documentation for this class was generated from the following files:
Generated on Tue May 8 17:05:57 2007 for KTechLab by  doxygen 1.5.1