Package net.sourceforge.uiq3.fx603p
Class Op_M
- java.lang.Object
-
- net.sourceforge.uiq3.fx603p.Owned_Operation
-
- net.sourceforge.uiq3.fx603p.Programmable_Operation
-
- net.sourceforge.uiq3.fx603p.Op_M
-
- All Implemented Interfaces:
IClear
,IOperation
,IOwned_Operation
,IProgrammable_Operation
,IProgrammable_Operation
- Direct Known Subclasses:
A_Register
,Op_ABC
,Op_DC
,Op_M_Minus
,Op_M_Plus
,Op_Min_IO
,Op_MR_FEXE
,Op_Peek
,Op_Poke
,Op_X_M
abstract class Op_M extends Programmable_Operation
Halt Calculator- Author:
- "Martin Krischik" «krischik@users.sourceforge.net»
-
-
Field Summary
Fields Modifier and Type Field Description private static int
Begin_F_Register
private static int
Begin_M_Second_Half
private static int
Begin_MF_Second_Half
protected boolean
Is_M_Register
True when operating on an M-Registerprivate static Logger
Logger
class Logger instanceprivate static int
Mask_M_Register_Number
private static int
Plane_Size
protected int
Register
Register number worked onprivate static String
TAG
class Logger tag.-
Fields inherited from class net.sourceforge.uiq3.fx603p.Owned_Operation
Owner
-
Fields inherited from interface net.sourceforge.uiq3.fx603p.IProgrammable_Operation
No_Display
-
-
Constructor Summary
Constructors Constructor Description Op_M(@NotNull Calculator Owner)
Create operation and attach to owning calculator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
Check_M(int Memory, boolean Is_M)
Check im M Register is validvoid
Clear(boolean AC)
Reset state - for state full operations.void
Execute(short Opcode)
Execute virtual CPU command or key strokeprotected int
Get_M(int Opcode)
protected boolean
Is_M(int Opcode)
-
Methods inherited from class net.sourceforge.uiq3.fx603p.Programmable_Operation
Token
-
Methods inherited from class net.sourceforge.uiq3.fx603p.Owned_Operation
µReset, µReset, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sourceforge.uiq3.calculator.IProgrammable_Operation
Display
-
-
-
-
Field Detail
-
Begin_F_Register
private static final int Begin_F_Register
- See Also:
- Constant Field Values
-
Begin_M_Second_Half
private static final int Begin_M_Second_Half
- See Also:
- Constant Field Values
-
Begin_MF_Second_Half
private static final int Begin_MF_Second_Half
- See Also:
- Constant Field Values
-
Logger
private static final Logger Logger
class Logger instance
-
Mask_M_Register_Number
private static final int Mask_M_Register_Number
- See Also:
- Constant Field Values
-
Plane_Size
private static final int Plane_Size
- See Also:
- Constant Field Values
-
TAG
private static final String TAG
class Logger tag.
-
Is_M_Register
protected boolean Is_M_Register
True when operating on an M-Register
-
Register
protected int Register
Register number worked on
-
-
Constructor Detail
-
Op_M
Op_M(@NotNull @NotNull Calculator Owner)
Create operation and attach to owning calculator.- Parameters:
Owner
- Calculator which will call this Opcode
-
-
Method Detail
-
Check_M
protected void Check_M(int Memory, boolean Is_M) throws M_Error
Check im M Register is valid- Parameters:
Memory
- Memory register to testIs_M
- true when M register is handled- Throws:
M_Error
- exeption of memory is not valid
-
Clear
public void Clear(boolean AC)
Reset state - for state full operations.- Parameters:
AC
- All Clear reset- See Also:
IClear.Clear(boolean)
-
Execute
public void Execute(short Opcode) throws Error
Description copied from interface:IOperation
Execute virtual CPU command or key stroke
- Parameters:
Opcode
- Virtual CPU Operation to be executed- Throws:
Error
- something went wrongM_Error
- Memory accessed does not existError
- See Also:
IOperation.Execute(short)
-
Get_M
protected int Get_M(int Opcode)
- Parameters:
Opcode
- Opcode for which the memory register should be determined- Returns:
- number of the register
-
Is_M
@Contract(pure=true) protected boolean Is_M(int Opcode)
- Parameters:
Opcode
- Opcode for which the F or M register use need to be determined- Returns:
- true if normal memory is used.
-
-