Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 курс / Интерфейсы / LABORATORNAYa_RABOTA.doc
Скачиваний:
45
Добавлен:
27.04.2015
Размер:
290.82 Кб
Скачать

2. Учебная микро-эвм умпк 80

Модуль микроЭВМ УМПК 80 предназначен для изучения функционирования и программирования МП БИС КР580ВМ80А, освоения методов отыскания неисправностей микроЭВМ.

2.1. Карта памяти микроЭВМ УМПК-80

--------T---------------------------------------¬

¦ ¦ Область для ¦ 0FFF

¦ ¦ стека и данных ¦

¦ ¦ монитора ¦ 0FB1

¦ О З У +- - - - - - - - - - - - - - - - - - - -+

¦ ¦ Область для стека и ¦ 0FB0

¦ 2 K ¦ данных исследуемых ¦

¦ ¦ программ ¦ 0C00

¦ байт +- - - - - - - - - - - - - - - - - - - -+

¦ ¦ Область для записи ¦ 0BFF

¦ ¦ исследуемых программ ¦

¦ ¦ (защищенная область ОЗУ) ¦ 0800

+-------+---------------------------------------+

¦ ¦ ¦ 07FF

¦ П З У ¦ Монитор и ¦

¦ 2 K ¦ демонстрационные ¦

¦ байт ¦ программы ¦

¦ ¦ ¦ 0000

L-------+----------------------------------------

2.2. В состав резидентного программного обеспечения микроЭВМ входят монитор и демонстрационные программы, записанные в ПЗУ.

3. Выполнение работы

3.1. Учитывая, что:

  • каналы 32-17 подключены к шине адреса (32 канал - адрес А15, 31 канал - адрес А14, и т.д.),

  • каналы 16-9 - к шине данных (16 канал - данные Д7,

  • 15 канал - данные Д6 и т.д.),

  • каналы 8-5 - к шине управления,

  • каналы 4-1 - при исследовании безразличны, а логика информации и тактового импульса положительная, установить в кадре ФОРМАТ параметры, наиболее соответствующие такому состоянию. Зарисовать картину этого кадра с параметрами.

3.2. Подключить 40-выводную клипсу к микропроцессору УМПК 80.

3.3. Установить в кадре УСЛОВИЯ ПРОСМОТРА следующее условие:

запустить прибор после первого появления адреса 0000Н. В строках ПЕРЕЗАПУСК и ПОДСЧЕТ должно быть установлено слово [ВЫКЛ], под словом ПЕРЕЗАПУСК - [ВСЕ СОСТОЯНИЯ]. Зарисовать картинку этого кадра.

3.4. Запустить прибор. Используя режим СРАВНЕНИЕ и произведя несколько сборов информации, удостоверьтесь, что информация всегда считывается одинаково. 3.5. Измените условия запуска и проведите сравнение. 3.6. Используя режим МНЕМОНИКА и зная, что программа проверки ПЗУ располагается в адресах 004CH-005DH, выписать ее текст, проанализировать и написать алгоритм. Сделать предположение о логичности завершения теста. 3.7. Выпишите тест проверки ОЗУ, зная что программа тестирования ОЗУ располагается в адресах 005EH-0087H, a программа вывода сообщения об ошибке памяти начинася с адреса 00DCH. Проанализировать и написать алгоритм теста ОЗУ.

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

4.1. Отчет должен содержать:

  • рисунок кадра ФОРМАТ в соответствии с пунктом 3.1.,

  • рисунок кадра УСЛОВИЯ ПРОСМОТРА в соответствии с пунктом 3.3.,

  • текст программы проверки ПЗУ, ее алгоритм и мнение по поводу завершения этой программы,

  • текст программы проверки ОЗУ и ее алгоритм.

Приложение 1

ORG0000H

;

;

;RST0 - точка входа в монитор по сбросу

; (клавиша "R" или включение питания)

;

0000 26 00 RESET:MVIH,008H;Адрес начала ОЗУ

0002 AFXRAA

0003 2FCMA

0004 77 MOVM,A;ЗаписьFFв одну из ячеек ОЗУ

0005 C3JMPSTRT

;

;

;RST1 - точка входа в монитор по препыванию

; (клавиша "СТ" или точка останова)

;

0008 22 0BD3RS1:SHLD;СохранениеHLпользователя

000BD3 08OUT008H;Разрешение записи в ОЗУ

000DC3 00F3JMPTRP

;

;

;СВИСТОК С ФИКСИРОВАННОЙ ДЛИТЕЛЬНОСТЬЮ И ТОНОМ

;

0010 06 20 BEEP:MVIB,FREQ;Частота сигнала

0012 16 40 BEEP1:MVID,DUR;Длительность сигнала

0014 C3 0447JMPBEEP2

0017 00 NOP

;

;

;ПЕРЕМЕЩЕНИЕ СООБЩЕНИЯ ПО АДРЕСУ DEВ ОБЛАСТЬUDSP

;

0018 C5STDM:PUSHB

0019 21 0BF0LXIH,UDSP;Первый символ вUDSP

001C C3 0235 JMP SDM

001F 00 NOP

0020 C3 0AF6RS4:JMPRS4C;Переход на П/П пользователя

;

0023 00 00 00 00 00 DB0, 0, 0, 0, 0

;

0028 C3 0AF9RS5:JMPRS5C;Переход на П/П пользователя

;

002B00 00 00 00 00DB0, 0, 0, 0, 0

;

0030 C3 0AFCRS6:JMPRS6C;Переход на П/П пользователя

;

0033 00 00 00 00 00 DB0, 0, 0, 0, 0

;

0038 D7RS7:RST2 ;Свисток

0039 C3 00ACJMPSTART6 ;Возврат в монитор

;

003C00 00 00 00DB0, 0, 0, 0

;

;

;ТЕСТ САМОПРОВЕРКИ И НАЧАЛЬНАЯ УСТАНОВКА

;

0040 BESTRT:CMPM;Защита памяти снята?

0041 C2 00C8JNZPPER;- Если нет (попали наRST0 из-за

;ошибки стека пользователя)

0044 31 0BCELXISP,MSP;Инициализация стека монитора

0047 AFXRAA;Очистка аккумулятора иHL

0048 67 MOV H,A

0049 6F MOV L,A

004AD3 30OUTLOUT;Включение выходных светодиодов

;

;

;ТЕСТ ПЗУ МОДУЛЯ

;

004C86STRT1:ADDM;Вычисление контрольной суммы ПЗУ

004D 23 INX H

004E 4F MOV C,A

004F3E08MVIA,8H;ПЗУ кончилось

0051 BC CMP H

0052 79 MOV A,C

0053 C2 004CJNZSTRT1 ;- нет, продолжение цикла

0056 2BDCXH;HL- значение контрольной суммы

0057 96 SUBM

0058 BECMPM

0059 1E7CMVIE,07CH;Сообщим об ошибке

005B00 00 00DB0, 0, 0 ;JNZMERR1 - переход на её инд-цию

;

;

;ТЕСТ ОЗУ МОДУЛЯ

;

005EAFXRAA;ОчистимA

005F21 0800LXIH,PC;HLна начало ОЗУ

0062 06 03 MVIB,3 ;постоянное слагаемое

0064 77 STRT2:MOVM,A;запомним в памяти

0065 80 ADDB;увеличимAна 3

0066 23 INXH;на следующий адрес ОЗУ

0067 4F MOV C,X

0068 7C MOV A,H

0069 FE0CSPIERAM;ОЗУ кончилось?

0069 79 MOVA,C

006CC2 0064JNZSTRT2 ;- нет, продолжим запись

006FAFXRAA

0070 21 0800 LXIH,PC;HLна начало памяти

0073 BESTRT3:CMPM;данные записались правильно?

0074 C2 00DCJNZMERR;- если была ошибка

0077 2FCMA

0078 77 MOVM,A;запишем инвертированный байт

0079 BECMPM;он записался правильно?

007AC2 00DCJNZMERR;- была ошибка

007D2FCMA;начальное значениеA

007E80ADDB

007F23INXH;следующий адрес памяти

0080 4F MOV C,A

0081 7C MOV A,H

0082 FE0CCPIERAM;дошли до конца ОЗУ

0084 79 MOVA,C

0085 C2 0073JNZSTRT3 ;нет - продолжим проверку

;

;

;ТЕСТ ДИСПЛЕЯ МОДУЛЯ

;

0088 06 80 MVIB,080H;счётчик цикла

008A11 0281STRT4:LXID,ALL;сообщение "ВСЕ СЕГМЕНТЫ"

008DDFRST3 ;скопируем его в область дисплея

008ECD01E9CALLDCD;и отобразим

0091 05 DCRB;цикл кончился?

0092 C2 008AJNZSTRT4 ;нет, продолжаем

;

;

;ОЧИСТКА ПАМЯТИ (ЗАПОЛНЕНИЕ ПАМЯТИ)

;

0095 06 00 MVIB,0

0097 3E0CMVIA,ERAM;старший байт адреса верхушки ОЗУ

0099 21 0800 LXIH,PC;HL- на начало ОЗУ

009C70STRT5:MOVM,B;очистим ячейку памяти

009D 23 INX H

009E BC CMP H

009FC2 009CJNZSTRT5 ;пока не дойдём до верхушки ОЗУ

00A2 3E FF MVI A,0FFH

00A4D3 30OUTLOUT;включим светодиоды выходногоRG

00A6 CD 06A0 CALL LMC ;сыграем музыку ???? !!!!

00A9 AF XRA A

00AA D3 05 OUT LOUT ;выключим светодиоды (очистим LOUT)

;

;

;ИНИЦИАЛИЗАЦИЯ ПЕРЕМЕННЫХ МОНИТОРА

;

00AC21 0BB0STTRT6:LXIH,USP;Стек пользователя

00AF22 0BDESHLDSAVSL

00B2 21OBD6LXIH,RS;Адрес состояния

00B5 36 00MVIM,0 ;Установим состояние "МОНИТОР"

00B7 21 0800LXIH,PC;Начало ОЗУ

00BA22 0BDCSHLDSAVPC;Начало программ пользователя

;по умолчанию

00BD3EFFMVIA,0FFH;КодRST7

00BF32 0AFFSTATPR;Запомним его в ОЗУ

00C2 32 0AEFSTAUR

00C5C3 0111JMPTPR3 ;Перейдём на монитор

;

;

;ОБРАБОТКА ОШИБОК СТЕКА

;

00C8 31 0BCEPPER:LXISP,MSP;Стек монитора

00CB21 0800LXIH,PC;Счётчик по умолчанию

00CE22 0BDCSHLDSAVPC;Запомним его

00D1D7RST2 ;Сигнал ошибки

00D2AFXRAA

00D3 32 0BD6STARS;Состояние "МОНИТОР"

00D6 11 028DLXID,PPM;Указать на ошибку работы со стеком

00D9C3 0115JMPTRP4

;

;

;ИНДИКАЦИЯ ОШИБОК ЗУ

;

00DC1E87MERR:MVIE,87H;Адрес сообщения об ошибке ОЗУ

00DE16 02MVID,2

00E0DFRST3 ;Переместим его в область дисплея

00E1 21 0BF5 LXI H,UDSP+5

00E4 36 10MVIM,10H

00E6D7MERR2:RST2 ;Будем свистеть

00E7 06 70MVIB,70H

00E9CD01E9MERR3:CALLDCD;и выводить сообщение

00EC 05 DCR B

00ED C2 00E9 JNZ MERR3

00F0 C3 00E6 JMP MERR2

;

;

;RST1 - главная точка входа в монитор

;

00F3 21 0000TPR:LXIH,0 ;ИзвлекаемSPпользователя,

00F6D2 00FAJNZTRP1 ; сохранив его флагCY

00F9 2B DCX H

00FA 39 TRP1: DAD SP

00FB D2 00FF JNC TRP2

00FE 23 INX H

00FF22 0BD1TRP2:SHLDTSAVS;СохранимSPпользователя

0102 31 0BD1LXISP,TSAVS;Адрес области сохраненияPSW

0105 F5PUSHPSW

0106 21 0BD6LXIH,RS;Адрес признака состояния

0109 AFXRAA

010ABECMPM;Состояние "МОНИТОР"?

010B32 0BF6STAUDSP6 ;Очищаем признак модификац. данных

010EC2 0124JNZTRP6 ;- если пришли из прогр. пользоват.

0111 11 0241 TPR3:LXID,DMT;Сообщение "НАЧАЛО"

0114 FB EI

0115 AF TRP4: XRA A

0116 D3 30OUTLOUT;Очистим выходной регистр

0118 D3 10OUTCTL;Снимем защиту ОЗУ

011ADFRST3 ;Сообщение - в область ОЗУ

011B CD 014B TRP5: CALL KIND ;Введём клавишу

011ECD02B8CALLCFETA;Определение допустимых клавиш

0121 C3 011BJMPTPR5

0124 77 TPR6:MOVM,A;Установка состояния "МОНИТОР"

;

;

;СОХРАНЕНИЕ РЕГИСТРОВ ПОЛЬЗОВАТЕЛЯ

;

0125 F1POPPSW

0126 E1POPH;Записать текущее зн-иеSPвHL

0127 23 INXH

0128 23 INXH

0129 22 0BDESHLDSAVSL;Соьранить его в ОЗУ

012C 2B DCX H

012D 2B DCX H

012EF9SPHL;ВосстановитьSPпользователя

012FE1POPH;Адрес возврата к прогр. пользоват.

0130 22 0BDCSHLDSAVPC;Сохраним его в ОЗУ

0133 31 0BE8LXISP,0BE8H;Адрес сохранения регистров

0136 2A0BD3LHLDTSAVH;ВосстановитьHL

0139 F5PUSHPSW;Сохраним регистры пользователя

013A C5 PUSH B

013B D5 PUSH D

013C E5 PUSH H

013D FB EI

013E 00 NOP

013F 00 NOP

0140 00 NOP

0141 31 0BDC TPR7: LXI SP,SAVPC

0144 C1POPB

0145 31 0BCELXISP,MSP;ВосстановитьSPмонитора

0148 C3 0364JMPFETA3

;

;

;ВВОД И ОПРЕДЕЛЕНИЕ КОДА НАЖАТОЙ КЛАВИШИ

;

014B D5 KIND: PUSH D

014C E5 PUSH H

014DCD01E9KIND1:CALLDCD;Выдать сообщение на дисплей

0150 CD0185CALLKPU;Клавиша нажата?

0153 C2 014DJNZKIND1 ;Да, подождём пока отпустят

0156 CD01E9KIND2:CALLDCD;Выдать цообщение на дисплей

0159 CD0185CALLKPU

015CCA0156JZKIND2 ;Если нет нажатой клавиши - ждать

015F21 0BE8LXIH,UDKY;Адрес образа 0-строки клавиатуры

0162 16 FFMVID,0FFH;Счётчик строк = -1

0164 7EKIND3:MOVA,M;Получим образ текущей строки

0165 FEF7CPI0F7H;Клавиша "ШАГ МАШИННОГО ЦИКЛА"?

0167 CA0132JZKIND5 ;Да, перейдём

016A2FCMA

016B2CINRL;Следующая строка

016C14INRD;След. блок таблицы соответствия

016DA7ANAA;Есть клавиша в этой строке?

016ECA0164JZKIND3 ;Нет, перейдём на следующую

0171 FE 04 CPI 004H

0173 C2 0177 JNZ KIND4

0176 3DDCRA;УстановимA=3, если былоA=4

0177 82 KIND4:ADDD;Прибавим три раза номер строки

0178 82 ADDD;для получения смещения в таблице

0179 82 ADDD

017A5FMOVE,A;Запомним индекс табл. соответств.

017B16 00MVID,0

017D21 01AFLXIH,KIT-1 ;Начальный адрес табл. соответств.

0180 19 DADD;Адрес кода нажатой клавиши

0181 7EMOVA,M;Получим её код

0182 E1 KIND5: POP H

0183 D1 POP D

0184 C9RET

;

;

;ОПРЕДЕЛЕНИЕ ФАКТА НАЖАТИЯ КАКОЙ-ЛИБО КЛАВИШИ

;

0185 C5 KPU: PUSH B

0186 CD 019A CALL KRD ;Считаем клавиатуру

0189 D6 08MVIB,8 ;Число строк клавиатуры

018B21 0BE8LXIH,UDKY;Область записи образа клавиатуры

018E 3E FF MVI A,0FFH

0190 A6KPU1:ANAM;Есть ли нажатая клавиша?

0191 2CINRL

0192 05 DCRB

0193 C2 0190JNZKPU1 ;Проверяем все строки клавиатуры

0196 FEFFCPI0FFH;ПризнакZ=0, если не нажаты клав.

0198 C1POPB

0199 C9RET

;

;

;ЧТЕНИЕ КЛАВИАТУРЫ И ЗАПОМИНАНИЕ Е№ ОБРАЗА В ОЗУ (UDKY)

;

019A21 0BE8KRD:LXIH,UDKY;Область записи образа клавиатуры

019D AF XRA A

019E D3 38 OUT DSP ;Очистим дисплей

01A0 2FCMA

01A1 3DDCRA;11111110B- указатель сканирования

01A2 37 STC

01A3 D3 28 KRD1: OUT SCAN ;Выбираем одну строку

01A5 47 MOV B,A

01A6 DB 18 IN KEY ;Вводим выбранную строку

01A8 77 MOV M,A

01A9 78 MOV A,B

01AA2CINRL;Адрес следующей строки

01AB17RAL;Указатель - на следующую строку

01ACDA01A3JCKRD1 ;Повторим, если не кончили

01AFC9RET

;

;

;ТАБЛИЦА ОПРЕДЕЛЕНИЯ КОДОВ КЛАВИШИ

;

01B0 06KIT:DB86H;Шаг команды

01B1 85DB85H;Пограммный счётчик

01B2 00DB0 ;Не используется

01B3 84DB84H;Пуск

01B4 80DB80H;Отыскание регистров

01B5 82DB82H;Отыскание адреса

01B6 00DB0 ;0

01B7 83DB83H;Запись/Увеличить

01B8 81DB81H;Уменьшить

01B9 01 DB 1 ;1

01BA 02 DB 2 ;2

01BB 03 DB 3 ;3

01BC 04 DB 4 ;4

01BD 05 DB 5 ;5

01BE 06 DB 6 ;6

01BF 07 DB 7 ;7

01C0 08 DB 8 ;8

01C1 09 DB 9 ;9

01C2 0A DB 0AH ;A

01C3 0B DB 0BH ;B

01C4 0C DB 0CH ;C

01C5 0D DB 0DH ;D

01C6 0E DB OEH ;E

01C7 0F DB 0FH ;F

;

;

;СКАНИРОВАНИЕ ДИСПЛЕЯ (ОДИН РАЗ)

;

01C8F5SDS:PUSHPSW

01C9 E5 PUSH H

01CA C5 PUSH B

01CB21 0BFFLXIH,DDSP+5 ;Адрес последнего символа

01CE06 20MVIB,20H;Указатель на пятый символ

01D0 AF SDS1: XRA A

01D1 D3 28 OUT SCAN ;Погасим дисплей

01D3 7EMOVA,M;Код отображаемого символа

01D4D3 38OUTDSP;Записываем в регистр сегментов

01D6 78MOVA,B

01D7D3 28OUTSCAN;и включаем нужный индикатор

01D9 CD 0429 CALL DELA ;Задержка 1мс

01DC2DDCRL;Адрес кода следующего символа

01DD1FRAR;Указатель - на следующий символ

01DE 47 MOV B,A

01DF D2 01D0 JNC SDS1 ;Отображаем 6 символов

01E2 AF XRA A

01E3 D3 38 OUT DSP ;Гасим дисплей

01E5 C1 POP B

01E6 E1 POP H

01E7 F1 POP PSW

01E8C9RET

;

;

;ДЕКОДИРОВАНИЕ ВЫВОДИМОГО СИМВОЛА

;

01E9 F5 DCD: PUSH PSW

01EA C5 PUSH B

01EB D5 PUSH D

01EC E5 PUSH H

01ED01 0BFALXIB,DDSP;Область декодированных символов

01F0 11 0BF0LXID,UDSP;Область недекодированных символов

01F3 21 0218DCD1:LXIH,DCC;Таблица декодирования символов

01F6 1ALDAXD;По смещению в таблице получим код

01F7 D5 PUSH D

01F8 5F MOV E,A

01F9 16 00 MVI D,0

01FB 19 DAD D

01FC 7E MOV A,M

01FD 02 STAX B ;Запомним его

01FE D1 POP D

01FF 1C INR E

0200 0C INR C

0201 C2 01F3JNZDCD1 ;Не последний символ - перейдём

0204 21 0BFALXIH,DDSP;Первый декодированный символ

0207 1ALDAXD;Адрес признака модификации данных

0208 A7 ANA A

0209 CA 0210 JZ DCD2

020C7EMOVA,M

020DF6 80ORI080H;Если признак установлен - поставим

020F77MOVM,A;запятую в позицию первого символа

0210 E1 DCD2: POP H

0211 D1 POP D

0212 C1 POP B

0213 F1 POP PSW

0214 CD01C8CALLSDS;Отобразим сообщение

0217 C9RET

;

;

;ТАБЛИЦА ДЕКОДИРОВАНИЯ ОТОБРАЖАЕМЫХ СИМВОЛОВ

;

0218 3F DCC: DB 3FH ;0

0219 06 DB 06H ;1

021A 5B DB 5BH ;2

021B 4F DB 4FH ;3

021C 66 DB 66H ;4

021D 6D DB 6DH ;5

021E 7D DB 7DH ;6

021F 07 DB 07H ;7

0220 7F DB 7FH ;8

0221 6F DB 6FH ;9

0222 77 DB 77H ;A

0223 7C DB 7CH ;B

0224 39 DB 39H ;C

0225 5E DB 5EH ;D

0226 79 DB 79H ;E

0227 71 DB 71H ;F

0228 00 DB 00H ;Пробел

0229 76 DB 76H ;H

022A 38 DB 38H ;L

022B 6E DB 6EH ;Y

022C 73 DB 73H ;P

022D 54 DB 54H ;Л

022E 5C DB 5CH ;О

022F 08 DB 08H ;_

0230 37 DB 37H ;П

0231 40 DB 40H ;-

0232 FF DB 0FFH ;Все сегменты

0233 50 DB 50H ;R

0234 30 DB30H;1 - левая

;

;

;КОПИРОВАНИЕ ОТОБРАЖАЕМОГО СООБЩЕНИЯ ПО "DE" В "UDSP" ОЗУ

;

0235 06 06 SDM:MVIB,6 ;Копируем 6 символов

0237 1ASDM1:LDAXD;Копируемый символ

0238 77 MOVM,A;Запомним его вUDSPX

0239 2CINRL;Следующая ячейкаUDSP

023A13INXD;Следующий символ

023B05DCRB;Все символы?

023CC2 0237JNZSDM1 ;Нет, повторим

023F C1 POP B

0240 C9 RET

;

;

;ТАБЛИЦА СООБЩЕНИЙ

;

0241 16 DMT:DB16H;"НАЧАЛО"

0242 15 0A 04 0A 11 DB 15H, 0AH, 04H, 0AH, 11H

0247 10 FETCH: DB 10H ;"____ "

0248 10 17 17 17 17 DB 10H, 17H, 17H, 17H, 17H

024D 0A MA: DB 0AH ;" A "

024E 10 10 10 DB 10H, 10H, 10H

0251 12 FLG: DB 12H ;" FL "

0252 0F 10 10 DB 0FH, 10H, 10H

0255 0B MB: DB 0BH ;" B "

0256 10 10 10 DB 10H, 10H, 10H

0259 0C MC: DB 0CH ;" C "

025A 10 10 10

025D 0D MD: DB 0DH ;" D "

025E 10 10 10

0261 0E ME: DB 0EH ;" E "

0262 10 10 10

0265 11 MH: DB 11H ;" H "

0266 10 10 10

0269 12 ML: DB 12H ;" L "

026A 10 10 10

026D 11 SPH: DB 11H ;" SPH "

026E 14 05 10

0271 12 SPL: DB 12H ;" SPL "

0272 14 05 10

0275 11 PCH: DB 11H ;" PCH "

0276 0C 14 10

0279 12 PCL: DB 12H ;" PCL "

027A 0C 14

027C 10 ROM: DB 10H ;" ПЗУ "

027D 10 13 03 18

0281 1A ALL: DB 1AH ;Все сегменты

0282 1A 1A 1A 1A 1A

0287 10 RAM: DB 10H ;" ОЗУ "

0288 10 13 03 00 10

028D 1B PPM: DB 1BH ;" SPER"

028E 0E 14 05

0291 10 BLNKM: DB 10H ;" "

0292 10 10 10 10 10

;

;

;ОЧИСТКА ДИСПЛЕЯ

;

Соседние файлы в папке Интерфейсы