Студентам > Курсовые > Микропроцессор В1801ВМ1 архитектура и система команд
Микропроцессор В1801ВМ1 архитектура и система командСтраница: 2/4
Система команд микропроцессора К1801ВМ1
Данный процессор содержит 8 регистров общего назначения (РОН, обозначение
в описании команд RN,
ãäå N=0..7)один
внутренний регистр состояния процессора PSW в котором задействовано 5 битов, каждый из которых имеет свои
имена:
· C-бит переполнения
· T-бит трассировки
· V-бит арифметического переполнения
· Z-бит равенства 0
· N-бит отрицательного числа
Два регистра из РОН (R6 и
R7) отвечают за следующие функции:
· R6 (SP)-Указатель стека
· R7 (PC)-Счетчик команд.
При описании команд, используются следующие обозначения:
· «SS» - поле адресации операнда-источника
· «DD» - поле адресации операнда-приемника
· «XXX»- смещение (-128,...,+128; 8 бит)
·
«N» - число, 3 бита
· «NN» - число,
6 бит
· «(N)» -содержимое ячейки или регистра
N
· «s» - операнд -источник
· «d» - операнд -приемник
· «r» - содержимое регистра
· «<=» - становится равным
· «X» - относительный адрес
· «%» - определение регистра
· «/» - логическое И
· «/» - логическое ИЛИ
· «\» - исключающее ИЛИ
· «|» - НЕ
Операции над разрядами PSW
· «*» - установка/сброс по результату
· «-» - состояние разряда не меняется
· «0» - сброс
· «1» - установка
Методы адресации
Метод мнемоника
0. регистровая R
1. косвенная
регистровая (
R ) или @R
2. автоинкрементная ( R
)+
3. косв.
автоинкрементная @( R )+
4. автодекрементная -(
R )
5. косв. автодекрементная @-( R )
6. индексная X(
R )
7. косв. индексная @X(
R )
Команды работы с программами
000000 HALT останов
000001 WAIT пауза - ожидания прерывания
000002 RTI возврат из прерывания (
PC <=(SP)+)
000003 BPT отладочное прерывание (-(SP) <=PSW <=(16) )
000004 IOT вызов системы ввода вывода ( -(SP) <=PC <= (22) )
000005 RESET сброс магистрали и процессора
000006 RTT возврат, с запретом прерывания по
Т-разряду до исполнения следующей команды ( PC<=(SP)+
PSW<=(SP)+ )
0001DD JMP безусловный
переход ( PC <= d )
00020R RTS возврат
из подпрограммы ( PC <= R <=(SP)+
000240 NOP нет операции
004RDD JSR вызов
подпрограммы (-(SP) <= R <= PC <= d )
0064NN MARK восстановление
стека ( -(SP)<=PC +(2
x NN) PC<=R5
<=(SP)+
077RNN SOB выч.
1 и ветвл., если (R#) не 0 ( R# <= R#-1 PC<=PC=( 2xNN) )
104000-104277 EMT вызов подпрограммы ПЗУ (-(SP)<= PSW <= (32) -(SP)<=
PC
<= (30) )
1064SS MTPS запись PSW ( PSW <= s )
1064Dd MFPS чтение PSW ( d <= PSW )
Переходы по условию (ветвления)
Базовый КОП
|
±
|
XXX
|
15
|
|
|
|
|
|
|
8
|
7
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если условие
выполняется, то (PC) <= (PC) + (2 x NN)
000400 + XXX BR безусловный переход
001000 + XXX BNE нет равенства ( нулю )
Z=0
001400 + XXX BEQ равенство ( нулю )
Z=1
102000 + XXX BVC арифм.переп. отсутствует
V=0
102400 + XXX BVS произошло арифм.переп.
V=1
103000 + XXX BCC перенос отсутствует
C=0
103400 + XXX BCS произошел перенос С=1
Переход
по знаку
100000 + XXX BPL знак плюс
N=0
100400 + XXX BMI знак минус
N=1
002000 + XXX BGE больше или равно (нулю)
N\V=0
002400 + XXX BLT меньше (нуля)
N\V=1
003000 + XXX BGT больше (нуля)
Z/(N\V)=0
003400 + XXX BLE меньше или равно(нулю)
Z/(N\V)=1
Переход
без знака
101000 + XXX BHI больше
C/Z=0
101400 + XXX BLOS меньше или равно
C/Z=1
103000 + XXX BHIS больше или равно
C=0
103400 + XXX BLO меньше
C=1
Одно-операторные
команды
Код операции (КОП)
|
DD
|
15
|
|
|
|
|
|
|
|
|
6
|
5
|
|
|
|
|
0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|