Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой проект АСОИУ.doc
Скачиваний:
22
Добавлен:
01.05.2014
Размер:
43.52 Кб
Скачать

11. Список управляющих сигналов и флагов

Y1 - СчАК := СчАК + 1

Y2 - РА := СчАК

Y3 - Чтение из ОП

Y4 - РК[Сч] := РД

Y5 - СмИ := РК[0 - 15]

Y6 - Сложение

Y7 - РК := СмИ

Y8 - СмИ := РИ (РК [FL2 - FL4])

Y9 - Сч := 3

Y10 - Сч := Сч - 1

Y12 + Y11 - РА := А1

Y13 - Р1 := РД

Y14 + Y11 - РА := А2

Y15 - Р2 := РД

Y16 - Пуск АЛУ

Y17 + Y11 - РА := А3

Y18 - Запись в ОП

Y19 - СчАК := А

Y20 - Микропрограмма команды БП

Y21 - РА := А2

Y22 - СчАК := А1

Y23 - РА := РК[A]

Y24 - Чтение ВВ

Y25 - Запись ВВ

Y26 - Отсутствие переполнения

Y27 - Отсутствие деления на 0

Y28 - Прием запросов

Y29 - Сброс запроса

X1 - ОП закончила работу?

X2 - FL1 = 1? (Поле ПА)

X3 - Сч = 0?

X4 - АЛУ закончило работу?

X5 - Признак = 1?

X6 - ВВ закончил работу?

X7 - Наличие запроса?

12. Примеры команд и их кодов

№ Код Имя Содержание Функция

1 0000000 MOVA Чтение в регистр значения другого регистра (8 бит) R1 <-R2

2 0000001 MOVB Чтение в регистр значения другого регистра (16 бит) R1<-R2

3 0000010 MOVC Чтение байта из команды R1 <- disp

4 0000011 MOVD Чтение слова из команды R1 <- disp

5 0000100 MOVE Чтение байта из памяти R1 <- <disp>

6 0000101 MOVF Чтение слова из памяти R1 <- <disp>

7 0000110 MOVG Запись байта в память R1 -><disp>

8 0000111 MOVH Запись слова в память R1 -><disp>

9 0001000 MOVI Чтение байта из памяти R1 <- <R2+ disp>

10 0001001 MOVJ Чтение слова из памяти R1 <- <R2+ disp>

11 0001010 MOVK Запись байта в память R1 -> <R2+ disp>

12 0001011 MOVL Запись слова в память R1 -> <R2+ disp>

13 0001100 ADDA Сложение 2-х байт R1 <- R2+ R3

14 0001101 SUBA Вычитание 2-х байт R1<- R2-R3

15 0001110 SUBB Вычитание 2-х байт R1 <- R3 - R2

16 0001111 MULA Умножение 2-х байт R1 <- R2 • R3

17 0010000 DIVA Деление 2-х байт R1<- R2/R3

18 0010001 DIVB Деление 2-х байт R1 <- R3/R2

19 0010010 ADDB Сложение 2-х слов R1<- R2+ R3

20 0010011 SUBC Вычитание 2-х слов R1<- R2-R3

21 0010100 SUBD Вычитание 2-х слов R1<- R3-R2

22 0010110 MULB Умножение 2-х слов R1 <-R2* R3

23 0010111 DIVC Деление 2-х слов R1 <- R2/R3

24 0011000 DIVD Деление 2-х слов R1 <- R3 / R2

25 0011001 ADDB Сложение 2-х байт R1 <- R2+ <R3>

26 0011010 SUBE Вычитание 2-х байт R1 <- R2-<R3>

27 0011011 SUBF Вычитание 2-х байт R1 <- <R3>-R2

28 0011100 MULC Умножение 2-х байт R1 <- R2* <R3>

29 0011101 DIVE Деление 2-х байт R1 <- R2/<R3>

30 0011110 DIVF Деление 2-х байт R1 <- <R3>/R2

31 0011111 ADDC Сложение 2-х слов R1<- R2+ <R3>

32 0100000 SUBG Вычитание 2-х слов R1 <- R2-<R3>

33 0100001 SUBH Вычитание 2-х слов R1 <- <R3>-R2

34 0100010 MULD Умножение 2-х слов R1 <- R2* <R3>

35 0100011 DIVG Деление 2-х слов R1 <- R2 / <R3>

36 0100100 DIVH Деление 2-х слов R1 <- <R3>/R2

37 0100101 ADDD Сложение 2-х байт R1 <- R2+ disp

38 0100110 SUBI Вычитание 2-х байт R1 <- R2 - disp

39 0100110 SUBJ Вычитание 2-х байт R1 <- disp - R2

40 0100111 MULE Умножение 2-х байт R1 <- R2* disp

41 0101000 DIVI Деление 2-х байт R1 <- R2 / disp

42 0101001 DIVJ Деление 2-х байт R1<-disp/R2

43 0101010 ADDE Сложение 2-х слов R1 <- R2+ disp

44 0101011 SUBK Вычитание 2-х слов R1 <- R2 - disp

45 0101100 SUBL Вычитание 2-х слов R1 <- disp - R2

46 0101101 MULF Умножение 2-х слов R1 <- R2* disp

47 0101110 DIVK Деление 2-х слов R1 <- R2 / disp

48 0101111 DIVL Деление 2-х слов R1 <- disp/R2

Приведенный список команд служит для операций над данными с фиксированной точкой. Инвертирование последнего разряда позволяет производить все те же операции над данными с плавающей точкой. Список не является полным и может быть дополнен.