АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Дніпропетровськ НМетАУ - 2012

Читайте также:
  1. Дніпропетровськ НМетАУ 2013
  2. Дніпропетровська державна фінансова академія
  3. Дніпропетровська державна фінансова академія
  4. ДніпропетровськА державнА фінансовА АКАДЕМІЯ
  5. Дніпропетровська державна фінансова академія
  6. ДніпропетровськА державнА фінансовА АКАДЕМІЯ 1 страница
  7. ДніпропетровськА державнА фінансовА АКАДЕМІЯ 10 страница
  8. ДніпропетровськА державнА фінансовА АКАДЕМІЯ 11 страница
  9. ДніпропетровськА державнА фінансовА АКАДЕМІЯ 12 страница
  10. ДніпропетровськА державнА фінансовА АКАДЕМІЯ 13 страница
  11. ДніпропетровськА державнА фінансовА АКАДЕМІЯ 14 страница

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНА МЕТАЛУРГІЙНА АКАДЕМІЯ УКРАЇНИ

 

 

МЕТОДИЧНІ ВКАЗІВКИ

До виконання лабораторних робіт та

Практичних занять з дисципліни

«АРХІТЕКТУРА КОМП’ЮТЕРІВ»

для студентів спеціальності 6(7).080401

 

Дніпропетровськ НМетАУ - 2012

Практическая работа №1.
Арифметические операции над двоичными и двоично-десятичными числами.

Цель: Научиться выполнять арифметические операции над двоичными и двоично-десятичными числами.

Арифметические операции.

Операция "Сложение".

Правила сложения двоичных чисел.

0+0=0 0+1=1 1+0=1 1+1=10

Задание: сложить числа:

73H *+ 88H = 01110011 + 10001000 =
65H + 97H = 01100101 + 10010111 =
58H + 46H = 01011000 + 01000110 =
BCH + FFH = 10111100 + 11111111 =

Кодирование отрицательных чисел.

Дополнив запись числа в двоичном коде знаковым разрядом, который равен "0" для положительных и "1" отрицательных чисел, получим запись знака и модуля числа в прямом коде. Знаковый разряд располагается слева и отделяется от остальных разрядов точкой.

Другой формой записи двоичных чисел является обратный код. Обратный код отрицательного числа получается из прямого кода, равного ему по модулю положительного числа, инвертированием значений всех его разрядов.

Дополнительный код отрицательного числа получается из его обратного кода прибавлением единицы к младшему разряду. Для получения прямого кода операции выполняются в обратном порядке.

Задание: Получить прямой, обратный, дополнительный коды числа.

Число КОД Число КОД
Прямой Обратн. Допол. Прямой Обратн. Допол.
+0       -0      
+1       -1      
+8       -8      
+9       -9      
+A       -A      
+B       -B      
+C       -C      
+D       -D      

Вычитание.

Вычитание выполняется как суммирование чисел со знаком в дополнительном коде.

Правила сложения чисел со знаком:

Знаки операндов Знак результата
Одинаковые Совпадают со знаком операндов – результат корректный Не совпадают со знаком операндов - результат не корректный
Различные Результат всегда корректный

Некорректный результат получается при переполнении разрядной сетки.

Задание: Выполнить операции вычитания:


39H - 13H =

77H - 99H =

57H - 78H =

58H - 24H =

60H - 58H =


Результаты представить в прямом коде и двоичном виде.

Умножение.

Умножение обычно выполняется в прямом коде. Знак произведения определяется по знакам операндов. Если знаки операндов одинаковы, то результат положителен, если различные, то результат отрицателен.

Правила двоичного умножения:


0*0=0

0*1=0

1*0=0

1*1=1


Процедура умножения аналогична умножению в "столбик".

Пример:

*1011

-------------

-------------------

Задание: перемножить числа:


7CH * AAH =

95H * 64H =

77H * 79H =

53H * 62H =

88H * 99H =


Деление.

Существует два алгоритма деления: с восстановлением остатка и без восстановления остатка. Алгоритм деления с восстановлением остатка аналогично делению вручную. Более практичный алгоритм без восстановления остатка. Он предусматривает следующую очередность действий: из делимого вычитается делитель. Если остаток положительный, то первая цифра частного равна "1", в противном случае "0" остаток сдвигается в лево к нему прибавляется делитель со знаком, Обратным знаку остатка. Знак следующего остатка определяет следующую цифру частного. Действие производится до тех пор, пока не получится требуемое число разрядов или нулевой остаток.

Пример:

0.111111010:0.10111=0.10110

 

0.111111010

+1.01001

------------------------

10.010001 1-результат положителен.

+1.01001 вычитание делителя.

-----------------------

1.110100 0-результат отрицателен.

+ 0.10111 прибавление делителя.

----------------------

10.0010111 1-результат положителен.

+1.01001 вычитание делителя.

----------------------

10.00000 1-остаток равен 0.

Частное 0.10110

знак при делении определяется аналогично знаку произведения.

Задание:

Выполнить деление чисел 33:11= 100001:1011=

Содержание отчета:

1. Дата, номер, наименование работы.

2. Цель работы.

3. Основные правила выполнения операций над двоичными числами.

4. Выполненные контрольные примеры, данные в инструкции или по заданию преподавателя.

Контрольные вопросы:

1. Правила выполнения сложения и вычитания.

2. Правила и алгоритмы умножения и деления.

Индивидуальные задания к практической работе № 1

1. Перевести в двоичную систему исчисления и выполнить действия:

2. Перевести в двоичную систему счисления. Найти обратный и дополнительный коды:

3. Перевести в двоичную и десятичную системы счисления. Записать в двоичной системе исчисления в форме с фиксированной и плавающей запятыми:

N варианта N задания
     
  10(H): 4(D) B(H) -2B(H)
  17(О): 3(H) 28,6(D) -1B(H)
  E(H) + 10(H) 9,2(D) -2A(H)
  F8(H) - D8(H) 14,8(D) 1E(H)
  15(D) + 17(О) 8,5(D) -26(H)
  0A(H) * 5(О) 5,26(D) -12(О)
  372(О) + A(H) 1,56(D) -22(О)
  20(О) - E(H) 15,6(О) -15(H)
  0F(H) + 17(О) 9,75(D) -25(H)
  372(О): A(H) 0,56(D) -15(О)
  D8(H): 4(D) 14,2(D) -10(H)
  FA(H): A(H) 0,71(D) -1C(H)
  22(О) - D(H) 65,6(D) 1A(H)
  FF(H): 10(D) 88,8(D) 24(О)
  377(О): 5(D) 35,5(D) -26(D)
  D(H) * 11(B) 10,5(D) -21(О)
  11(О):11(B) 12,7(D) -14(О)
  D(H) + 10(О) 15,9(D) 15(О)
  FF(H):101(B) 16,6(D) 13(D)
  20(H) - 10(О) A,10(H) -1A(H)
  40(D): 12(О) 11,5(О) 0B(H)
  100(B) * A(H) 1,25(D) 2B(H)
  12(О) + 0F(H) 10,8(D) 11(H)
  371(О)-320(О) 6,42(D) -20(О)
  FC(H): 11(B) 18,7(D) -12(H)
  0C(H) + 20(О) 11,3(D) -2A(H)
  330(О)-215(D) 7,77(D) 55(О)
  0F(H): 05(О) 9,71(D) -33(О)

Практическая работа №2.
Оптимизация логическиx выражений и составление СХЕМЫ ЭЛЕКТРИЧЕСКОЙ ФУНКЦИОНАЛЬНОЙ ЛОГИЧЕСКОГО УСТРОЙСТВА.

Цель: Научиться оптимизировать логические функции и составлять схемы электрические функциональные.

В алгебре логике имеются четыре основные закона: переместительный (свойства коммутативности); сочетательный (свойства ассоциативности); распредилительный (свойства дистрибутивности); инверсии (правило де Могана).

Соотношения отображающие основные законы алгебры логики.

Законы Логическое сложение Логическое умножение
  Переместительный
  Сочетательный
  Распределительный
  Инверсия

Дополнительные правила алгебры логики.

Правило А Б
  Инверсия
  Неизменности
  Универсального и нулевого множеств
  Повторения
  Дополнительность
  Склеивания
  Двоиного отрицания  

Пример оптимизации

по закону3:

по правилу 5б, 2а:

по правилу 4б:

по закону 3:

по правилу 5а:

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

Задание: Минимизировать следующие функции:

Составление логической функции элемента, заданного таблицей истинности. (Таблица Карно (ТК))

Правила построения ТК следующие:

1. Количество клеток ТК равно количеству строк таблицы истинности.

2. Слева и сверху располагаются значения аргументов. Порядок размещения аргументов таков, что в двух соседних по горизонтали и вертикали клетках отличается значение только одного аргумента (поэтому соседними считаются и клетки, находящиеся на противоположных краях таблицы).

3. В клетки заносятся соответствующие значения логической функции.

4. Единичные клетки объединяются в прямоугольники (импликанты) по 2n клеток.

5. Для каждого прямоугольника записывается произведение тех аргументов, которые в соседних клетках не изменяют своего значения.

6. Переменные входят в произведение в прямом виде, если их значение в соседних клетках равно 1, в противном случае в инверсном.

7. Полученные произведения складываются по ИЛИ в искомую логическую функцию.

Ячейки, в которых функция не определена, отметить * и доопределить 1.

 

Рассмотрим примеры.

5. Для F1   X3 X4   Для F2   X3 X4
X1 X2             X1 X2          
                     
                     
    *1 *1 *1     *1 6. *1 *1 *1
      *1 *1         *1 *1
   
7. Для F3   X3 X4   Для F4   X3 X4
X1 X2             X1 X2          
                     
                     
  *1 *1 *1 *1       *1 *1 *1
      *1 *1         *1 *0
   
Для F5   X3 X4   Для F6   X3 X4
X1 X2             X1 X2          
                     
                     
  *1 *1 *1 *1     *0 *0 *0 *1
      *1 *1         *0 *1
   
Для F7   X3 X4        
X1 X2                        
                     
                     
  *1 *1 *1 *1            
      *1 *1            
             

Содержание отчета.

1. Дата, номер, наименование работы.

2. Цель работы.

3. Решение индивидуального задания.

 

Контрольные вопросы.

1. Какие основные отличительные особенности логических переменных.

2. Каковы способы представления логических функций.

3. Назвать основные законы алгебры логики.

 

Индивидуальные задания к практической работе № 2

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

 

X1 X2 X3 F F F F F F F F F F F F F F F
                                   
                                   
                                   
                                   
                                   
                                   
                                   
                                   

 

 

X1 X2 X3 X4 F F F F F F F F F F F F F F
                      * * * * * * *
                      * * * * * * *
                      * * * * * * *
                      * * * * * * *
                      * * * * * * *
                      * * * * * * *
                                   
                                   
                                   
                                   
        * * * * * * *              
        * * * * * * *              
        * * * * * * *              
        * * * * * * *              
        * * * * * * *              
        * * * * * * *              

 

 

Практическая работа №3
ИССЛЕДОВАНИЕ СЕКЦИОНИРОВАННОГО МИКРОПРОЦЕССОРА

 

Цель работы: Изучить структурную схему и основные принципы работы МП КМ1804ВС1.

1 Порядок работы:

1.1.Изучить структурную схему микропроцессора.

1.2.Изучить назначение выводов и сигналов микропроцессора.

1.3.Изучить структуру микрокоманд КМ1804ВС1.

1.4.Получить индивидуальное задание.

1.5.Составить блок-схему алгоритма.

1.6.Написать программу в виде последовательности микрокоманд

микрокоманда приемник Функция АЛУ источник Поле D Поле В Поле А
               

 

Контрольные вопросы.

1.Назначение отдельных элементов структурной схемы МП.

2.Формирования кода микрокоманды.

 

 

Источники операторов АЛУ. Управление операцией АЛУ.

 

 

  Микрокод Источник операндов АЛУ
      R S
      A Q
      A B
        Q
        B
        A
      D A
      D Q
      D  

 

Микрокод Операция АЛУ
     
      R+S+CY
      S-R-1+CY
      R-S-1+CY
      RUS
      R∩S
      noR∩S
      R+S
      noR+’noS

 

 

Примечание: A - содержимое РОН по адресу А;

B - содержимое РОН по адресу В;

Q - содержимое дополнительного регтстра РгQ;

D - данные с информационного выхода;

+ - исключающее ИЛИ;

СY - единица переноса;

R,S - входы АЛУ;

F - выход АЛУ.

 

Управление приемником результата.

 

Микрокод     Загрузка - сдвиг RG ЗУ и RGQ     Выход К1804BC1  
     
      F→Q F
      НЕТ ЗАГРУЗКИ F
      F→B A
      F→B F
      F/2→B(вправо),Q/2→Q(вправо) F
      F/2→B(вправо) F
      2F→B(влево),2Q→Q(влево) F
      2F→B(влево) F

 

Признаки (флаги)

QVR - переполнение, =1 в старшей секции МП показывает, что результат

арифметической операции в доп.коде занял старший разряд.

С4 - выход переноса из АЛУ.

Z - нулевой результат(Z=1).

F3 - старший (знаковый) разряд АЛУ.

 

1-й операнд 2-й операнд Задание
  7→RG0 3→RG1 (RG0)+ (RG1)
  10→RGQ   (RGQ)-8
  6→RG3 8→ RGQ (RG3)+ (RGQ)
  7→ RG4 3→RG5 (RG4)- (RG5)
  10→ RGQ   (RGQ)+6
  15→ RGQ 10→ RG7 (RGQ) -(RG7)
  9→ RG5 7→ RG0 (RG5)+ (RG0)
  10→ RGQ 10→ RG3 (RGQ) -(RG3)
    5→ RGQ 6+(RGQ)
  8→ RG0 11→ RG4 (RG0)- (RG4)
  5→ RGQ 12→ RG2 (RGQ)+ (RG2)
  10→ RGQ   (RG10)-9

 

 

Практическая работа №4

 

ИССЛЕДОВАНИЕ ОДНОКРИСТАЛЬНОГО МИКРОПРОЦЕССОРА КР580ВМ80.

 

Цель работы: Изучить структурную схему и основные принципы работы МП КР580ВМ80.

 

1 Порядок работы:

1.1. Изучить структурную схему микропроцессора.

1.2. Изучить назначение выводов и сигналов микропроцессора.

1.3. Изучить программистскую модель микропроцессора.

1.4. Изучить систему команд микропроцессора.

1.5. Получить индивидуальное задание.

1.6. Составить блок-схему алгоритма.

1.7. Написать программу в мнемо и машинных кодах микропроцессора.

(на стенде РТЦ для КР580ВМ80 программы начинаются и заканчиваются

командой NOP)

 

 

N МНЕМОКОД МАШИННЫЙ КОД КОМЕНТАРИИ
       

 

1-Й ОПЕРАНД 2-Й ОПЕРАНД 3-Й ОПЕРАНД ЗАДАНИЕ
  7→RGA 3→RGB - (RGA)+ (RGB) →addr33
  6→RGC 5→RGA 10→RGB (RGC)+ (RGA)+ (RGB) →addr1
  10→RGA 8→ RGC - (RGA)- (RGC) →RGB
  8→ RGC 6→RGB 3→RGA (RGA)+ (RGC)- (RGB) →addr1
  5→ RGA   - (RGA)- 7 →RGE
  11→ RGA 4→ RGE   [(RGA)+ (RGE)]*4 →addr1
  15→ RGA   - (RGA)-10 →RGB
  10→ RGB 16→ RGA - [(RGA)- (RGB)]INR→RGH
  4→RGA 2→ RGD   [(RGA)+ (RGD)]*3 →RGA
  7→ RGD 4→ RGA - [(RGD)+ (RGA)]DCR→ addr30

 

 

СПРАВОЧНЫЕ ДАННЫЕ ПО СИСТЕМЕ КОМАНД МИКРОПРОЦЕССОРА КР580ИК80А.

Группа команд пересылки(все признаки сохраняют свои значения).

Мнемо код Описание операции операция   длина   Код операции Число тактов Признаки  
MOV R1,R2 Пересылка данных из R2(SSS)в R1(DDD) (R1)←(R2)   01DDDSSS    
HCHG Обмен данными между регистровыми парами (HL)↔(DE)        
SPHL Передача в SP содержимого регистровой пары(HL) (SP)←(HL)        
MOV R,M Пересылка из памяти (адресHL) в регистр R (R)←M(HL)   01DDD110    
MOV M,R Пересылка из регистра R в память (адресHL) M(HL) ←(R)   01110SSS    
LDAX RP Запись в А из памяти адрес (ВС) или (DE) (A)←M(BC) (A)←M(DE)        
STAX RP Запись из А память по адресу (ВС) или (DE) M(BC) ←(A) M(DE) ←(A)        
LDA A16 Запись в А из памяти адрес –А16 (A)←M(A16)        
STA A16 Запись из А память по адресу А16 M(A16) ←(A)        
LHLD A16 Запись в HL из памяти адрес –А16 (L)←M(A0) (H)←M(A1)        
SHLD A16 Запись из HL в память адрес –А16 M(A0) ←(L) M(A1) ←(H)        
MVI R,D8 Запись байта D8 в регистр R (R)←D8   00DDD110    
LXI RP,D16 Запись данных D16 в регистровую пару (RP)←D16   00RP0001    
MVI M,D8 Запись байта D8 в пам'ять по адресу (HL) M(HL) ←D8        
PUSH RP Запись из пары регистров в стек M(SP-1) ←(RPСТ) M(SP-2) ←(RPМЛ)   11RP0101    
POP RP Выдача данных из стека в пару регистров (RPСТ)←M(SP-1) (RPМЛ)←M(SP-2)   11RP0001    
XTHL Обмен стека с HL M(SP) ↔ (L) M(SP-1) ↔ (H)        
IN PORT Ввод в А из порта ввода с адресом PORT (A)←I(PORT)        
OUT PORT Вывод из А в порт вывода с адресом PORT O(PORT)←(A)        

 

 

Группа команд арифметических операций

Мнемо код Описание операции операция   длина   Код операции Число тактов Признаки  
ADD R Суммирование (А) с (R) (A)←(A)+(R)   10000SSS   S, Z, AC, P, CY
ADC R Суммирование (А) с (R) с учётом переноса (A)←(A)+(R)+CY   10001SSS   S, Z, AC, P, CY
SUB R Вычитание из (А) -(R) (A)←(A)-(R)   10010SSS   S, Z, AC, P, CY
SBB R Вычитание из (А) -(R) с учётом переноса (A)←(A)-(R)-CY   10011SSS   S, Z, AC, P, CY
INR R Увеличение (R) на 1 (R)←(R)+1   00RRR100   S, Z, AC, P
DCR R Уменьшение (R) на 1 (R)←(R)-1   00RRR101   S, Z, AC, P
DAD RP Суммирование (RP) с (HL) (HL)←(HL)+(RP)   00RP1001   CY
INX RP Увеличение (RP) на 1 (RP)←(RP)+1   00RP0011    
DCX RP Уменьшение (RP) на 1 (RP)←(RP)-1   00RP1011    
ADD M Суммирование (А) с M по адресу в HL (A)←(A)+M(HL)       S, Z, AC, P, CY
ADC M Суммирование (А) с M по адресу в HL с учётом переноса (A)←(A)+M(HL)+CY       S, Z, AC, P, CY
SUB M Вычитание из(А) - M по адресу в HL (A)←(A)-M(HL)       S, Z, AC, P, CY
SBB M Вычитание из(А) - M по адресу в HL) с учётом переноса (A)←(A)-M(HL)+CY       S, Z, AC, P, CY
INR M Увеличение на 1 М по адресу в HL M(HL)←(HL)+1       S, Z, AC, P
DCR M Уменьшение на 1 М по адресу в HL M(HL)←(HL)-1       S, Z, AC, P
ADI D8 Суммирование (А) с текущими данными (A)←(A)+D8       S, Z, AC, P, CY
ACI D8 Суммирование (А) с текущими данными с учётом переноса (A)←(A)+D8+CY       S, Z, AC, P, CY
SUI D8 Вычитание из (А) текущих данных (A)←(A)-D8       S, Z, AC, P, CY
SBI D8 Вычитание из (А) текущих данных с учётом переноса (A)←(A)-D8-CY       S, Z, AC, P, CY
DAA Переход из В системы в BD систему (ABD)←(AB)       S, Z, AC, P, CY

 

 

Группа специальных команд управления.(Все признаки сохраняют свои значения)

Мнемо код Описание операции длина   Код операции Число тактов
E1 Разрешить прерывание      
D1 Запретить прерывание      
HLT останов      
NOP Пустая операция      

 

Условные обозначения:

R - один из регистров - А-111, В-000, С-001, D-010, E-011, H-100, L-101.

DDD - код регистра приёмника данных.

SSS - код регистра источника данных.

RP - одна из регистровых пар - B(BC)-00, D(DE)-01, H(HL)-10, SP-11.

M - память М-110, адресуемая через HL.

PORT - 8-разрядный адрес порта ввода-вывода.

I(PORT) - содержимое порта ввода с адресом PORT.

O(PORT) - содержимое порта вывода с адресом PORT.

D8, D16 - 8 и 16 разрядный непосредственный операнд.

А16 - 16-разрядный адрес.

(R) - содержимое регистра

(RP) - содержимое регистровой пары.

M(RP) - содержимое ячейки памяти по адресу хранящемуся в регистровой паре.

Регистр признаков (F-флаговый регистр). S Z 0 AC 0 P 1 CY

S - признак знака, принимает значение старшего разряда результата +S=1,-S=0.

Z - признак нуля. Z=1 если результат равен 0, иначе Z=0.

AC - признак вспомогательного переноса =1,если есть перенос между

тетрадами байта, иначе - 0.

Р - признак чётности =1,если число 1 в байте результата чётно,иначе 0.

CY - признак переноса(заёма) =1,если при выполнении команды возник

перенос из старшего разряда или заём в старший разряд.

 

ЗНАЧЕНИЕ РАЗРЯДОВ БАЙТА СОСТОЯНИЯ (PSW).

Тип машинного цикла D7 D6 D5 D4 D3 D2 D1 D0
  Выбор команды                
  Чтение из памяти                
  Запись в память                
  Чтение из стека                
  Запись в стек                
  Ввод                
  Вывод                
  Подтверждение разрешения на прерывание                
  Подтверждение останова                
  Подтверждение прерывания при останове                

 

НЗНАЧЕНИЕ РАЗРЯДОВ БАЙТА СОСТОЯНИЯ (PSW).

D ОБОЗНАЧЕНИЕ И НАИМЕНОВАНИЕ СИГНАЛА НАЗНАЧЕНИЕ РАЗРЯДА
D7 MEMR ЧТ Чтение из памяти В данном Мц будет чтение
D6 INP ВВ Ввод На ША номер устройства ввода. Предполагается ввод информации в процессор
D5 M1 М1 Выбор 1-го байта Данный Мц для выбора 1-го байта команды
D4 OUT ВЫВ Вывод На ША номер устройства вывода. Предполагается вывод ___ информации при сигнале WR
D3 HLTA ПО Подтверждение останова Отклик на команду HLT
D2 STACK СТЕК Стек На ША адрес SP (указателя стека
D1 ___ WO __ ЗП/В Запись или вывод На ШД информация для записи или вывода на внешнее устройство
D0 INTA ПП Подтверждение прерывания Стробирование номера запроса на прерывание при сигнале DBIN

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.045 сек.)