dioscuri.module.cpu32
Class LazyCodeBlockMemory
java.lang.Object
dioscuri.module.cpu32.Memory
dioscuri.module.cpu32.AbstractMemory
dioscuri.module.cpu32.LazyMemory
dioscuri.module.cpu32.LazyCodeBlockMemory
- All Implemented Interfaces:
- ByteArray
- Direct Known Subclasses:
- EPROMMemory
public class LazyCodeBlockMemory
- extends LazyMemory
- Author:
- Bram Lohman, Bart Kiers
Method Summary |
void |
clear()
|
protected void |
constructCodeBlocksArray()
|
void |
copyContentsFrom(int address,
byte[] buf,
int off,
int len)
|
CodeBlock |
decodeCodeBlockAt(Processor cpu,
int offset)
|
static void |
dispose()
|
int |
execute(Processor cpu,
int offset)
|
protected void |
regionAltered(int start,
int end)
|
void |
relinquishCache()
|
void |
setByte(int offset,
byte data)
|
void |
setDoubleWord(int offset,
int data)
|
void |
setProtectedCodeBlockAt(int offset,
ProtectedModeCodeBlock block)
|
void |
setRealCodeBlockAt(int offset,
RealModeCodeBlock block)
|
void |
setVirtual8086CodeBlockAt(int offset,
Virtual8086ModeCodeBlock block)
|
void |
setWord(int offset,
short data)
|
java.lang.String |
toString()
|
Methods inherited from class dioscuri.module.cpu32.AbstractMemory |
clear, clearArray, clearArray, getDoubleWord, getDoubleWordInBytes, getLowerDoubleQuadWord, getQuadWord, getQuadWordInBytes, getUpperDoubleQuadWord, getWord, getWordInBytes, setDoubleWordInBytes, setLowerDoubleQuadWord, setQuadWord, setQuadWordInBytes, setUpperDoubleQuadWord, setWordInBytes |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
realCodeBuffer
protected RealModeCodeBlock[] realCodeBuffer
protectedCodeBuffer
protected ProtectedModeCodeBlock[] protectedCodeBuffer
virtual8086CodeBuffer
protected Virtual8086ModeCodeBlock[] virtual8086CodeBuffer
LazyCodeBlockMemory
public LazyCodeBlockMemory(Memory src,
Clock clk)
- Parameters:
src
- clk
-
LazyCodeBlockMemory
public LazyCodeBlockMemory(byte[] buf,
Clock clk)
- Parameters:
buf
- clk
-
LazyCodeBlockMemory
public LazyCodeBlockMemory(int size,
Clock clk)
- Parameters:
size
- clk
-
constructCodeBlocksArray
protected void constructCodeBlocksArray()
relinquishCache
public void relinquishCache()
execute
public int execute(Processor cpu,
int offset)
- Overrides:
execute
in class LazyMemory
- Parameters:
cpu
- offset
-
- Returns:
- -
decodeCodeBlockAt
public CodeBlock decodeCodeBlockAt(Processor cpu,
int offset)
- Overrides:
decodeCodeBlockAt
in class LazyMemory
- Parameters:
cpu
- offset
-
- Returns:
- -
setVirtual8086CodeBlockAt
public void setVirtual8086CodeBlockAt(int offset,
Virtual8086ModeCodeBlock block)
- Parameters:
offset
- block
-
setProtectedCodeBlockAt
public void setProtectedCodeBlockAt(int offset,
ProtectedModeCodeBlock block)
- Parameters:
offset
- block
-
setRealCodeBlockAt
public void setRealCodeBlockAt(int offset,
RealModeCodeBlock block)
- Parameters:
offset
- block
-
regionAltered
protected void regionAltered(int start,
int end)
- Parameters:
start
- end
-
copyContentsFrom
public void copyContentsFrom(int address,
byte[] buf,
int off,
int len)
- Overrides:
copyContentsFrom
in class LazyMemory
- Parameters:
address
- buf
- off
- len
-
setByte
public void setByte(int offset,
byte data)
- Specified by:
setByte
in interface ByteArray
- Overrides:
setByte
in class LazyMemory
- Parameters:
offset
- data
-
setWord
public void setWord(int offset,
short data)
- Overrides:
setWord
in class LazyMemory
- Parameters:
offset
- data
-
setDoubleWord
public void setDoubleWord(int offset,
int data)
- Overrides:
setDoubleWord
in class LazyMemory
- Parameters:
offset
- data
-
clear
public void clear()
- Specified by:
clear
in interface ByteArray
- Overrides:
clear
in class LazyMemory
toString
public java.lang.String toString()
- Overrides:
toString
in class LazyMemory
dispose
public static void dispose()