Составители:
59
switch(RAMM&0x7)
{ case 0: RA=ACC, RB= Ram[(PSW&0x18)|(IR&0x3)];RAMM++; break;
MicroCodMem(“BasC=ACC, BasB=RAM, BasA=IR, WrB=RA,WrC=RB, RAMM++”);
case 1: ACC=RA+RB, PSWC(“add”); RAMM++; break;
MicroCodMem(“ BasB=ALU, WrB=ACC, ALU=add, WrSFR, RAMM++ “);
case 2: Ram[Acc]=ACC; RAMM++; break;
MicroCodMem(“BasC=ACC, WrC=Ram, BasA=Acc, RAMM++”);
case 3: Ram[Psw]=PSW; RAMM=B;
MicroCodMem(“BasC=PSW, WrC=SFR, BasA=Psw, RAMM++”);
}
break;
case 0x12: //микропрограмма add a,#d
switch(RAMM&0x7) {
case 0: RA=ACC, RB=Code[PC++];RAMM++; break;
MicroCodMem(“BasA=PC, BasB=Code, BasC=ACC, WrB=RA, WrC=RB, RAMM++”);
case 1: ACC=RA+RB, PSWC(«add»); RAMM++; break;
MicroCodMem(“BasB=ALU, WrB=ACC, ALU=add, WePSW, RAMM++ “);
case 2: Ram[Acc]=ACC; RAMM++; break;
MicroCodMem(“BasC=ACC, WrC=Ram, BasA=Acc, RAMM++”);
case 3: Ram[Psw]=PSW; RAMM=0;
MicroCodMem(“BasC=PSW, WrC=Ram, BasA=Psw, RAMM=0”);
}
break;
}
//==================================Вывод состояния регистров
Instr->Text=itoa(IR,stro,16);
Acu->Text=itoa(ACC,stro,16);
Work->Text=itoa(Wrk,stro,16);
Work1->Text=itoa(Wrk1,stro,16);
ProgCnt->Text=itoa(PC,stro,16);
//Ramm->Text=itoa(RAMM,stro,16);
}
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
CheckBox1->State=cbChecked;
}
//========================создать файлы для загрузки памяти в MaxPlus
void __fastcall TForm1::files(char *name)
{
ADC[ ] Æ failadc
ROMM[ ] Æ failromm
DCM[ ] Æ faildcm
Const[ ] Æ failconst
Adsfr[ ] Æ failadsfr
Code[ ]Æ failcode }
Страницы
- « первая
- ‹ предыдущая
- …
- 57
- 58
- 59
- 60
- 61
- …
- следующая ›
- последняя »