moschannel2.java
来自「本程序是在软件模拟的计算机系统上设计一个多道程序的操作系统MOS」· Java 代码 · 共 57 行
JAVA
57 行
//类通道2,实现从输出缓存区到打印机的功能;
public class MosChannel2 {
private byte mos_chst = FinalVar.CHST_STAT_FREE;
byte prt_times = 0;
byte[] data = null;
MosMM mm;
String s = "";
MosVar var = null;
private int sbtemp = 0;
public MosChannel2(MosMM mm, MosVar var) {
this.mm = mm;
this.var = var;
}
// 启动通道2时,需传递所要输出字的地址,且每次启动只能打印一个安;
public void startChannel2(int addr) {
var.getMain().var_ioi_label.setText("2");
data = mm.mmRead(addr, FinalVar.MM_READ_WORD);
prtWrite();
setPrtTime();
var.getMain().mosp.var_out_label[4].setText("" + getPrtTime());
var.getMain().var_ioi_label.setText("0");
}
private void prtWrite() {
s = " ";
for(int i = 0;i < 4;i++) {
s = s + (char)data[i];
}
var.prt_area.append(s + "\n");
sbtemp = var.getMain().prt_scr_pane.getVerticalScrollBar().getMaximum();
var.getMain().prt_scr_pane.getVerticalScrollBar().setValue(sbtemp);
}
public void setMosChst(byte mos_chst) {
this.mos_chst = mos_chst;
if(this.mos_chst == FinalVar.CHST_STAT_FREE){
var.getMain().var_chan2_label.setText("闲");
}
else {
var.getMain().var_chan2_label.setText("忙");
}
}
public byte getMosChst() {
return this.mos_chst;
}
public void setPrtTime() {
prt_times++;
}
public byte getPrtTime() {
return prt_times;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?