📄 memory.java
字号:
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public
class Memory
extends Frame
implements AdjustmentListener, ActionListener
{
public Memory( Frame parent, String windowTitle )
{
super( windowTitle );
CPUBox = ( CPU ) parent;
clear();
MenuBar mbar = new MenuBar();
setMenuBar( mbar );
Menu type = new Menu( "Type" );
type.add( new MenuItem( "View memory in HEX" ) );
type.add( new MenuItem( "View memory in BINARY" ) );
editMemoryMenuItem = new MenuItem( "Edit Memory" );
editMemoryMenuItem.addActionListener( this );
fillMemoryMenuItem = new MenuItem( "Fill Memory" );
fillMemoryMenuItem.addActionListener( this );
clearMemoryMenuItem = new MenuItem( "Clear Memory" );
clearMemoryMenuItem.addActionListener( this );
editMenu = new Menu( "Edit" );
editMenu.add( editMemoryMenuItem );
editMenu.add( fillMemoryMenuItem );
editMenu.add( clearMemoryMenuItem );
Menu view = new Menu( "View" );
/*
view.add( new MenuItem( "Address 00h - 07FFh (0 - 2047)" ) );
view.add( new MenuItem( "Address 0800h - 0FFFh (2048 - 4095)" ) );
view.add( new MenuItem( "Address 1000h - 17FFh (4096 - 6143)" ) );
view.add( new MenuItem( "Address 1800h - 1FFFh (6144 - 8191)" ) );
view.add( new MenuItem( "Address 2000h - 27FFh (8192 - 10239)" ) );
view.add( new MenuItem( "Address 28FFh - 2FFFh (10240 - 12287)" ) );
view.add( new MenuItem( "Address 3000h - 37FFh (12288 - 14335)" ) );
view.add( new MenuItem( "Address 3800h - 3FFFh (14336 - 16383)" ) );
view.add( new MenuItem( "Address 4000h - 47FFh (16384 - 18431)" ) );
view.add( new MenuItem( "Address 4800h - 4FFFh (18432 - 20479)" ) );
view.add( new MenuItem( "Address 5000h - 57FFh (20480 - 22527)" ) );
view.add( new MenuItem( "Address 5800h - 5FFFh (22528 - 24575)" ) );
view.add( new MenuItem( "Address 6000h - 67FFh (24576 - 26623)" ) );
view.add( new MenuItem( "Address 6800h - 6FFFh (26624 - 28671)" ) );
view.add( new MenuItem( "Address 7000h - 77FFh (28672 - 30719)" ) );
view.add( new MenuItem( "Address 7800h - 7FFFh (30720 - 32767)" ) );
view.add( new MenuItem( "Address 8000h - 87FFh (32768 - 34815)" ) );
view.add( new MenuItem( "Address 8800h - 8FFFh (34816 - 36863)" ) );
view.add( new MenuItem( "Address 9000h - 97FFh (36864 - 38911)" ) );
view.add( new MenuItem( "Address 9800h - 9FFFh (38912 - 40959)" ) );
view.add( new MenuItem( "Address A000h - A7FFh (40960 - 43007)" ) );
view.add( new MenuItem( "Address A800h - AFFFh (43008 - 45055)" ) );
view.add( new MenuItem( "Address B000h - B7FFh (45056 - 47103)" ) );
view.add( new MenuItem( "Address B800h - BFFFh (47104 - 49151)" ) );
view.add( new MenuItem( "Address C000h - C7FFh (49152 - 51199)" ) );
view.add( new MenuItem( "Address C800h - CFFFh (51200 - 53247)" ) );
view.add( new MenuItem( "Address D000h - D7FFh (53248 - 55295)" ) );
view.add( new MenuItem( "Address D800h - DFFFh (55296 - 57343)" ) );
view.add( new MenuItem( "Address E000h - E7FFh (57344 - 59391)" ) );
view.add( new MenuItem( "Address E800h - EFFFh (59392 - 61439)" ) );
view.add( new MenuItem( "Address F000h - F7FFh (61440 - 63487)" ) );
view.add( new MenuItem( "Address F800h - FFFFh (63488 - 65535)" ) );
view.addSeparator();
*/
view.add( new MenuItem( "Close Window" ) );
mbar.add( view );
mbar.add( editMenu );
mbar.add( type );
// vert = new Scrollbar( Scrollbar.VERTICAL, 0, 0, 0, 669 );
// add( "East", vert );
// vert.addAdjustmentListener( this );
top = 0;
bottom = 64;
addWindowListener(
new WindowAdapter()
{
public void windowClosing( WindowEvent e )
{
setVisible( false );
}
}
);
setSize( 315, 400 );
}
public void adjustmentValueChanged( AdjustmentEvent ae )
{
scrollvalue = 15 * vert.getValue();
repaint();
}
public boolean action( Event evtObj, Object arg )
{
/* if ( arg.equals( "Address 0000h - 07FFh (0 - 2047)" ) )
{
top = 0;
bottom = 2048;
repaint();
return ( true );
}
else if(arg.equals("Address 0800h - 0FFFh (2048 - 4095)"))
{
top=2048;
bottom=4096;
repaint();
return true;
}
else if(arg.equals("Address 1000h - 17FFh (4096 - 6143)"))
{
top=4096;
bottom=6144;
repaint();
return true;
}
else if(arg.equals("Address 1800h - 1FFFh (6144 - 8191)"))
{
top=6144;
bottom=8192;
repaint();
return true;
}
else if(arg.equals("Address 2000h - 27FFh (8192 - 10239)"))
{
top=8192;
bottom=10240;
repaint();
return true;
}
else if(arg.equals("Address 28FFh - 2FFFh (10240 - 12287)"))
{
top=10240;
bottom=12288;
repaint();
return true;
}
else if(arg.equals("Address 3000h - 37FFh (12288 - 14335)"))
{
top=12288;
bottom=14336;
repaint();
return true;
}
else if(arg.equals("Address 3800h - 3FFFh (14336 - 16383)"))
{
top=14336;
bottom=16384;
repaint();
return true;
}
else if(arg.equals("Address 4000h - 47FFh (16384 - 18431)"))
{
top=16384;
bottom=18432;
repaint();
return true;
}
else if(arg.equals("Address 4800h - 4FFFh (18432 - 20479)"))
{
top=18432;
bottom=20480;
repaint();
return true;
}
else if(arg.equals("Address 5000h - 57FFh (20480 - 22527)"))
{
top=20480;
bottom=22528;
repaint();
return true;
}
else if(arg.equals("Address 5800h - 5FFFh (22528 - 24575)"))
{
top=22528;
bottom=24576;
repaint();
return true;
}
else if(arg.equals("Address 6000h - 67FFh (24576 - 26623)"))
{
top=24576;
bottom=26624;
repaint();
return true;
}
else if(arg.equals("Address 6800h - 6FFFh (26624 - 28671)"))
{
top=26624;
bottom=28672;
repaint();
return true;
}
else if(arg.equals("Address 7000h - 77FFh (28672 - 30719)"))
{
top=28672;
bottom=30720;
repaint();
return true;
}
else if(arg.equals("Address 7800h - 7FFFh (30720 - 32767)"))
{
top=30720;
bottom=32768;
repaint();
return true;
}
else if(arg.equals("Address 8000h - 87FFh (32768 - 34815)"))
{
top=32768;
bottom=34816;
repaint();
return true;
}
else if(arg.equals("Address 8800h - 8FFFh (34816 - 36863)"))
{
top=34816;
bottom=36864;
repaint();
return true;
}
else if(arg.equals("Address 9000h - 97FFh (36864 - 38911)"))
{
top=36864;
bottom=38912;
repaint();
return true;
}
else if(arg.equals("Address 9800h - 9FFFh (38912 - 40959)"))
{
top=38912;
bottom=40960;
repaint();
return true;
}
else if(arg.equals("Address A000h - A7FFh (40960 - 43007)"))
{
top=40960;
bottom=43008;
repaint();
return true;
}
else if(arg.equals("Address A800h - AFFFh (43008 - 45055)"))
{
top=43008;
bottom=45056;
repaint();
return true;
}
else if(arg.equals("Address B000h - B7FFh (45056 - 47103)"))
{
top=45056;
bottom=47104;
repaint();
return true;
}
else if(arg.equals("Address B800h - BFFFh (47104 - 49151)"))
{
top=47104;
bottom=49152;
repaint();
return true;
}
else if(arg.equals("Address C000h - C7FFh (49152 - 51199)"))
{
top=49152;
bottom=51200;
repaint();
return true;
}
else if(arg.equals("Address C800h - CFFFh (51200 - 53247)"))
{
top=51200;
bottom=53248;
repaint();
return true;
}
else if(arg.equals("Address D000h - D7FFh (53248 - 55295)"))
{
top=53248;
bottom=55296;
repaint();
return true;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -