3944

Створення та дослідження програм взаємодії зі зовнішніми пристроями

Лабораторная работа

Информатика, кибернетика и программирование

Створення та дослідження програм взаємодії зі зовнішніми пристроями План заняття Мета заняття: Засвоїти принцип будови машинної команди. Засвоїти принцип будови комп’ютерної програми. Засвоїти найуживаніші машинні команди т...

Украинкский

2012-11-10

219.5 KB

8 чел.

Створення та дослідження програм взаємодії зі зовнішніми пристроями

План заняття

1. Мета заняття:

  •  Засвоїти принцип будови машинної команди.
  •  Засвоїти принцип будови комп’ютерної програми.
  •  Засвоїти найуживаніші машинні команди та директиви мови асемблера.
  •  Навчитися створювати програми на мові асемблера.
  •  Навчитися налагоджувати комп’ютерні програми.

2. Питання, які повинні бути розглянуті та засвоєні на занятті:

  •  Структура машинної команди.
  •  Типи адресації.
  •  Структура машинної програми.
  •  Послідовність виконання машинної програми.
  •  Обробка переривань.
  •  Програмування переривань.
  •  Обмін інформацією в обчислювальній системі за допомогою переривань.

Завдання на лабораторне заняття:

  •  Проаналізувати заданий алгоритм взаємодії зі зовнішніми пристроями за допомогою переривань.
  •  Створити програму на мові асемблера, яка реалізує заданий алгоритм взаємодії зі зовнішніми пристроями за допомогою переривань.
  •  Використовуючи асемблер та компоновщик, перетворити текст програми на мові асемблера у програму, що виконується.
  •  Виконати налагоджування створеної програми, що виконується.
  •  Дослідити роботу створеної програми, що виконується, за допомогою налагоджувача в покроковому режимі.
  •  Пояснити отримані результати.
  •  Скласти індивідуальний звіт про виконання лабораторної роботи.
  •  В звіті обов’язково навести назву роботи, її мету, розвернутий виклад розглянутих питань, детальний опис виконання роботи, висновки по роботі (що і як робилося, результати досліджень).

4. Хід виконання роботи

4.1. Розібрати та вивчити теоретичний матеріал щодо  використання переривань для взаємодії зі зовнішніми пристроями (п.6.2).

4.2. Проаналізувати роботу програми, яка реалізує виведення текстових повідомлень в різні місця екрану.

 

Текст програми на мові асемблера

.model small

.data

FIRST_STRING  DB 'You must press A or B', 0AH, 0DH, '$'

SECOND_STRING  DB 'Press C for exit $'

BYE_STRING  DB 'OK!  GOOD BYE ! $'

PRESS_STRING_1 DB 'You press key number _1_ $'

PRESS_STRING_2   DB 'You press key number _2_ $'

PRESS_STRING_F   DB '    You made a mistake    $'

PRESS_STRING_0   DB '                          $'

.code

.startup

   MOV AH, 0   ; номер функції установки режиму дисплея

   MOV AL, 2   ; код режиму 80 * 25 чорно-білого

INT 10H   ; очищення екрана

; --- установка курсору в рядок 5, стовпець 28

   MOV AH, 2   ; номер функції

   MOV BH, 0   ; номер сторінки

   MOV DH, 5   ; рядок

   MOV DL, 28   ; стовпець

   INT 10H   ; позиціонуємо курсор

; --- вивід рядка

MOV AH, 9   ; номер функції виведення рядка

LEA DX, FIRST_STRING ; завантажуємо адресу першого рядка

INT 21H   ; друкуємо рядок з позиції курсору

LEA DX, SECOND_STRING ; завантажуємо адресу другого рядка

INT 21H   ; друкуємо рядок з початку нового рядка

; ---- очікування натискання клавіш ------

PRESS_KEY:

; --- установка курсору в рядок 20, стовпець 39

   MOV AH, 2             ; номер функції

   MOV BH, 0             ; номер сторінки

   MOV DH, 20            ; рядок

   MOV DL, 39            ; стовпець

   INT 10H               ; позиціонуємо курсор

MOV AH, 1   ; номер функції DOS уведення

; з луною відображення на терміналі

     INT 21H   ; отримання символу

CMP AL, 0   ; ? 0

      JZ PRESS_KEY  ; перехід, якщо немає символу

CMP AL, 41h   ; ? А

JE STRING_PRESS_1 ; перехід до програми обробки натискання клавіші А

CMP AL, 42h   ; ? В

JE STRING_PRESS_2 ; перехід до програми обробки натискання клавіші В

CMP AL, 43h   ; ? С

JE BYE    ; перехід до закінчення роботи

; ------ видалення зайвого тексту з екрана

; --- установка курсору в рядок 10, стовпець 25

   MOV AH, 2         ; номер функції

   MOV BH, 0             ; номер сторінки

   MOV DH, 10           ; рядок

   MOV DL, 25             ; стовпець

INT 10H                ; позиціонуємо курсор

MOV AH, 9         ; номер функції виведення

 LEA DX, PRESS_STRING_F ; завантажуємо адресу повідомлення про помилку

INT 21H                   ; видаляємо зайве - друкуємо рядок з позиції курсору

JMP PRESS_KEY  ; до очікування натискання клавіші

STRING_PRESS_1:   ; обробка натискання клавіші А

; ------- вивід повідомлення про натиснуту клавішу

; --- установка курсору в рядок 10, стовпець 25

   MOV AH, 2                      ; номер функції

   MOV BH, 0                      ; номер сторінки

   MOV DH, 10                     ; рядок

   MOV DL, 25                     ; стовпець

   INT 10H                      ; позиціонуємо курсор

MOV AH, 9                         ; номер функції виведення

  LEA DX, PRESS_STRING_1       ; завантажуємо адресу повідомлення

        INT 21H                    ; друкуємо рядок з позиції курсору

JMP PRESS_KEY    ; до програми очікування натискання клавіші

STRING_PRESS_2:    ; до обробки натискання клавіші В

; ------- вивід повідомлення про натиснуту клавішу

; --- установка курсору в рядок 10, стовпець 25

   MOV AH, 2                     ; номер функції

   MOV BH, 0                      ; номер сторінки

   MOV DH, 10                     ; рядок

   MOV DL, 25                     ; стовпець

   INT 10H                        ; позиціонуємо курсор

     MOV AH, 9                         ; номер функції виведення

LEA DX, PRESS_STRING_2       ; завантажуємо адресу повідомлення

       INT 21H                   ; друкуємо рядок з позиції курсору

JMP PRESS_KEY  ; перехід до програми очікування натискання клавіші

BYE:     ; закінчення програми

; ------ видалення зайвого тексту з екрана

; --- установка курсору в рядок 10, стовпець 25

   MOV AH, 2                      ; номер функції

   MOV BH, 0                      ; номер сторінки

   MOV DH, 10                     ; рядок

   MOV DL, 25                     ; стовпець

   INT 10H                        ; позиціонуємо курсор

       MOV AH, 9                         ; номер функції виведення

         LEA DX, PRESS_STRING_0       ; завантажуємо адресу чистого рядка

 INT 21H                    ; видаляємо зайве - друкуємо рядок з позиції курсору

; ------- вивід повідомлення про кінець програми

; --- установка курсору в рядок 20, стовпець 30

   MOV AH, 2                      ; номер функції

   MOV BH, 0                      ; номер сторінки

   MOV DH, 20                     ; рядок

   MOV DL, 30                     ; стовпець

   INT 10H                        ; позиціонуємо курсор

MOV AH, 9   ; номер функції виведення рядка

   LEA DX, BYE_STRING ; завантажуємо адресу повідомлення про кінець програми

   INT 21H   ; друкуємо рядок з позиції курсору

.exit     ; закінчення програми – вихід до операційної системи

end

4.3. Сформувати алгоритм програми за п.4.2 (рисунок алгоритму навести в звіті про роботу).

4.4. Розібрати та вивчити матеріал щодо створення програм, що виконуються (п.6.1).

4.5. Підготувати необхідні пакетні файли для асемблювання та компоновки.

4.6. Створити програму, що виконується, із тексту програми за п.4.2.

4.7. Перевірити роботу цієї програми.

4.8. Зафіксувати роботу програми за п.4.2:

- після завантаження,

- при коректних натисканнях 2-х клавіш,

- при натискання помилкових клавіш.

4.9. Робота програми, яка створюється

1) Програма спочатку повинна вивести у верхній частині екрану повідомлення-інструкцію про клавіші, натискання яких викликає відповідні дії програми.

2) Індикація про натиснуті клавіші (луна) повинна з’являтися в верхньому правому куті екрана.

3) При натисканні 3-х заданих клавіш повинні відображатися відповідні повідомлення у заданому місці екрану.

4) При натисканні помилкових клавіш повідомлення про це повинні з’являтися внизу екрану.

5) Попередні повідомлення (окрім інструкції) повинні видалятися з екрану.

6) При натисканні 4-ї заданої клавіші програма повинна завершитися із відповідним повідомленням у верхній частині екрану.

7) Усі повідомлення повинні робитися латиницею.

4.10. Створити алгоритм програми, яка аналізує натискання клавіш на клавіатурі та виконує відповідні до кожної із 4-х заданих клавіш дії.

4.11. Створити текст програми, яка відповідає індивідуальному завданню (див. табл. індивідуальних завдань).

4.12. Підготувати необхідні пакетні файли для асемблювання та компоновки індивідуальної програми.

4.13. Створити програму, що виконується, зі свого тексту програми за індивідуальним завданням.

4.14. Перевірити роботу програми за індивідуальним завданням. При необхідності повернутися до п.4.11 та відкоригувати текст програми.

4.15. Зафіксувати роботу програми

- після завантаження,

- при коректних натисканнях усіх 3-х клавіш,

- при натискання помилкових клавіш.

4.16. Завантажити програму до налагоджувача.

4.17. Зафіксувати уміст регістрів ПЕРЕД позиціонуванням курсору (викликом переривання) для виведення повідомлення про першу з трьох клавіш, які повинні бути опрацьовані за індивідуальним завданням. Поряд навести (продублювати) зафіксований у п.4.15 екран виводу повідомлення про цю натиснуту клавішу.

4.18.  Вийти з налагоджувача, виконавши в його командному рядку команду quit.

4.19. Оформити звіт з висновками та поясненнями.

  1.  
    Таблиця індивідуальних завдань

№ журн.

Кл. 1

Кл. 2

Кл. 3

Кл. 4

Пов. 1

Пов. 2

Пов. 3

1

A

e

I

m

В-Л

В-Л

С-Л

2

B

f

J

n

В-Ц

В-Ц

С-Ц

3

C

g

K

o

В-П

В-П

С-П

4

D

h

L

p

С-Л

С-Л

Н-Л

5

E

i

M

q

С-Ц

С-Ц

Н-Ц

6

F

g

N

r

С-П

С-П

Н-П

7

G

k

O

s

Н-Л

Н-Л

В-Л

8

H

l

P

t

Н-Ц

Н-Ц

В-Ц

9

I

m

Q

u

Н-П

Н-П

В-П

10

J

n

R

v

В-Л

В-Л

С-Л

11

K

o

S

w

В-Ц

В-Ц

С-Ц

12

L

p

T

x

В-П

В-П

С-П

13

M

q

U

y

С-Л

С-Л

Н-Л

14

N

r

V

z

С-Ц

С-Ц

Н-Ц

15

O

s

W

A

С-П

С-П

Н-П

16

P

t

X

B

Н-Л

Н-Л

В-Л

17

Q

u

Y

C

Н-Ц

Н-Ц

В-Ц

18

R

v

Z

D

Н-П

Н-П

В-П

19

S

w

a

E

В-Л

В-Л

С-Л

20

T

x

b

F

В-Ц

В-Ц

С-Ц

21

U

y

c

G

В-П

В-П

С-П

22

V

z

d

H

С-Л

С-Л

Н-Л

23

W

A

e

I

С-Ц

С-Ц

Н-Ц

24

X

B

f

J

С-П

С-П

Н-П

25

Y

C

g

K

Н-Л

Н-Л

В-Л

26

Z

D

h

L

Н-Ц

Н-Ц

В-Ц

27

a

E

i

M

Н-П

Н-П

В-П

28

b

F

g

N

В-Л

В-Л

С-Л

29

c

G

k

O

В-Ц

В-Ц

С-Ц

30

d

H

l

P

В-П

В-П

С-П

Примітки.

Кл.1, Кл.2, Кл.3, Кл.4 – клавіші 1, 2, 3 та 4, відповідно.

Пов. 1, Пов. 2, Пов. 3 – розташування на екрані повідомлень 1, 2 та 3, відповідно.

Умовні позначення місця виводу повідомлення на екран монітору:

В, С, Н – верхня, середня та нижня третина екрану, відповідно;

Л, П, Ц – ліва, права та центральна частина рядка екрану, відповідно.


6. Теоретичні відомості

6.1. Створення програми, що виконується

Найбільш простий спосіб створення програми, що виконується, – використання макроасемблера TASM.

Програма пишеться на мові асемблера в текстовому форматі за допомогою редактора Блокнот.

Файл тексту програми повинен мати розширення ASM, наприклад, ABCD.ASM.

Після написання тексту програми для створення програми, що виконується, необхідно виконати наступні дії

1)  перейти в папку, де розташований макроасемблер TASM;

2) створити за допомогою блокнота пакетний файл для асеблювання з роширенням   .ВАТ (наприклад, assem_my-name.bat);

3) у файлі подати 3 рядки (якщо ваша програма має ім’я  ABCD.ASM ,

ABCD – ім’я програми без розширення):

 @echo off

TASM ABCD

 pause

4) виконати асемблювання тексту програми: виконати програму файлу assem_my-name.bat

 Переконатися у відсутності помилок.

При наявності помилок будуть вказані номери рядків із помилками.

При відсутності помилок в результаті з’явиться файл ABCD.OBJ;

5) створити за допомогою блокнота пакетний файл для компоновки з роширенням    .ВАТ (наприклад, link_my-name.bat);

6) у файлі подати 3 рядки (якщо ваша програма має ім’я  ABCD.ASM ,

ABCD – ім’я програми без розширення):

 @echo off

TLINK ABCD

 pause

7) виконати компоновку програми: виконати програму файлу link_my-name.bat.

Переконатися у відсутності помилок.

При наявності помилок будуть відповідні повідомлення компоновщика.

При відсутності помилок в результаті з’являється файл ABCD.EXE – програма, що виконується

8) перевірити та дослідити роботу програми;

при некоректній роботі – відкоригувати текст програми та виконати п.п. 1-7

5) ) дослідити роботу програми на налагоджувачі (завантажити налаголжувач і в його командному рядку виконати завантаження програм ABCD, набравши L  ABCD, де ABCD – ім’я програми).

6.2. Використання переривань для взаємодії зі зовнішніми пристроями 

Найбільш ефективним способом взаємодії елементів мікропроцесорної системи є використання переривань. Це дозволяє пришвидшити обмін інформацією та реалізувати жорстку взаємодію з апаратурою, враховуючи пріоритети процесів в системі. Суттєва частина ресурсів використовується для обміну інформацією з термінальним обладнанням, насамперед, клавіатурою та монітором. Тому обслуговуванню цих периферійних пристроїв приділяється особлива увага. Типовими завданнями при програмуванні систем реального часу є контроль клавіатури та вивід інформації на екран в необхідній формі.

Операційна система надає кілька способів очищення екрану. Який з них вибрати залежить від того, які засоби потрібні програмі для досягнення інших цілей. Перший метод - це просто скидання режиму дисплея, використовуючи функцію 0 переривання 10H. Для символьного екрану кожна позиція заповнюється пробілом (ASCII 32), а всі атрибути встановлюються нормальними (ASCII 7). Зазвичай цей метод слушний тільки на початку програми, коли все одно треба встановлювати режим роботи дисплея. Для кольорового графічного адаптера реініціалізація режиму дисплея призводить до катавасії на екрані. Цей ефект відсутній у монохромного адаптера EGA.

; --- Очищення екрана шляхом установки нового режиму

    MOV AH, 0   ; номер функції установки режиму дисплея

    MOV AL, 2   ; код режиму 80 * 25 чорно-білого

    INT 10H   ; очищення екрана

   

Операційна система надає два способи позиціонування курсору в абсолютну позицію на екрані. Функція 2 переривання 10H установлює курсор, що відноситься до зазначеної сторінки пам'яті. Другий метод позиціонування курсору полягає у використанні спеціального драйвера пристрою ANSI.SYS, який повинен бути завантажений при старті системи. Сторінки нумеруються починаючи з нуля і для монохромного дисплея номер сторінки (що знаходиться в BH) повинен завжди бути рівним 0. DH: DL містять рядок і стовпець, які теж нумеруються з 0. Курсор змінює своє положення на екрані тільки якщо установка курсору відноситься до поточної активної сторінки.

; --- Установка курсору в рядок 13, стовпець 39

    MOV AH, 2   ; номер функції

    MOV BH, 0   ; номер сторінки

    MOV DH, 13   ; рядок

    MOV DL, 39   ; стовпець

    INT 10H   ; позиціонуємо курсор

     

Функція 9 переривання 21H виводить рядок. DS:DX повинні вказувати на перший символ рядка. Рядок повинен завершуватися символом $, Це означає, що сам символ $ не може входити в рядок. Рядок може бути будь-якої довжини. Функція не переводить автоматично курсор на початок наступного рядка після завершення виведення. Щоб це виконувалося треба додати в кінець рядка символи 0AH (кінець рядка) та 0DH (повернення каретки).

; --- В сегменті даних записуємо для двох рядків

FIRST_STRING db 'This is the first string', 0AH, 0DH, '$'

SECOND_STRING db 'And this is the second string $'

; --- В сегменті коду робимо вивід рядків

 

     MOV AH, 9   ; номер функції виведення рядка

     LEA DX, FIRST_STRING ; завантажуємо адресу першого рядка

     INT 21H   ; друкуємо рядок з позиції курсору

     LEA DX, SECOND_STRING ; завантажуємо адресу другого рядка

     INT 21H   ; друкуємо рядок з початку нового рядка

  

Функція 1 переривання 21H - це спосіб отримати введений символ без очікування з луною відображення на терміналі. Ця функція повертає значення в регістрі AL. Якщо вміст AL не дорівнює нулю, то воно являє собою стандартний ASCII-Символи, наприклад, букву або цифру. Нульове значення в регістрі AL свідчить про те, що на клавіатурі була натиснута спеціальна функціональна клавіша, наприклад, Ноme, F1 або PgUp. Для визначення скан-коду клавіш, необхідно повторити виклик функції. Ця функція реагує на запит Ctrl / Break.

             

MOV AH, 1   ; номер функції DOS

             INT 21H   ; отримання символу

             JZ NO_CHAR   ; перехід якщо немає символу

             CMP AL, 0   ; перевірка на розширений код

; (відповідність очікуваній клавіші)

             JE EXTENDED_CODE ; якщо так, то перехід на спец. процедуру

              …   ... ; Інакше в AL код ASCII

EXTENDED_CODE:  INT 21H   ; отримуємо номер розширеного коду

                       ... ; Номер коду в AL

6.3. Керування функціями налагоджувача AFD здійснюється функціональними клавішами F1 … F10. Функції, які закріплені за цими клавішами, подані в нижньому рядку вікна налагоджувача. Перехід між вікнами (регістри – “пам’ять-числа” – “ пам’ять-символи”) виконується клавішами F7 … F10.

Рисунок до п.6.3 – Підказка щодо клавіш керування функціями налагоджувача AFD

6.4. Програмна модель 16-розрядного мікропроцесора х86 подана у файлі prog_model_x86.doc, який розташований в папці лабораторної роботи.

6.5. Перелік команд 16-розрядного мікропроцесора х86 та їх функції подані у файлі commands_x86.doc, який розташований в папці лабораторної роботи.

6.6. Особливості команд множення та ділення 16-розрядного мікропроцесора х86 подані у файлі commands_mul_div.doc, який розташований в папці лабораторної роботи.

6.7. Перелік директив асемблера TASM мікропроцесора х86 та їх функції подані у файлі directives_TASM.doc, який розташований в папці лабораторної роботи.

6.8. Перелік директив асемблера TASM мікропроцесора х86 щодо моделей пам’яті та їх функції подані у файлі directives_TASM_mem.doc, який розташований в папці лабораторної роботи.

6.9. Перелік скан-кодів клавіш клавіатури поданий у файлі scancodes.txt, який розташований в папці лабораторної роботи.

6.10. Відомості щодо функцій переривань BIOS та DOS подані у файлі int.doc, який розташований в папці лабораторної роботи.

7. Контрольні питання:

  •  Що таке система машинних команд процесора?
  •  Що таке машинна програма?
  •  Яку структуру має машинна програма?
  •  Яка послідовність виконання програми?
  •  З чого складається час виконання команд, час виконання програми?
  •  Що таке переривання?
  •  Яка структура машинної команди і типи адресації?
  •  Як створюється програма, що виконується.
  •  Як реалізується обмін інформацією з монітором?

Як реалізується обмін інформацією з клавіатурою?

8. Питання для самостійного вивчення під час підготовки до заняття:

  •  Основи написання програм на мові асемблера.
  •  Створення програм, що виконуються.

Виконання програм в різних операційних системах.

9. Тестовий контроль знань, засвоєних на занятті:  

  1.  З папки лабораторної роботи запустити програму для тестування MyTestStudent.exe.
    1.  Завантажити тест для контролю знань, обравши пункт меню     Файл / Открыть / Lab_4_test
    2.  Уважно прочитати Информацию щодо тесту.
    3.  Запустити тест, обравши пункт меню Тест / Начать тест.
    4.  Після закінчення тесту при появі оцінки зафіксувати її у викладача.

10.  Рекомендована література:

  •  Абрамов В.О. Архітектура електронно-обчислювальних машин. Навчальний посібник. – К.: КМПУ імені Б.Д.Грінченка, 2007. – 84 с.
  •  В.Л. Бройдо, О.П. Ильина.  Архитектура ЭВМ и систем. Учебник для Вузов. – СПб.: Питер, 2006.  – 718 с.


 

А также другие работы, которые могут Вас заинтересовать

84708. Структура МИД России 15.81 KB
  Территориальные департаменты на которые возложена работа по вопросам отношений России с другими государствами и международными организациями. Территориальные департаменты Территориальные департаменты Министерства иностранных дел Первый департамент стран СНГ Второй департамент стран СНГ Белоруссия Молдавия Украина Третий департамент стран СНГ Средняя Азия Четвертый департамент стран СНГ Закавказье Первый Европейский департамент Западная Европа Греция Турция Второй Европейский департамент Северная Европа Прибалтика Третий...
84709. Деятельность департаментов МИД РФ и вопросы их компетенции 14.65 KB
  Деятельность департаментов МИД РФ и вопросы их компетенции. Департаменты МИДа России делятся на: 1.Территориальные департаменты на которые возложена работа по вопросам отношений России с другими государствами и международными организациями. Территориальные департаменты Территориальные департаменты Министерства иностранных дел Первый департамент стран СНГ Второй департамент стран СНГ Белоруссия Молдавия Украина Третий департамент стран СНГ Средняя Азия Четвертый департамент стран СНГ Закавказье Первый Европейский департамент...
84710. Административный процесс в системе административного права 110 KB
  Понятие и принципы административного процесса. Виды административных процедур (производств). Правовое регулирование административных процедур и производств. Административная юстиция. Административная юрисдикция
84711. Коллегия МИД России. 11.35 KB
  Коллегия МИД России. В МИД образуется коллегия в составе министра председателя коллегии его заместителей по должности а также других руководящих работников системы министерства. Коллегия рассматривает наиболее важные вопросы деятельности МИД и принимает соответствующие решения. В целях выработки наиболее обоснованных предложений по вопросам внешней политики государства МИД может образовывать научноконсультативные методические и экспертные советы.
84712. Понятие «дипломатические отношения». Установление дипломатических отношений как следствие международно-правового признания государств 15.77 KB
  Установление дипломатических отношений как следствие международноправового признания государств. В одной из первых статей ООН говориться об установлении добрососедских отношений. Дипломатические отношения помогают определить форму таких добрососедских отношений. Так в Испании после переворота Франко Советская Россия не признала его и дипломатических отношений не было но реально они были.
84713. Процедура установления и прекращения дипломатических отношений 13.74 KB
  Такие отношения именуемые дипломатическими устанавливаются с их взаимного согласия и осуществляются в соответствии с нормами международного права и утвердившейся практикой международного общения. Так признание государства деюре подразумевается в случае официального выражения признающей стороной желания установить с ним дипломатические отношения. Однако отсутствие признания деюре или дефакто не означает что между обоими государствами исключаются вообще какиелибо отношения. Такие фактические отношения нередко имеют место в течение...
84714. Категории дипломатических представительств и классы их глав 15.1 KB
  дипломатические представительства и консульские учреждения России ее представительства при международных межгосударственных межправительственных организациях представительства министерства на территории РФ а также подведомственные министерству предприятия учреждения и организации созданные для обеспечения его деятельности на территории России. Постоянное представительство РФ при международной организации является государственным органом внешних сношений осуществляющим представительство РФ в соответствующей международной организации....
84715. Дипломатический корпус в узком и широком понимании. Дипломатическое старшинство. Дуайен 13.53 KB
  Дуайен. Возглавляет список дуайен затем сотрудники его посольства и так далее. Возглавляет дипломатический корпус старшина или дуайен. В некоторых странах католических в соответствии с установившимся обычаем папский нунций является дуайеном независимо от времени его аккредитования.
84716. Функции дипломатических представительств зафиксированные в Венской конвенции о дипломатических сношения 15.17 KB
  Конвенция впитала в себя все то рациональное что содержалось в подобного рода документах регулировавших отношения между государствами в прошлом а также правила и обычаи утвердившиеся в межгосударственном взаимодействии в результате многовековой дипломатической практики. Венская Конвенция 1961 г. Венская конвенция 1961 г. подразделяет глав дипломатических представительств на: класс послов и нунциев аккредитуемых при главах государств; к этому классу конвенция относит также других глав представительств эквивалентного ранга; класс...