Устройство для отладки микроэвм

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычислительной технике и может быть использовано при настройке и проверке работы управляющих микроЭВМ, отладке и контроле их программного обеспечения. Цель изобретения - расширение функциональных возможностей устройства за счет обеспечения дополнительных режимов отладки при выполнении программ и обмене информацией. Устройство содержит блок выделения адресов режима контроля, блок задания режима, блок управления, блок анализа режимов, блок счета времени, блок замыкания шины адреса и шины данных на шину данных, блок программируемой задержки, блок хранения кодов прерываний, блок управления отображением контрольной информации, блок выдачи режимов работы микроЭВМ, блок индикации состояний, блок индикации. Устройство позволяет повысить эффективность и качество контроля управляющих микроЭВМ и отладки их программного обеспечения за счет реализации режимов контроля и отладки с имитацией работы управляющей микроЭВМ в реальных условиях. 3 з.п. ф-лы, 10 ил.

А1

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ .

РЕСПУБЛИН (51)S G 06 F 11/26

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

Н А ВТОРСКОМУ СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ КОМИТЕТ

ПО ИЗОБРЕТЕНИЯМ И ОТНРЫТИЩ4

ПРИ ГКНТ СССР

1 (21) 4240314/24-24 (22) 05.05.87 (46) 23.08.90. Вюл. В 31 (71) Московский институт электронной техники (72) В.В. Пысин, Ю.А. Михайлов, Ю.И. Разумов, А.Г. Рафиков, А.В. Горя чев, Е.В. Ипюшкин, О.В. Алилуйко, Д.Д. Онопко, 16.Г. Ьлинков и Г.А. Овчинников (53) 681. 3 (088. 8) .(56) Авторское свидетельство СССР

9 1163328, кл. С 06 F 11/26, 1982.

Авторское свидетельство СССР

В 1223235, кл. G 06 F 11/26, 1984. (54) УСТРОЙСТВО ДЛЯ ОТЛАДКИ МИКРОЭВМ

f (57) Изобретение относится к вычислительной технике и может быть использовано при настройке и проверке рабо. ты управляющих микроЭВМ, отладке и контроле их программного обеспечения.

Изобретение относится к вычислительной технике и может быть использовано при настройке и проверке работы управляющих микроЭВМ, отладке и контроле их программного обеспечения.

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

На фиг. 1 представлена блок-схема устройства для отладки микроЭВМ:, на кг. 2 — структурная схема блока выеления адресов режимов контроля; на, SU„„1587514

Цель изобретения — расширение функциональных возможностей устройства за счет обеспечения дополнительных режимов отладки при выполнении программ и обмене информацией. Устройство содержит блок выделения адресов режима контроля, блок задания режима, блок управления, блок анализа режимов, блок счета времени, блок замыкания шины адреса и шины данных на шину данных, блок программируемой задержки, блок хранения кодов прерываний, блок управления отображением контрольной информации, блок выдачи режимов работы микроЭВМ, блок индикации состояний, блок индикации. Устройство позволяет повысить эффективность и качество контроля управляющих микроЭВМ и отладки их программного обеспечения за счет реализации режимов контроля и отладки с имитацией работы управляющей микроЭВМ в реальных условиях.

3 з.п. ф-лы, 10 ил. фиг. 3 — структурная схема блока счета времени; на фиг. 4 — структурная схе- > ма блока управления; на фиг. 5 структурная схема блока анализа режиl мов; на фиг ° 6 — структурная схема блока хранения кодов прерываний; на фиг. 7 — структурная схема блока замы- а кания,шины адреса и шины данных на шину данных; на фиг.. 8 — структурная схема блока программируемой задержки„ на фиг. 9 — структурная схема блока выдачи режимов работы микроЭВМ; на фиг. 10 — структурная схема блока управления отображением контрольной информации.

1587514

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

Устройство содержит блок 1 вьщеления адресов режима контроля, блок 2 задания режимов, блок 3 управления, блок 4 анализа Режимов, блок 5 счета времени, блок .б замыкания шины адреса 15 и шины данных на шину данных, блок 7 программируемой задержки, блок 8 хранения кодов прерываний, блок 9 управления отображением контрольной информации, блок 10 выдачи режимов работы щ микроЭВМ, блок 11 индикации состояний, блок 12 индикации, вход 13 синхросигналов, вход 14 первого сигнала обмена, вход 15 сигнала загрузки команды, ; вход сигнала 16 запись-считывание, 25 вход 17 импульсов частоты 4 МГц, выход

18 второго сигнала обмена, выход 19 сигнала блокировки синхроимпульсов, выход 20 на шину прерываний, выход 21 сигнала начальной установки микроЭВМ, З0 шину адреса (ША) и шину данных (ЩЦ).

Блок выделения адресов режима контроля (фиг. 2) содержит регистр 22, селектор 23 адреса и дешифратор 24. Блок счета времени (фиг. 3) содержит три элемента НЕ 25-27, счетчик 28, два

35 элемента И-НЕ 29 и 30, два элемента

HE 31 и 32 и счетчик 33. Блок управления (фиг. 4) содержит элемент HE 34, элемент И 35, ври элемента И-НЕ 36-38,4 три элемента И 39-41, триггер 42 и элемент HE 43. Блок анализа режимов (фиг. 5) содержит элемент 44 задержки, два элемента И-НЕ 45 и 46, три триггера 47 — 49, элемент HE 50, два элемен 45 та И-НЕ 51 и 52, триггер 53, два элемента HE 54 и 55, элемент И-НЕ 56 и триггер 57.

Блок хранения кодов прерываний (Фиг ° 6) содержит Регистр 58 и элемент И-НЕ 59. Блок замыкания шины адреса и шины данных на шину данных (фиг. 7) содержит два регистра 60 и

61 и элемент И-НЕ 62. Блок программируемый задержки (фиг. 8) содержит эле-. мент HE 63, регистр 64, счетчик 65, >5 элемент И-HE 66, элемент И 67 и элемент НЕ 68. Блок выдачи режимов работы микроЭВМ (фиг.. 9) содержит элемент

И-НЕ 69, регистр 70, элемент И-НЕ 71, усилитель 72 и элемент И-HE 73. Блок, чпоавления отображением контрольной информации (фиг. 10) содержит регистр

74, генератор 75 импульсов, счетчик

76, два мультиплексора 77 и 78, два элемента НЕ 79 и 80, коммутатор 81, шифратор 82 и дешифратор 83.

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

Блок 3 управления служит для выработки сигналов, управляющих работой других блоков устройства. Выходными сигналами блока являются сигналы с блока выделения адресов режима контроля и внешние входные сигналы загрузки команды и запись-считывание. Блок

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

Блок 4 анализа режимов служит для выработки сигналов, обеспечивающих реализацию соответствующих режимов работы устройства. Блок 5 счета времени предназначен для:счета времени выполнения программы в микросекундах или счета машинных тактов при выполнении программы. Блок б замыкания шины адреса и шины данных на шину данных обеспечивает контроль информации на шинах.

Блок 7 программируемой задержки служит для приема и хранения программно устанавливаемого времени задержки сигнала квитирования обмена (второго сигнала обмена).. Блок 8 хранения кодов прерываний служит для приема информации прерывании, задаваемой с блока задания режимов или программно и выдачи ее в блок управления отображением контрольной информации и на ши- . ну данных прерываний микроЭВМ. Блок 9 управления отображением контрольной информации предназначен для коммутации входной информации и выработки сигналов, обеспечивающих индикацию информации на первом блоке индикации.

Блок 10 выдачи режимов работы микроЭВМ служит для приема кодов режима работы микроЭВМ, включая вызов определенных программ и тестовых процедур, задаваемых с блока задания режимов и выдачи на шину данных и блок индикации состояний.

15875 устройство работает следующим образом.

При подаче питания на устройство в блоке 2 задания режимов вырабатыва5 ются сигналы начального установа (фиг. 1), которые поступают в блок 4 анализа режимов, в блок 10 выдачи режимов работы микроЭВМ и в блок 8 хранения кодов прерываний. По этим сигна- 10 лам вырабатываются команды на сброс режима блокировки синхроимпульсов (выход 19), на установку в исходное состояние счетчика 28 блока 5 счета времени (фиг. 3), регистра 64 и блока 7 программируемой задержки (фиг. 8), регистра 70 блока 10 выдачи режимов

Работы микроЭВМ (фиг. 9), а также возбуждение соответствующих установленному режиму работы светодиодов блока 11 20 индикации состояний.

С шины адреса по синхроимпульсу СИ в регистр 22 адреса (фиг. 2) заносится код адреса. Селектор 23 адреса выделяет комбинации адресов в заданных 25 пределах. По команде ввода или вывода из микроЭВМ в устройство на вход 14 поступает первый сигнал, обмена, в результате выделенные комбинации адреса дешифрируются в дешифраторе 24. На вхо30 де 16 устройства микроЭВМ устанавливает сигнал запись-считывание в состояние "1" при выполнении команды ввода информации в микроЭВМ и в состояние

I!

0 при выполнении команды вывода информации из микроЭВМ.

Замыкание шины адреса и шины данных на шину,цанных для обеспечения контроля каналов обмена микроЭВМ осуществляется следующим образом. 40

В регистр 60 адреса и регистр 61 данных блока замыкания шины адреса и шины данных на шину данных 6 (фиг. 7) постоянно с ША и ИД заносится информация по сигналу с элемента И-HE 62, по- 45 ступающему на синхровходы регистров.

По соответствующим командам с блока 3 управления информация с регистра 60. адреса или с регистра 61 данных поступает на ЩЦ. Одновременно информация подается на вход регистра 74 блока 9 управления отображением контрольной информации (фиг. 10), что обеспечивает возможность визуального контроля информации на блоке 12 индикации. В остальное время выходы регистров 60 и

61 находятся в третьем состоянии.

Программная установка задержки сиг1нала кватирования обмена (второго сиг14 .6 нала обмена) осуществляется следующим образом. По команде вывода по опреде ленному адресу в блоке 3 управления вырабатывается сигнал, поступающий на синхровход регистра 64 блока 7 программируемой задержки (фиг. 8) и с шины данных в регистр 64 заносится .код задержки. По первому сигналу обмена, поступающему с входа 14 устройства, код заносится в счетчик 65. С частотой синхроимпульсов величина кода задержки в счетчике 65 начинает уменьшаться. При обнулении счетчика 65 на выходе 18 устройства выдается второй сигнал обмена.

В устройстве реализуется два режима контроля хода программ: подсчетом времени выполнения программы в микросекундах и подсчетом машинных тактов.

Соответствующий режим задается блоком

2 задания режимов. При этом для счета времени с блока 2 задания режимов на блок 4 анализа режимов поступает нулевой сигнал, а для счета машинных тактов — единичный. В случае выбора режима счета машинных тактов. блок 4 анализа режимов вырабатывает сигнал на блок 5 счета времени, при котором на вход счетчика 33 (фиг. 3) .блока 5 начинают поступать синхроимпульсы. В режиме счета времени входная частота

4 МГц пересчитывается в счетчике 28 блока 5 счета времени в частоту

1 МГц и подается на вход счетчика 33.

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

Код информации по прерываниям может быть записан в блок 8 хранения кодов прерываний с наборного поля бло. ка 2 задания Режимов или занесен программно с шины данных по команде с блока 3 управления. Выдача кода прерываний с блока 8 хранения кодов прерываний 8 осуществляется через элемент

И-НЕ 59 блока 8 (фиг. 6) по сигналам с блока 4 анализа режимов на шину прерываний и на вход блока 9 управления отображением контрольной информации 9.

Код информации по режимам работы микроЭВМ устанавливается на наборном поле блока 2 задания режимов в виде двухбайтного слова и поступает на регистр 70 блока 10 выдачи режимов работы микроЭВМ (фиг. 9) ко команде с

1587514 блока 4 анализа режимов (фиг. 5). При . этом устройство работает в режиме счета времени. Управление выдачей информации с регистра 70 блока 10 выдачи режимов работы микроЭВМ на ШД и на второй вход блока 11 индикации состояий осуществляется с блока 2 задания ежимов и с блока 3 управления. В устройстве предусмотрен режим считывания 10 состояния кнопок наборного поля блока 2 задания режимов. В этом режиме микроЭВМ выполняет команду вывода по определенному адресу, управляющий сигнал с блока 3 управления поступает 15 на элемент И-НЕ 73 блока выдачи режимов работы микроЭВМ 10, и информация о .состоянии кнопок поступает на ШД.

Пуск микро-ЗВМ с блока 2 задания режимов осуществляется следующим .образом. На пульте управления блока 2 заданкя режимов нажимается. соответствуютцая кнопка (™Пуск" ), и сигнал поступает в блок 4 анализа режимов че" рез элемент И-НЕ 45 на триггер 53, ° который переходит в нулевое состояние. По сигналу занесения команды триггер 57 устанавливается в нулевое состояние, в этом случае на выходе триггера 57 появляется единичный сиг- 30 нал блокировки синхроимпульсов (выход 19). МикроЭВМ начинает вырабатывать синхроимпульсы.

Останов микроЭВМ с пульта управления блока 2 задания режимов происходит следующим образом. На пульте наI жимается соответствующая кнопка, и сигнал поступает на установочный вход триггера 53 блока 4 анализа. режимов.

Триггер 53 устанавливается в единичное40 состояние, в этом случае по сигналу загрузки команды (вход 15) триггер

57 переходит в единичное состояние и на его выходе появляется сигнал блохи. рОвки синхроимпульсов низкОгО уровняр 45 который блокирует в микроЭВМ выработку синхроимпульсов. Предусмотрен также программный останов микроДВМ, при этом микроЭВМ выполняет команду вывора egHHHup> Ha Hg no onpepeneHHoMy ag- 50 ресу, и с блока 3 управления на блок

4 анализа режимов приходят управляющие сигналы.

Начальный установ микроЭВМ (переход к начальной программе) осуществля-55 тся по нажатию соответствующей кнопи на пульте управления блока 2 зада ния режимов. Сигнал прокодит в блок 3 анализа режимов на вход сброса триггера 49 (фиг. 5), который переходит в нулевое состояние. Сигнал с единичного триггера 49 поступает через элемент

НЕ 55 на выход 21 низким уровнем как сигнал начального установа.

Наличие блока 9 управления отображением контрольной информации позволяет осуществить отображение на первом блоке 12 индикации всей необходимой информации. Информация с блока замыкайия шины адреса и шины данных на шину данных через последнюЮ поступает на регистр 74 блока 9 управления отображением информации 9 (фиг. 10). Далее информация проходит на первый мультиплексор 77, на этот же мультиплексор

77 поступает информация с блока 8 хранения кодов прерываний. Информация о времени выполнения программ поступает на второй мультиплексор 78 с блока

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

1. Устройство для отладки микроЭВМ, содержащее блок управления, блок задания режимов, блок анализа режимов, блок счета времени, блок индикации, причем выходы задания режимов счета останова, первой и второй начальных установок блока задания режимов соединены соответственно с первым, вторым, третьим и четвертым входами блока анализа режимов, пятый и шестой входы которого соединены соответственно с входом устройства для подключения к выходу синхроимпульсов и к выходу загрузки команды отлаживаемой микроЭВМ, первый выход блока анализа режимов соединен с первым входом сброса блока счета времени, первый входблока управления соединен с входом устройства для подключения к выходу записи чтения микроЭВМ, о т л и ч аю щ е е с я тем, что, с целью расширения функциональных возможностей эа счет обеспечения дополнительных режимов отладки, устройство содержит блок выделения группы адресов режима контроля, блок замыкания шины адреса и шины данных на шину данных, блок управления отображением контрольной информации, блок программируемой задержки, блок хранения кодов прерыва14 10 хрониэации и сброса которого соединены соответственно с восьмым выходок блока управления и третьим выходом блока анализа режимов, .четвертый выход которого соединен с входом блокировки блока счета времени и является выходом устройства для подключения к входу блокировки синхроимпульсов отлаживаеЮ мой микроЭВМ, пятый выход блока анализа режимов соединен с входом разрешения выдачи блока хранения кодов прерываний и в совокупности с третьим выходом начальной установки блока задания режимов образуют выход устройства для подключения к входу начальной установки отлаживаемой микроЭВМ, шестой выход блока анализа режимов соединен с первым информационным входом блоха индикации состояний, второй информационный вход которого соединен с выходом блока выдачи режимов работы микроЭВМ, I седьмой и восьмой выходы блока анализа режимов являются выходами устройст ва для подключения к шине данных микроЭВМ, девятый выход блока анализа режимов соединен с входом сброса блока программируемой задержки, информационный вход, вход разрешения и первый и второй синхровходы которого соединены соответственно с информационным выходом блока замыкания шины адреса и шины данных на шину данных, с шестым выходом блока управления и входом устройства для подключения к синхровйходу и выходу признака обмена отлаживающей микроЭВМ, соединенным с первым входом разрешения блока замыкания шины адреса и шины данных на шину данных выход блока программируемой задержки является выходом устройства для подключения к входу признака обмена отлаживающей микроЭВМ, второй вход разрешения блока замыкания швы адреса и шины данных на шину данных соединен с входом устройства для подключения выхода записи чтения отлаживающей микроЭВМ, второй информационный вход блока хранения кодов прерываний является входом устройства для подключения к шине данных отлаживающей микроЭВМ, а выход — к второму информационному входу блока управления отображением контрольной информации и является выходом устройства для подключения к входу прерывания отлаживаемой микроЭВМ, третий информационный вход блока управления отображением контрольной информации соединен с вы9

15875 ний, блок выдачи режимов работы микроЭВМ, блок индикации состояний, причем информационный вход, входы синхроимпульсов и признака обмена блока выделения группы адресов режима контро5 ля являются входами устройства для подключения к адресной и управляющей шинам отлаживаемой микроЭВМ второй вход блока управления является входом загрузки устройства, выходы блока выделения группы адресов режима контроля соединены соответственно с входом строба адреса и строба данных блока замыкания шины адреса и шины данных на шину данных и с группой входов блока управления, первый выход которого соединен с входом режима блока замыкания шины адреса и шины данных на шину данных, первый и второй информаци- 20 онные входы которого соединены с входами устройства для подключения к шинам адреса и данных отлаживаемой микроЭВМ, а выходы — с первым информационным входом блока управления отобра- 25 жением контрольной информации и являются выходами устройства для подключения к шине данных микроЭВМ, выход и вход записи блока управления отображением контрольной информации соеди- (), иены соответственно с входами блока индикации и вторым выходом блока управления, третий и четвертый выходы которого соединены с разрешающими входами блока выдачи режимов работы микроЭВМ, информационные выходы и Вхо ды которого соединены с выходами устройства для подключения к шине данных отлаживаемой микроЭВМ и выходами кодов режимов работы ЭВМ блока задания режимов, выходы пуска сброса и начального пуска ЭВМ которого соединены с одноименными входами блока анализа режимов, десятый вход которого соединен с входом устройства для подключе- 45 ния к шине данных микроЭВМ, а одиннадцатый, двенадцатый, тринадцатый и четырнадцатый входы — с пятым, шестым, седьмым и восьмым выходами блока.ми управления, второй выход блока ана« 5р лиза режимов соединен с вторым входом разрешения блока счета времени и разрешающим входом блока выдачи режимов работы микроЭВМ, установочный вход которого соединен с выходом ос- 55 танова блока задания режимов, выход кода прерывания которого соединен с первым информационным входом блока хранения кодов прерываний, входы синll

158751 ходом блока счета времени, вход опорной частоты и синхровход которого соединены соответственно с входами устройства для подключения к выходам меток времени и синхроимпульсов отлаживающей микроЭВМ.

2. Устройство по п. 1, о т л и— ч а ю щ е е с я тем, что блок управления отображением контрольной информации содержит регистр, два мультип- . лексора, генератор импульсов, счетчик, дешифратор, два элемента НЕ, шифратор и коммутатор, причем информационный и синхронизирукщий входы регистра являются соответственно первым информационным входом и входом записи блока, выход регистра и второй информационный вход блока подключены соответственно к первому и второму информацион- 2О ным входам первого мультиплексора, уп-, равляющий вхоц которого, первый управляющий вход коммутатора, вход первого элемента НЕ группа входов дешифрато У

1 ра и управляющие вход второго муль-, 25 типлексора соединены с выходами счетчика, вход которого соединен с выходом генератора импульсов, выходы первого мультиплексора, выходы второго и первого элементов НЕ соединены со- gp ответственно с первым и вторым информационными и вторым управляющим входами коммутатора, выходы которого соединены с входами шифратора, выхьды которого и выходы дешифратора явля- З ются выходами блока, информационный вход второго мультиплексора является третьим информационным входом блока, а выход соединен с входом второго элемента НЕ.

Зв стройство по пе 1 о т л и 4р ч а ю щ е е с я тем, что блок замыкания шины адреса и шины данных на шину данных содержит регистр адреса, регистр данных и элемент И-НЕ, причем информационные входы регистра адреса и регистра данных являются информационными входами блока, а установочные и объединенные входы записи являются соответственно входами строба адреса, строба данных и входом режима блока, синхровходы регистра адреса и регистра данных соединены с выходом элемента И-НЕ, входы которого являются первым и вторым разрешающими входами бло" ка, выходы регистра адреса и регистра данных являются информационными выходами блока.

4. Устройство по п. 1, о т л и— ч а ю щ е е с я тем, что блок ана12 лиза режимов содержит пять элементов

И-НЕ, три элемента НЕ, пять триггеров и элемент задержки, причем первые входы первого и второго элементов И-НЕ и вход элемента задержки объединены и являются седьмым входом блока, входы сброса и синхронизации первого триггера являются соответственно третьим и первым входами блока, вход данных первого триггера соединен с его инверсным выходом и с шестым выходом блока, прямой выход первого триггера через первый элемент НЕ соединен с вторым выходом блока, выход элемента задержки соединен с вторым входом второго элемента И-НЕ, выход которого соединен с входами сброса второго и третьего тригI геров,синхровход и установочный вход второго триггера являются соответственно четырнадцатым и вторым входами блока, выход первого элемента И-НЕ соединен с входом данных второго триггера и с восьмым выходом блока, выход третьего элемента И-НЕ является седьмым выходом блока, а его первый вход соединен с выходом четвертого элемента И-НЕ и первым входом пятогс, элемента И-HE выход которого является девятым выходом блока, выход четвертого элемента И-HE соединен с третьим выходом блока и через второй элемент HE — с первым выходом блока, вторые входы первого и третьего элементов И-НЕ объединены и являются двенадцатым входом блока, установочный вход третьего триггера, вход сбро.са четвертого триггера и первый вход четвертого элемента И-НЕ объединены и являются четвертым входом блока, второй вход четвертого элемента И-НЕ соединен с восьмым и одиннадцатым входами блока, вход данных и синхровход четвертого триггера являются соответственно десятым и тринадцатым входами блока, а инверсный выход — с вторым входом пятого элемента И-НЕ, прямой выход второго триггера соединен с входом данных третьего триггера и шестым выходом блока, синхровход третьего триггера является шестым входом блока, а выход соединен с четвертым выходом блока, вход сброса пятого триггера является девятым входом блока, сиыхровход является пятым входом блока, прямой выход пятого триггера непосредственно, а инверсный через третий элемент HE соединены с пятым выходом блока.

15875i4

1587514

1587514 ф ф

ОеЭ

Овал

Ов&

От A.

l5

Om tfn.

1587514

1587514

zc Ю

Составитель И. Хазова

Техред Л.Сердюкова Корректор М. Поко

Редактор Н. Яцола

Заказ 2421 Тирах 575 Подписное

ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР

113035, Москва, Ж-35, Раушская наб., д. 4/5

Производственно-издательский комбинат "Патент", r. Ухтород, ул. Гагарина, 101