Микропроцессор В1801ВМ1 архитектура и система команд — страница 5

  • Просмотров 2354
  • Скачиваний 233
  • Размер файла 17
    Кб

возврат, с запретом прерывания по Т-разряду до исполнения следующей команды ( 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 Условные обозначения: «*»=0 операции над словами 1 операции над байтами N Z C V 0003DD SWAB перестановка байтов * * 0 0 *050DD CLR(B) очистка (d) <=0 0 1 0 0 *051DD COM(B) побитная инверсия (d) <=

(|d) * * 0 0 *052DD INC(B) прибавление 1 (d) <=(d)+1 * * *- *053DD DEC(B) вычитание 1 (d) <=(d)+1 * * *- *054DD NEG(B) изменение знака (d) <=-(d) * * * * *055DD ADC(B) прибавить перенос (d)<=(d)+C * * * * *056DD SBC(B) вычесть перенос (d)<=(d)-C * * * * *057DD TST(B) проверка (d)<=(d) * * 0 0 *060DD ROR(B) циклич. сдвиг вправо => C,d * * * * *061DD ROL(B) циклич. сдвиг влево C,d <= * * * * *062DD ASR(B) арифм. сдвиг вправо (d)<=(d)/2 * * * * *063DD ASL(B) арифм. сдвиг влево (d)<=(d)*2 * * * * *067DD SXT расширить знак N=0 (d)<=0 0 1 0- N=1 (d)<=177777 1 0 0- Двух операторные

команды КОП SS DD 15 12 11 6 5 0 N S V C *1SSDD MOV(B) переслать (d)<=(s) * * 0- *2SSDD CMP(B) сравнить (s)-(d) * * * * *3SSDD BIT(B) проверить разряды (s)/(d) * * 0 - *4SSDD BIC(B) очистить разряды (d)<=(|s)/(d) * * 0 - *5SSDD BIS(B) установить разряды (d)<=(s)/(d) * * 0 - 06SSDD ADD сложить (d)<=(s)+(d) * * * * 074RSS XOR исключающее или (s)<= (r )\(s) * * 0 - 16SSDD SUB вычесть (d)<=(d)-(s) * * * * Операции с разрядами PSW Базовый КОП =240 0/1 N Z V C 15 6 7 4 3 2 1 0 Очистить 000241 CLC C - - - 0 000242 CLV V - - 0 - 000244 CLZ Z - 0 - - 000250 CLN N 0 - - - 000257 CCC N Z V C 0 0 0 0 Установить 000261 SEC C - -

- 1 000262 SEV V - - 1 - 000264 SEZ Z - 1 - - 000270 SEN N 1 - - - 000277 SCC N Z V C 1 1 1 1 Список литературы Персональный компьютер БК-0010 (Приложение к журналу «Информатика и образование» )