Составители:
53
break;
}
Преобразование switch(ADC[IR]) выбирает одну из трасс микрокоманд
add a,ri или add a,#d, .
Распределение по тактам с использованием переменной step (младшие
разряды адресного регистра RAMM)
6.5. Команда ACALL
Содержание операции – переход к подпрограмме в странице размером 2
Кб. Выбрать два байта команды – старший байт в регистр IR, второй байт – во
вспомогательный рабочий регистр WRK. После этого продвинутый адрес из
PC
переписывается в СТЕК косвенно по адресу в указателе стека SP с пре--
инкрементом ++PC. Формируется новый адрес текущей страницы в РС - биты
A
10
..A
0
.
Схема формирования адреса
7 5 4 0 7 0
IR A
10
..A
8
10001 A
7
A
0 WRK
BasB BasC
10 8 7 0
PC PCH PCL
Функциональная микропрограмма:
switch(step)
{
case 0: Wrk=Code[PC++]; SP++;RAMM++; break;
case 1: Ram[SP++]=PC;RAMM++; break; //запись в Стек PC(7-0)
case 2: Ram[SP]=(PC>>8); RAMM++;//запись в Стек PC(15-8)
case 3; PC=((PC&0xf800)|Wrk)|(((IR&0xE0)>>5)<<8);RAMM++; break;
// формирование PC
case 4: Ram[Sp]=SP; RAMM=0; //сохранение продвинутого указателя
}
Реализация в MaxPlus функциональной микрокоманды
PC=((PC&0xf800)|Wrk)|((IR&0xE0)>>5)<<8; и управление передачей данных
через шины
“BasB=Acall, BasC=WRK, PCL=BasC, PCH=BasB, WrC,WrB”
Страницы
- « первая
- ‹ предыдущая
- …
- 51
- 52
- 53
- 54
- 55
- …
- следующая ›
- последняя »