📄 moschannel3.java
字号:
public class MosChannel3 {
private byte mos_chst = FinalVar.CHST_STAT_FREE;
private byte disk_times = 0;
private MosMM mm;
private MosDisk disk;
MosVar var = null;
public MosChannel3(MosMM mm,MosDisk disk, MosVar var) {
this.mm = mm;
this.disk = disk;
this.var = var;
}
// write表示从键盘缓存区写入输入井,read表示从输入井读到内存程序区或从输出井读到打印缓存区;
public void startChannel3(byte mode,byte addr_from,byte addr_to) {
var.getMain().var_ioi_label.setText("3");
if(mode == FinalVar.CHST3_READ) {
diskWrite(addr_from,addr_to);
}
else if(mode == FinalVar.CHST3_WRITE) {
diskRead(addr_from,addr_to);
}
setDiskTimes();
var.getMain().mosp.var_out_label[3].setText("" + this.getDiskTimes());
var.getMain().var_ioi_label.setText("0");
}
// 从内存程序区写入输出井,需要传递所要传送的数据data,以及输出井地址addr_to;
public void startChannel3(byte[] data,byte addr_to) {
diskWrite(data,addr_to);
setDiskTimes();
}
private void diskWrite(byte addr_from,byte addr_to) {
byte[] data = new byte[40];
data = mm.mmRead(addr_from, FinalVar.MM_READ_PAGE);
disk.diskWrite(data, addr_to);
}
private void diskRead(byte addr_from,byte addr_to) {
byte[] data = new byte[40];
data = disk.diskRead(addr_from);
mm.mmWrite(data, addr_to);
}
private void diskWrite(byte[] data, byte addr_to) {
disk.diskWrite(data, addr_to);
}
public void setDiskTimes() {
disk_times++;
}
public byte getDiskTimes() {
return disk_times;
}
public void setMosChst(byte mos_chst) {
this.mos_chst = mos_chst;
if(this.mos_chst == FinalVar.CHST_STAT_FREE){
var.getMain().var_chan3_label.setText("闲");
}
else {
var.getMain().var_chan3_label.setText("忙");
}
}
public byte getMosChst() {
return this.mos_chst;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -