Package net.sourceforge.uiq3.fx602p
Class Op_M
- java.lang.Object
-
- net.sourceforge.uiq3.fx602p.Owned_Operation
-
- net.sourceforge.uiq3.fx602p.Op_M
-
- All Implemented Interfaces:
IClear
,IOperation
,IOwned_Operation
,IProgrammable_Operation
- Direct Known Subclasses:
A_Register
,Op_M_Minus
,Op_M_Plus
,Op_Min
,Op_MR
,Op_X_M
abstract class Op_M extends Owned_Operation implements IProgrammable_Operation
Halt Calculator- Author:
- "Martin Krischik" «krischik@users.sourceforge.net»
-
-
Field Summary
Fields Modifier and Type Field Description static int
Begin_F_Register
(package private) boolean
Is_M_Register
True when operating on an M-Registerprivate static Logger
Logger
Class logger instance.static int
Mask_M_Register_Number
protected int
Register
Register number worked onprivate static String
TAG
Class logger tag.-
Fields inherited from class net.sourceforge.uiq3.fx602p.Owned_Operation
Owner
-
-
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 (package private) 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 stroke(package private) int
Get_M(int Opcode)
(package private) boolean
Is_M(int Opcode)
-
Methods inherited from class net.sourceforge.uiq3.fx602p.Owned_Operation
µ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
-
Logger
private static final Logger Logger
Class logger instance.
-
TAG
private static final String TAG
Class logger tag.
-
Begin_F_Register
public static final int Begin_F_Register
- See Also:
- Constant Field Values
-
Mask_M_Register_Number
public static final int Mask_M_Register_Number
- See Also:
- Constant Field Values
-
Is_M_Register
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
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.- Specified by:
Clear
in interfaceIClear
- 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
- Specified by:
Execute
in interfaceIOperation
- 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
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) 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.
-
-