Створення драйвера до модема, підключеного до COM-порту
Послідовний асинхронний адаптер. Основні команди модему, принципи програмування модемів. Протоколи передачі файлів. Основні способи з'єднання комп'ютерів для обміну інформацією. Безпосередній зв'язок через асинхронний порт. Зв'язок через локальні мережі.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 10.01.2013 |
Размер файла | 32,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
- ЗМІСТ
- Вступ
- Розділ 1. Послідовний асинхронний адаптер
- Розділ 2. Типи модемів
- Розділ 3. Опис програми (модульна структура).
- Розділ 4. Результати виконання програми
- Висновок.
- Список використаної літератури
- Додаток А
- Додаток В
Вступ
Останнім часом модеми стають невід'ємною частиною комп'ютера. Установивши модем на свій комп'ютер, ви фактично відкриваєте для себе новий світ. Ваш комп'ютер перетворюється з відособленого комп'ютера в ланку глобальної мережі.
Модем дозволить вам, не виходячи з будинку, одержати доступ до баз даних, що можуть бути передані від вас на багато тисяч кілометрів, розмістити повідомлення на BBS (електронній дошці об'явлений), доступної іншим користувачам, скопіювати з тієї ж BBS цікавлячи вас файли, інтегрувати домашній комп'ютер у мережу вашого офісу, при цьому (не вважаючи низькою швидкість обміну даними) створюється повне відчуття роботи в мережі офісу. Крім того, скориставшись глобальними мережами (RelCom, FidoNet) можна приймати і посилати електронні листи не тільки усередині міста, але фактично в будь-який кінець земної кулі. Глобальні мережі дають можливість не тільки обмінюватися поштою, але і брати участь у всіляких конференціях, одержувати новини практично по будь-якій цікавлячий вас тематиці.
Існує три основних способи з'єднання комп'ютерів для обміну інформацією:
- безпосередній зв'язок, через асинхронний порт;
- зв'язок з використанням модему;
- зв'язок через локальні мережі.
У даному випадку розглядається вирішення проблеми зв'язку з використанням модему.
Розділ 1. Послідовний асинхронний адаптер
комп'ютер модем передача файл
Практично кожен комп'ютер обладнаний хоча б одним послідовним асинхронним адаптером. Звичайно він являє собою окрему плату або ж розташований прямо на материнській платі комп'ютера. Його повна назва - RS-232-C. Кожен асинхронний адаптер звичайно містить кілька портів, через які до комп'ютера можна підключати зовнішні пристрої. Кожному такому порту відповідає кілька регістрів, через які програма одержує до нього доступ, і визначена лінія IRQ (лінія запиту переривання) для сигналізації комп'ютеру про зміну стану порту. Кожному порту привласнюється логічне ім'я (COM1,COM2,і т.д.).
Інтерфейс RS-232-C розроблений асоціацією електронної промисловості ( EIA ) як стандарт для з'єднання комп'ютерів і різних послідовних периферійних пристроїв.
Комп'ютер IBM PC підтримує інтерфейс RS-232-C не повною мірою; скоріше роз'їм, позначений на корпусі комп'ютера як порт послідовної передачі даних, містить деякі із сигналів, що входять в інтерфейс RS-232-C і мають відповідні цьому стандарту рівні напруги.
В даний час порт послідовної передачі даних використовується дуже широко. От далеко не повний список застосувань:
- підключення миші;
- підключення графобудівників, сканерів, принтерів, дигитайзеров;
- зв'язок двох комп'ютерів через порти послідовної передачі даних з використанням спеціального кабелю і таких програм, як FastWire II чи Norton Commander;
- підключення модемів для передачі даних по телефонних лініях;
- підключення до мережі персональних комп'ютерів;
Послідовна передача даних означає, що дані передаються по єдиній лінії. При цьому біти байта даних передаються по черзі з використанням одного проводу. Для синхронізації групи бітів даних звичайно передує спеціальний стартовий біт, після групи бітів випливають біт перевірки на парність і один чи два стопових біти. Іноді біт перевірки на парність може бути відсутній.
Використання біта парності, стартових і стопових битов визначають формат передачі даних. Очевидно, що передавач і приймач повинні використовувати той самий формат даних, інакше обмін не можливий.
Інша важлива характеристика - швидкість передачі даних. Вона також повинна бути однакової для передавача і приймача.
Швидкість передачі даних звичайно виміряється в бодах ( на прізвище французького винахідника телеграфного апарата Emile Baudot - Э.Бодо). Боды визначають кількість переданих битов у секунду. При цьому враховуються і старт/стопні біти, а також біт парності.
1.1 Апаратна реалізація
Комп'ютер може бути оснащений одним чи двома портами послідовної передачі даних. Ці порти розташовані або на материнській платі, або на окремій платі, що вставляється в слоты розширення материнської плати.
Бувають також плати, що містять чотири чи вісім портів послідовної передачі даних. Їх часто використовують для підключення декількох чи комп'ютерів терміналів до одному, центральному комп'ютеру. Ці плати мають назва "мультипорт".
Входи TD і RD використовуються пристроями DTE і DCE по-різному. Пристрій DTE використовує вхід TD для передачі даних, а вхід RD для прийому даних. І навпаки, пристрій DCE використовує вхід TD для прийому, а вхід RD для передачі даних. Тому для з'єднання термінального пристрою і пристрою зв'язку висновки їхніх рознімань необхідно з'єднати прямо.
Розглянемо процес підтвердження зв'язку між комп'ютером і модемом. На початку сеансу зв'язку комп'ютер повинний упевниться, що модем може зробити виклик (знаходиться в робочому стані). Потім, після виклику абонента, модем повинний повідомити комп'ютеру, що він зробив з'єднання з вилученою системою.
Існує більш високий рівень, що використовується для керування швидкістю обміну даними, але він також реалізується апаратно. Практично керування швидкістю обміну даними (керування потоком) необхідно, якщо виробляється передача великих обємів даних з високою швидкістю. Коли одна система намагається передати дані з більшою швидкістю, чим вони можуть бути оброблені приймаючою системою, результатом може стати втрата частини переданих даних. Щоб запобігти передачі більшого числа даних, які можуть бути оброблені, використовують керування зв'язком, називаним як "керування потоком".
Однак на практиці не все так просто. З'єднати комп'ютер і модем не складає труднощів, тому що інтерфейс RS-232-C саме для цього і призначений. Але якщо ви захочете зв'язати разом два комп'ютери за допомогою такого ж кабелю, що ви використовували для зв'язку модему і комп'ютера, то у вас виникнуть проблеми. Щоб вирішити всі ці проблеми для з'єднання двох пристроїв використовується спеціальний кабель, у побуті називаний нуль-модемом.
При передачі даних на великі відстані без використання спеціальної апаратури через перешкоди, що наводяться електромагнітними полями, можливе виникнення помилок. Унаслідок цього накладаються обмеження на довжину сполучного кабелю між пристроями.
Офіційне обмеження по довжині для сполучного кабелю по стандарті RS-232-C складає 15,24 метра. Однак на практиці ця відстань може бути значно більше. Вона безпосередньо залежить від швидкості передачі даних.
110бод - 1524м / 914,4м
300бод - 1524м / 914,4м 1200бод - 914,4м / 914,4м 2400бод - 304,8м / 152,4м 4800бод - 304,8м / 76,2м 9600бод - 76,2м / 76,2м
Перше значення - швидкість передачі в бодах, друге - максимальна довжина для екранованого кабелю, третє - максимальна довжина для неекранованого кабелю.
Рівні напруги на лініях разьема складають для логічного нуля -15..-3 вольти, для логічної одиниці +3..+15 вольт. Проміжок від -3 до +3 вольтів відповідає невизначеному значенню.
1.2 Програмування адаптера
Порти асинхронного адаптера
Перший адаптер COM1 має базова адреса 3F8h і займає діапазон адрес від 3F8h до 3FFh. Другий адаптер COM2 має базова адреса 2F8h і займає адреси 2F8h..2FFh.
Асинхронні адаптери можуть виробляти переривання:
COM1,COM3 - IRQ4
COM2,COM4 - IRQ3
Мається 7 основних регістрів для керування портами:
а) Регістр даних
Максимальна швидкість обміну інформацією, котру можна досягти при використанні асинхронного адаптера, досягає 115200 бод, що приблизно відповідає 14 Кбайт у секунду.
б) Регістр керування перериваннями
в) Регістр ідентифікації переривання
Зчитуючи його вміст, програма може визначити причину переривання
г) Керуючий регістр
д) Регістр керування модемом
е) Регістр стану лінії
ж) Регістр стану модему
Ініціалізація асинхронного адаптера
Перше, що повинна зробити програма, що працює з асинхронним адаптером - установити формат і швидкість передачі даних. Після завантаження операційної системи для асинхронних адаптерів установлюється швидкість 2400 бод, не виконується перевірка на парність, використовуються один стоповий і восьмибитовая довжина переданого символу. Можна змінити цей режим командою MS-DOS MODE.
Розділ 2. Типи модемів
В даний час випускається величезну кількість усіляких модемів, починаючи від найпростіших, що забезпечують швидкість передачі близько 300 біт/сек, до складних факс-модемних плат, що дозволяють вам послати з вашого комп'ютера чи факс звуковий лист у будь-яку крапку світу.
На даний час такі модеми широко використовуються в усьому світі для зв'язку персональних комп'ютерів IBM PC/XT/AT, PS/2 через телефонні лінії.
Апаратно модеми виконані або як окрема плата, що вставляється в слот на материнській платі комп'ютера, або у виді окремого корпуса з блоком живлення, що підключається до послідовного асинхронного порту комп'ютера. Перший з них називається внутрішнім модемом, а другий - зовнішнім.
Типовий модем містить наступні компоненти: спеціалізований мікропроцесор, керуючий роботою модему, оперативну пам'ять, що зберігає значення регістрів модему вхідну/вихідну інформацію, постійну пам'ять, динамік, що дозволяє виконувати звуковий контроль зв'язку, а також інші допоміжні елементи ( трансформатор, резистори, конденсатори). Якщо у вас досить сучасний модем, то він швидше за все додатково містить електричну перепрограмомувальну постійну пам'ять, у якій може бути збережена конфігурація модему навіть при вимиканні живлення.
Щоб модеми могли обмінюватися один з одним інформацією, треба, щоб вони використовували однакові способи передачі даних по телефонних лініях. Для розробки стандартів передачі даних був створений спеціальний міжнародний консультативний комітет з телеграфії і телефонії (CCITT) і прийняті наступні рекомендації:
CCITT V.21 - 300 bps. , призначений для передачі даних по виділених лініях, що комутируються.
CCITT V.22 - 1200 bps. ( комп'ютер передає модему дані в асинхронному режимі) .
CCITT V.22bis - 2400 bps.
CCITT V.23 - 600/1200 bps. ( використовує метод частотної модуляції.
Bell- американський стандарт ,що не сумісний з вищеназваними .
Програмування модемів
Після випуску американською фірмою Hayes модемів серії Smartmodem, система команд, використана в ній, стала деяким стандартом, якого дотримують інші фірми - розроблювачі модемів. Система команд, застосовувана в цих модемах, зветься hayes-команд, чи AT-команд.
З часу випуску перших AT-сумісних модемів набір їхніх команд трохи розширився, але всі основні команди залишилися без зміни.
Усі команди, передані комп'ютером модему, треба починати префіксом AT (ATtention - увага) і закінчувати символом повернення каретки ( <CR> ). Тільки команда А/ і Escape-послідовність "+++" не вимагають для себе префікса AT.
Після префікса AT можуть йти одна чи відразу кілька команд. Для ясності ці команди можуть бути відділені друг від друга символами - пропуску , тире, дужками. У більшості випадків команди можуть бути написані як заголовними, так і малими літерами.
При передачі модему команд вони спочатку заносяться у внутрішній буфер.
Якщо ви припуститися помилки при наборі команди, то її можна виправити, використовуючи клавішу BackSpace.
Після виконання кожної команди модем посилає назад комп'ютеру відповідь у виді чи числа слова. Ця відповідь означає, чи виконана чи команда відбулася помилка.
Якщо у вас зовнішній модем, то на його лицьовій панелі знаходиться вісім світлових індикаторів. Хоча їхнє розташування на різних моделях може мінятися, їхні позначення є стандартними:
MR Modem Ready
TR Terminal Ready
CD Carrier Detect
SD Send Data
RD Receave
HS High
AA Auto
OH Off
Основні команди модему:
AT - Початок (префікс) командного рядка.
A - Автоответ.
A/ - Модем повторює останню введену команду.
Bn - Команда робить вибір стандарту, відповідно до якого буде відбуватися обмін даними між модемами.
Ds - Команда використовується для набору номера.
, - Символ коми викликає паузу при наборі номера
; - Символ крапки з коми, якщо він знаходиться наприкінці командного рядка, переводить модем після набору номера в командний режим.
@ - Модем очікує пятисекундной тиші на лінії протягом заданого проміжку часу.
! - Якщо знак ! коштує перед знаками послідовності набору, модем переходить у стан ON HOOK (кладе трубку) на 1/2 секунди, а потім знову переходить у стан OFF HOOK ( знімає трубку).
S - Модем набирає телефонний номер, записаний у його пам'яті.
R - Після набору номера переводить модем у режим автовідповіді.
Fn - Переключення між дуплексним/напівдуплексним режимами.
Hn - Ця команда використовується для керування телефонною лінією.
In - Видає ідентифікаційний код модему і контрольну суму вмісту пам'яті модему.
Ln - Установка голосності сигналу внутрішнього динаміка: n=0,1 відповідає низької голосності, n=2 - середньої і n=3 - максимальної.
Qn - Керування відповіддю модему на AT-команди.
On - Команда переводить модем з командного режиму в режим передачі даних.
Sr? - Читання вмісту регістра модему, що має номер r.
Sr=n - Запис у регістр модему з номером r числа n.
Vn - Робить вибір виду відповіді модему на AT-команди.
Yn - Спосіб відключення модему від лінії.
Z - Скидає конфігурацію модему.
+++ - Escape-послідовність, використовувана для переходу в командний режим роботи модему.
&F - модем установлює конфігурацію, записану в постійну пам'ять.
&Gn - Включення/вимикання захисної частоти.
&Ln - Вид лінії зв'язку.
&Mn - Установка асинхронно/синхронного режиму роботи.
&Pn - Установка імпульсного коефіцієнта набору номера відповідно до різних стандартів.
&W - Модем записує свою поточну конфігурацію в енергонезалежну пам'ять.
&Zn - Використовується для запису телефонного номера в енергонезалежну пам'ять модему. .
2.1 Основні принципи програмування модемів
Доступ до модему відбувається через послідовний асинхронний порт. При цьому для передачі модему команд їх необхідно просто записати в регістр даних COM-порту, на якому знаходиться модем. Відповідь від модему також надходить через послідовний порт. Передаючи модему команди, його можна про ініціювати, перевести в режим автовідповіді чи змусити набрати номер.
Отже, після встановлення зв'язку з вилученим модемом, комунікаційна програма може починати обмін даними. Обмін даними так само, як і передача команд, здійснюється через COM-порт. Потім за допомогою спеціальної Escape-послідовності можна переключити модем з режиму передачі даних назад у командний режим і покласти трубку, розірвавши зв'язок з вилученим модемом.
Послідовність дій для встановлення зв'язку:
а)Ініціалізація COM-порту
б)Ініціалізація модему
в)З'єднання з вилученим модемом
г)Очікуємо відповідь від модему
д)Підключення модему в командний режим
е)Скидаємо сигнали на лініях DTR і RTS
2.2 Протоколи обміну даними
Протоколи корекції помилок нижнього рівня
При передачі даних по зашумленим телефонних лініях завжди існує імовірність, що дані, переданим одним модемом, будуть прийняті іншим модемом у перекрученому виді. Наприклад, деякі передані байти можуть змінити своє значення або навіть просто зникнути. Для того, щоб користувач мав гарантії, що його дані передані без помилок, використовуються протоколи корекції помилок.
Загальна форма передачі даних по протоколах з корекцією помилок наступна: дані передаються окремими блоками (пакетами) по 16-20000 байт, у залежності від якості зв'язку. Кожен блок забезпечується заголовком, у якому зазначена перевірочна інформація, наприклад контрольна сума блоку. Протоколи корекції помилок можуть бути реалізовані як на апаратному рівні, так і на програмному. Апаратний рівень реалізації більш ефективний. Швидкодія апаратної реалізації протоколу MNP приблизно на 30% вище, ніж програмної.
MNP-протоколи
MNP (Microcom Network Protocols) - серія найбільш розповсюджених апаратних протоколів, уперше реалізована на модемах фірми Microcom. Ці протоколи забезпечують автоматичну корекцію помилок і компресію переданих даних.(зараз відомі 10 видів цих підпротоколів).
Режими MNP-модемів.
MNP-модем забезпечує наступні режими передачі даних:
- Стандартний режим.
- Режим прямої передачі.
- Режим з корекцією помилок і буферізациєй.
- Режим з корекцією помилок і автоматичним настроюванням.
Протоколи V.42 і V.42bis.
Протокол з корекцією помилок і перетворенням асинхронний-синхронний. Протокол використовує метод компресії, при якому визначається частота появи окремих символьних рядків і відбувається їхня заміна на послідовності символів меншої довжини.
2.3 Протоколи передачі файлів
На відміну від протоколів нижнього рівня дані протоколи дозволяють організувати прийом і передачу файлів(3 основних):
ASCII.
XModem.
Найбільш поширені три різновиди протоколу XModem:
- оригінальний протокол Xmodem
- Xmodem c CRC
- 1K Xmodem Kermit.
Алгоритм реалізації :
Найбільш наглядно покрокове виконання поставленої задачі можна прослідкувати на такому прикладі :
В самому простому випадку взаємодія двох комп'ютерів може бути реалізована за допомогою драйвера модемів на основі інтерфейсу Rs-232 С.
Драйвер СОМ-порта разом з контролером СОМ - порта працюють злагоджено. Однак при цьому роль пристрою керування ПУ виконує контролер і драйвер СОМ-порта другого комп'ютера Разом вони забезпечують передачу по кабелю між комп'ютерами одного байта інформації.
Драйвер комп'ютера В періодично опитує признак завершення прийому, встановлений контролером при правильно виконаній передачі даних, і при його появі рахує прийнятий байт із буфера контролера в оперативну пам'ять, роблячи його тим самим доступними для програм комп'ютера В. В деяких випадках драйвер викликається асинхронно ,при перериваннях контролера.
Таким чином у розпорядженні програм комп'ютерів А і В і засід для передачі одного байту інформації. Але наша задача значно тяжча,оскільки передається не один байт , а певна частина заданого файлу. Всі зв'язані з цим додаткові проблеми повинні вирішувати програми більш високого рівня , ніж драйвери СОМ -портів.
Для того щоб передати повідомлення комп'ютеру В , додаток А звертається до драйвера СОМ -порта ,повідомляючи йому адрес в оперативній памяті , по якому драйвер знаходить повідомлення і потім передає його байт за байтом додатку В. Додаток В читає потрібну область файла і з допомогою дравера СОМ -порта передає зчитані дані по каналу зв'язку до комп'ютера А.
Розділ 3. Опис програми (модульна структура)
Дана програма побудована на основі модульного принципу. Тобто розбита на частини ,кожна з яких виконує певну задачу .Основні модулі програми :
Встановлення відео атрибутів :
REV_VIDEO EQU 70H ;
NORM_VIDEO EQU 07H
BOLD EQU 0FH
BOLD_UNDERL EQU 09H
BLINK EQU 87H
;-------------------------- спеціальний адаптер порта COM- ports
BASE_ADDRESS equ 280h ; base address of card i.e. COM3
PORT_DISPLACEMENT equ 8 ; offset from COMn to COMn + 1 for card
MCONT equ 4
LSTAT equ 5
MSTAT equ 6
;статус модема
D_CTS equ 01h
D_DSR equ 02h
TERI equ 04h
D_RLSD equ 08h
CTS equ 10h
DSR equ 20h
RI equ 40h
RLSD equ 80h
;;-------------------- статус строки
DATA_READY equ 01h
OVERRUN equ 02h
PARITY equ 04h
FRAMING equ 08h
BREAK equ 10h
THRE equ 20h
TSRE equ 40h
;;-------------------- контролер модема
DTR equ 01h
RTS equ 02h
code segment
assume cs:code, ds:code, es:code, ss:code
org 100h
; 'при натисненні “с” - змінюються значення регістрів адресу наступного порта
cmp port + 1, '1' ; was port 1?
jne cp_10 ; no - check for 10
mov modem_control, 02fch ; yes - set addresses for COM2
mov line_status, 02fdh
mov modem_status, 02feh
inc port + 1 ; set display digit
ret ; and done
;----------------------------------------------------------------------------
;ця процедура зберігає контекст відео ram буфер адресу
;
;----------------------------------------------------------------------------
mov dx, crt_control_port
cld
push ds
push ds
pop es
mov di, offset screen_storage
mov ax, video_ram
mov ds, ax
;cmp ax, 0b800h
;jne save_10
;----------------------------------------------------------------------------
;процедура відновлюює значення відео RAM
;----------------------------------------------------------------------------
cld
push ds
pop es
mov si, offset screen_storage
mov ax, video_ram
mov es, ax
cmp ax, 0b800h
jne res_10
процедура запису ASCIIZ значення строки в порт ;
xor ax, ax
mov al, row ;
mov cl, 80 ;
mul cl ;
xor bh, bh
mov bl, col
add ax, bx
shl ax, 1 ;
mov di, ax ;
еnd
Розділ 4. Результати виконання програми
D:\BORLANDC\BIN>tasm.exe comdebug.asm
Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland International
Assembling file: comdebug.asm
**Fatal** Command line: Can't locate file: comdebug.asm
Error messages: 1
Warning messages: None
Passes: 1
Remaining memory: 407k
D:\...sembler\Новая папка (2)\comdebug>
Отже на основі цієї інформації можна зробити висновок ,що драйвер написаний правильно , з урахуванням всіх вимог до написання такого роду програм .Висновок ґрунтується на тому , що система не може локалізувати даний файл , тобто виконати його на окремому комп'юпері ,що не має провідникових засобів зв'язку з зовнішнім світом . Таким чином ми не можемо створити OBJ файл і на основі нього за допомогою tlink.exe виконуючого файлу(com,exe …).Але я ще раз наголошую , що на основі повідомлення tasm.exe :
**Fatal** Command line: Can't locate file: comdebug.asm
можна судити про працездатність програми .
Висновок
Існує безліч варіантів використання модему(зокрема комунікаційні програми - MTE, Telix, Comit, Bitcom і т.д.
Основні параметри по яких оцінюються комунікаційні програми є: програмна емуляція протоколів корекції помилок (MNP), наявність різноманітних протоколів обміну файлами, інтерфейс із користувачем. Найбільш поширені комунікаційні програми на даний час:(MTE.М; Telix;Comi;Bitcom).
BBS ( Bulletin Board System ) - це комп'ютер, оснащений одним чи декількома модемами, на якому виконується спеціальна програма. Ця програма дає можливість вилученим користувачам зв'язуватися з нею по телефонних лініях і виконувати обмін файлами і повідомленнями.
Якщо ви успішно установили модем на своєму комп'ютері, то у вас виникне природне бажання куди-небудь подзвонити. Для цього ви можете скористатися будь-як телекомунікаційною програмою - MTE, COMIT, BITCOM. Якщо ваш модем не має апаратної корекції помилок, то краще використовувати MTE чи іншу програму, що має можливість эмуляции MNP (наприклад COMIT).
Maximus організує діалог з користувачем, дозволяє користувачу одержати адресовані йому повідомлення (пошту), відправити пошту іншим користувачам даної станції BBS чи мережі FidoNet (якщо дана станція входить у цю мережу).
Воно означає, що станція є вузлом якої-небудь мережі, наприклад FidoNet, і на ній виконується спеціальна поштова програма FrontDoor. Вам пропонується натиснути два рази на клавішу ESC для завантаження програми Maximus, що і буде далі підтримувати діалог з вами.
Список використаної літератури
1. Бредли Д. Програмирование на языке ассемблера для персональной ЭВМ фирмы IBM :Пер.в анг.-М.;Радио и связь,1988 .-448с
2. Скэнлон Л. Персональне ЭВМ IBM PC и XT.Програмирование на языке ассемблера :Пер.с анг.-М.:Радио ы связь,1991.-336с.
3. Абель П.Язык Ассемблера для IBM PC и програмырования :Пер.с анг.-Мю:Высшая школа ,1992.-477с.
4. Нортон П.Соху Д. Язык ассемблера для IBM PC .Пер.с англ.-М.:Издательство «Компютер «;Финансы и статистика ,1992 .-352с.
5. Использование Turbo Assemblera при розроботке програм .-Киев :»Диалектика»,1994.-288 с.
6. Лямин Л .Макроассемблер МАSМ..-М.-Радио и связь ,1994ю-320с.
Додаток А
push_all macro
push ax
push bx
push cx
push dx
push di
push si
push bp
push ds
push es
pushf
endm
pop_all macro
popf
pop es
pop ds
pop bp
pop si
pop di
pop dx
pop cx
pop bx
pop ax
endm
TRUE equ 1
FALSE equ 0
ESC equ 1
D equ 32
C equ 46
ONE equ 2
NUM_ONE equ 79
ZERO equ 11
NUM_ZERO equ 82
LEFT equ 75
RIGHT equ 77
ALT_SHIFT equ 08h
SCROLL_SHIFT equ 10h
KB_DATA equ 60h
KB_CTL equ 61h
ON equ 1
OFF equ 0
REV_VIDEO EQU 70H ; відео атрибути для настроювання екрану
NORM_VIDEO EQU 07H
BOLD EQU 0FH
BOLD_UNDERL EQU 09H
BLINK EQU 87H
;-------------------------- спеціальний адаптер карти для СОМ -порта
BASE_ADDRESS equ 280h ; базовий адрес порта(i.e. COM3)
PORT_DISPLACEMENT equ 8 ; переривання з COMn до COMn + 1порта
MCONT equ 4
LSTAT equ 5
MSTAT equ 6
;--------------------- статус модема
D_CTS equ 01h
D_DSR equ 02h
TERI equ 04h
D_RLSD equ 08h
CTS equ 10h
DSR equ 20h
RI equ 40h
RLSD equ 80h
;-------------------- статус лінії
DATA_READY equ 01h
OVERRUN equ 02h
PARITY equ 04h
FRAMING equ 08h
BREAK equ 10h
THRE equ 20h
TSRE equ 40h
;-------------------- контролер модема
DTR equ 01h
RTS equ 02h
code segment
assume cs:code, ds:code, es:code, ss:code
org 100h
first:
jmp loader
;jmp tester
ASCII_signature db "COMDEBUG by Peter Shier at TADIRAN Givat Shmuel 01/87"
busy db FALSE
old_int9_off dw 0
old_int9_seg dw 0
graphics db FALSE
video_ram dw 0 ; відео ram сегмент
crt_status_port dw 0
crt_control_port dw 0
start_offset dw 0 ;початкове зміщення екранного сегменту
str_ptr dw 0 ; значення ASCIIZ строки
row db 0 ;
col db 0
attribute db 0 ; очікувані атрибути
screen_storage db 4000 dup(?) ;
modem_control dw 03fch
line_status dw 03fdh
modem_status dw 03feh
port db '01', 0
cursor db DTR
bit db ?, 0
saved_cursor_pos dw ?
main_frame_msg db " C O M D E B U G ", 0
main_frame_1 db "г====================================================================¬", 0
main_frame_2 db "¦ ¦", 0
main_frame_3 db "L====================================================================-", 0
mod_stat_msg_1 db " Modem Status ", 0
mod_stat_msg_2 db "Delta CTS Delta DSR TERI Delta RLSD CTS DSR RI RLSD", 0
mod_stat_frame_1 db "-----------------------------------------------------------¬", 0
mod_stat_frame_2 db "¦ ¦", 0
mod_stat_frame_3 db "L-----------------------------------------------------------", 0
lin_stat_msg_1 db " Line Status ", 0
lin_stat_msg_2 db "Data Ready Overrun Parity Framing Break THRE TSRE", 0
lin_stat_frame_1 db "---------------------------------------------------------¬", 0
lin_stat_frame_2 db "¦ ¦", 0
lin_stat_frame_3 db "L---------------------------------------------------------", 0
mod_ctrl_msg_1 db "Mod Ctrl", 0
mod_Ctrl_msg_2 db "DTR RTS", 0
mod_ctrl_frame_1 db "---------¬", 0
mod_ctrl_frame_2 db "¦ ¦", 0
mod_ctrl_frame_3 db "L---------", 0
instruct_msg_1 db "<- -> Move cursor", 0
instruct_msg_2 db "D Display registers", 0
instruct_msg_3 db "1/0 Raise/lower DTR/RTS", 0
instruct_msg_4 db "C Change com port", 0
instruct_msg_5 db "Esc Exit", 0
instruct_msg_6 db "Com port = ", 0
tester proc near
call get_video_mode
call display_screen
t_10:
mov ah, 0
int 16h
cmp al, 1bh
jne t_15
ret
t_15:
xchg al, ah
call com_debug
jmp t_10
tester endp
new_int9:
sti
push_all
push cs
pop ds
cmp busy, TRUE
je now_busy
pushf
call dword ptr old_int9_off
mov ax, 40h
mov es, ax
test byte ptr es:[17h], ALT_SHIFT
jz done
test byte ptr es:[18h], SCROLL_SHIFT
jz done
mov busy, TRUE
mov al, ALT_SHIFT
not al
and byte ptr es:[17h], al
mov al, SCROLL_SHIFT
not al
and byte ptr es:[18h], al
call save_screen
call save_cursor
done:
pop_all
iret
now_busy:
call get_scan_code ;повернення сканованого коду
cmp al, 80h
jae eoi
cmp al, ESC
jne still_on
call restore_screen
call restore_cursor
mov busy, FALSE
jmp eoi
still_on:
call com_debug ;
eoi:
mov al, 20h
out 20h, al
pop_all
iret
get_scan_code proc near
in al, KB_DATA
push ax
in al, KB_CTL
mov ah, al
or al, 80h
out KB_CTL, al
xchg ah, al
out KB_CTL, al
pop ax
ret
get_scan_code endp
save_cursor proc near
mov ah, 03h
mov bh, 00h
int 10h
mov saved_cursor_pos, dx
mov ah, 02h
mov bh, 00h
mov dh, 25
mov dl, 0
int 10h
ret
save_cursor endp
restore_cursor proc near
mov ah, 02h
mov bh, 00h
mov dx, saved_cursor_pos
int 10h
ret
restore_cursor endp
com_debug proc near
; recieves scan code in al
cmp al, D
jne cd_10
call display_modem_status
call display_line_status
call display_modem_control
ret
cd_10:
cmp al, C
jne cd_20
call change_port
call display_port
call display_modem_status
call display_line_status
call display_modem_control
ret
cd_20:
cmp al, ONE
je cd_30
cmp al, NUM_ONE
jne cd_40
cd_30:
mov ah, cursor
mov bh, ON
call set_modem_control
call display_modem_control
ret
cd_40:
cmp al, ZERO
je cd_50
cmp al, NUM_ZERO
jne cd_60
cd_50:
mov ah, cursor
mov bh, OFF
call set_modem_control
call display_modem_control
ret
cd_60:
cmp al, LEFT
je cd_70
cmp al, RIGHT
jne cd_100
cd_70:
cmp cursor, DTR
jne cd_80
mov cursor, RTS
jmp cd_90
cd_80:
mov cursor, DTR
cd_90:
call display_modem_control
ret
cd_100:
mov ah, 0eh
mov al, 07h
int 10h
ret
com_debug endp
change_port proc near
;якщо натиснути 'C' -відбудуться зміни всіх адресних регістрів наступного ;порту
cmp port + 1, '1' ;порт 1
jne cp_10 ;
mov modem_control, 02fch ;
mov line_status, 02fdh
mov modem_status, 02feh
inc port + 1 ;
ret ; and done
cp_10:
cmp port, '1' ;
jne cp_20 ;
mov port + 1, '1' ;
mov port, '0'
mov modem_control, 03fch
mov line_status, 03fdh
mov modem_status, 03feh
ret
cp_20:
cmp port + 1, '2' ; порт2
jne cp_30 ; значення від 3 до 10
inc port + 1 ;
mov modem_control, BASE_ADDRESS + MCONT
mov line_status, BASE_ADDRESS + LSTAT
mov modem_status, BASE_ADDRESS + MSTAT
ret
cp_30:
inc port + 1 ; порт 3 -10
cmp port + 1, 3ah ;
jne cp_40 ;
mov port, '1' ;
mov port + 1, '0'
cp_40:
add modem_control, PORT_DISPLACEMENT ; increment present
add line_status, PORT_DISPLACEMENT ;значення
add modem_status, PORT_DISPLACEMENT
ret
change_port endp
display_screen proc near
mov str_ptr, offset main_frame_1
mov row, 2
mov col, 5
mov attribute, BOLD
call printat
mov cx, 19
mov row, 3
main_loop:
push cx
mov str_ptr, offset main_frame_2
mov col, 5
mov attribute, BOLD
call printat
pop cx
inc row
loop main_loop
mov str_ptr, offset main_frame_3
mov row, 21
mov col, 5
mov attribute, BOLD
call printat
mov str_ptr, offset main_frame_msg
mov row, 2
mov col, 30
mov attribute, REV_VIDEO
call printat
mov str_ptr, offset mod_stat_frame_1
mov row, 4
mov col, 9
mov attribute, BOLD
call printat
mov cx, 3
mov row, 5
mod_stat_loop:
push cx
mov str_ptr, offset mod_stat_frame_2
mov col, 9
mov attribute, BOLD
call printat
pop cx
inc row
loop mod_stat_loop
mov str_ptr, offset mod_stat_frame_3
mov row, 8
mov col, 9
mov attribute, BOLD
call printat
mov row, 4
mov col, 31
mov str_ptr, offset mod_stat_msg_1
mov attribute, REV_VIDEO
call printat
mov row, 6
mov col, 10
mov str_ptr, offset mod_stat_msg_2
mov attribute, BOLD
call printat
mov str_ptr, offset lin_stat_frame_1
mov row, 9
mov col, 10
mov attribute, BOLD
call printat
mov cx, 3
mov row, 10
lin_stat_loop:
push cx
mov str_ptr, offset lin_stat_frame_2
mov col, 10
mov attribute, BOLD
call printat
pop cx
inc row
loop lin_stat_loop
mov str_ptr, offset lin_stat_frame_3
mov row, 13
mov col, 10
mov attribute, BOLD
call printat
mov row, 9
mov col, 31
mov str_ptr, offset lin_stat_msg_1
mov attribute, REV_VIDEO
call printat
ov row, 11
mov col, 11
mov str_ptr, offset lin_stat_msg_2
mov attribute, BOLD
call printat
mov str_ptr, offset mod_ctrl_frame_1
mov row, 15
mov col, 10
mov attribute, BOLD
call printat
mov cx, 3
mov row, 16
mod_ctrl_loop:
push cx
mov str_ptr, offset mod_ctrl_frame_2
mov col, 10
mov attribute, BOLD
call printat
pop cx
inc row
loop mod_ctrl_loop
mov str_ptr, offset mod_ctrl_frame_3
mov row, 19
mov col, 10
mov attribute, BOLD
call printat
mov row, 15
mov col, 11
mov str_ptr, offset mod_ctrl_msg_1
mov attribute, REV_VIDEO
call printat
mov row, 17
mov col, 11
mov str_ptr, offset mod_ctrl_msg_2
mov attribute, BOLD
call printat
mov row, 16
mov col, 28
mov str_ptr, offset instruct_msg_1
mov attribute, BOLD
call printat
mov row, 17
mov col, 32
mov str_ptr, offset instruct_msg_2
mov attribute, BOLD
call printat
mov row, 18
mov col, 30
mov str_ptr, offset instruct_msg_3
mov attribute, BOLD
call printat
mov row, 19
mov col, 32
mov str_ptr, offset instruct_msg_4
mov attribute, BOLD
call printat
mov row, 20
mov col, 30
mov str_ptr, offset instruct_msg_5
mov attribute, BOLD
call printat
mov row, 16
mov col, 59
mov str_ptr, offset instruct_msg_6
mov attribute, BOLD
call printat
call display_port
call display_modem_status
call display_line_status
call display_modem_control
ret
display_screen endp
display_modem_status proc near
mov dx, modem_status
in al, dx
test al, D_CTS
jz dms_10
mov bit, '1'
jmp dms_20
dms_10:
mov bit, '0'
dms_20:
mov row, 7
mov col, 14
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
push ax
call printat
pop ax
test al, D_DSR
jz dms_30
mov bit, '1'
jmp dms_40
dms_30:
mov bit, '0'
dms_40:
mov row, 7
mov col, 26
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
push ax
call printat
pop ax
test al, TERI
jz dms_50
mov bit, '1'
jmp dms_60
dms_50:
mov bit, '0'
dms_60:
mov row, 7
mov col, 33
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
push ax
call printat
pop ax
test al, D_RLSD
jz dms_70
mov bit, '1'
jmp dms_80
dms_70:
mov bit, '0'
dms_80:
mov row, 7
mov col, 42
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
push ax
call printat
pop ax
test al, CTS
jz dms_90
mov bit, '1'
jmp dms_100
dms_90:
mov bit, '0'
dms_100:
mov row, 7
mov col, 51
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
push ax
call printat
pop ax
test al, DSR
jz dms_110
mov bit, '1'
jmp dms_120
dms_110:
mov bit, '0'
dms_120:
mov row, 7
mov col, 56
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
push ax
call printat
pop ax
test al, RI
jz dms_130
mov bit, '1'
jmp dms_140
dms_130:
mov bit, '0'
dms_140:
mov row, 7
mov col, 60
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
push ax
call printat
pop ax
test al, RLSD
jz dms_150
mov bit, '1'
jmp dms_160
dms_150:
mov bit, '0'
dms_160:
mov row, 7
mov col, 65
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
call printat
ret
display_modem_status endp
display_modem_control proc near
mov dx, modem_control
in al, dx
test al, DTR
jz dmc_10
mov bit, '1'
jmp dmc_20
dmc_10:
mov bit, '0'
dmc_20:
cmp cursor, DTR
jne dmc_30
mov attribute, REV_VIDEO
jmp dmc_40
dmc_30:
mov attribute, NORM_VIDEO
dmc_40:
mov row, 18
mov col, 12
mov str_ptr, offset bit
push ax
call printat
pop ax
test al, RTS
jz dmc_50
mov bit, '1'
jmp dmc_60
dmc_50:
mov bit, '0'
dmc_60:
cmp cursor, RTS
jne dmc_70
mov attribute, REV_VIDEO
jmp dmc_80
dmc_70:
mov attribute, NORM_VIDEO
dmc_80:
mov row, 18
mov col, 17
mov str_ptr, offset bit
call printat
ret
display_modem_control endp
set_modem_control proc near
; recieves mask in ah, change flag in bh
mov dx, modem_control
in al, dx
cmp bh, ON
jne smc_10
or al, ah
jmp smc_20
smc_10:
not ah
and al, ah
smc_20:
out dx, al
ret
set_modem_control endp
display_line_status proc near
mov dx, line_status
in al, dx
test al, DATA_READY
jz dls_10
mov bit, '1'
jmp dls_20
dls_10:
mov bit, '0'
dls_20:
mov row, 12
mov col, 15
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
push ax
call printat
pop ax
test al, OVERRUN
jz dls_30
mov bit, '1'
jmp dls_40
dls_30:
mov bit, '0'
dls_40:
mov row, 12
mov col, 26
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
push ax
call printat
pop ax
test al, PARITY
jz dls_50
mov bit, '1'
jmp dls_60
dls_50:
mov bit, '0'
dls_60:
mov row, 12
mov col, 34
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
push ax
call printat
pop ax
test al, FRAMING
jz dls_70
mov bit, '1'
jmp dls_80
dls_70:
mov bit, '0'
dls_80:
mov row, 12
mov col, 43
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
push ax
call printat
pop ax
test al, BREAK
jz dls_90
mov bit, '1'
jmp dls_100
dls_90:
mov bit, '0'
dls_100:
mov row, 12
mov col, 51
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
push ax
call printat
pop ax
test al, THRE
jz dls_110
mov bit, '1'
jmp dls_120
dls_110:
mov bit, '0'
dls_120:
mov row, 12
mov col, 57
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
push ax
call printat
pop ax
test al, TSRE
jz dls_130
mov bit, '1'
jmp dls_140
dls_130:
mov bit, '0'
dls_140:
mov row, 12
mov col, 63
mov attribute, NORM_VIDEO
mov str_ptr, offset bit
call printat
ret
display_line_status endp
display_port proc near
mov row, 16
mov col, 70
mov str_ptr, offset port
mov attribute, BOLD
call printat
ret
display_port endp
save_screen proc near
;----------------------------------------------------------------------------
;Ця процедура зберігає попереднє значення буфера відеосигналів у вигляді ;констант
;----------------------------------------------------------------------------
mov dx, crt_control_port
cld
push ds
push ds
pop es
mov di, offset screen_storage
mov ax, video_ram
mov ds, ax
;cmp ax, 0b800h
;jne save_10
push es
mov ax, 40h
mov es, ax
mov al, es:[65h]
mov bh, al
and al, 0f7h
out dx, al
pop es
save_10:
mov si, 0
mov cx, 2000
rep movsw
pop ds
;cmp video_ram, 0b800h
;jne save_20
mov al, bh
push ax
push dx
call display_screen
pop dx
pop ax
out dx, al
save_20:
ret
save_screen endp
restore_screen proc near
;----------------------------------------------------------------------------
;процедура відновлює особливий зміст відео
;----------------------------------------------------------------------------
cld
push ds
pop es
mov si, offset screen_storage
mov ax, video_ram
mov es, ax
cmp ax, 0b800h
jne res_10
push es
mov dx, crt_control_port
mov ax, 40h
mov es, ax
mov al, es:[65h]
mov bh, al
and al, 0f7h
out dx, al
pop es
res_10:
mov di, 0
mov cx, 2000
rep movsw
cmp video_ram, 0b800h
jne res_20
mov al, bh
out dx, al
res_20:
ret
restore_screen endp
printat proc near
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
xor ax, ax
mov al, row ;однорідні обчислення
mov cl, 80 ; переривання початкової позиції
mul cl ; стартова відео ram
xor bh, bh
mov bl, col
add ax, bx
shl ax, 1 ; переривання = ((row x 80) + col) * 2
mov di, ax ; di індекс відео ram
mov bx, video_ram ; ініціалізація відео
mov es, bx
mov ah, attribute ; ah = attribute
mov bx, str_ptr ; bx = pointer to string
mov si, 00 ; si настунний індекс строки
mov dx, crt_status_port
printat_10:
cmp byte ptr ds:[bx + si], 0 ; нульовий байт
je printat_20 ;
mov cl, byte ptr ds:[bx + si] ; байт заперечення
wait_1:
in al, dx
test al, 1
jnz wait_1
cli
wait_2:
in al, dx
test al, 1
jz wait_2
mov es:[di], cl
sti
inc di ; wait_3:
in al, dx
test al, 1
jnz wait_3
cli
wait_4:
in al, dx
test al, 1
jz wait_4
mov es:[di], ah ; введені атрибути
byte
sti
inc di ; inc si ; ++string
jmp printat_10
printat_20:
ret
printat endp
loader proc near
call get_video_mode
mov ah, 35h
mov al, 09h
int 21h
mov old_int9_off, bx
mov old_int9_seg, es
mov ah, 25h
mov al, 09h
mov dx, offset new_int9
int 21h
mov dx, offset sign_on_msg
mov ah, 09h
int 21h
mov dx, offset loader
int 27h
ret
loader endp
get_video_mode proc near
mov ax, 40h
mov es, ax
mov ax, es:[63h]
add ax, 4
mov crt_control_port, ax
add ax, 2
mov crt_status_port, ax
mov video_ram, 0b000h
mov ah, 15 ; check if graphics display
int 10h
test al, 4
jnz got_mode
mov video_ram, 0b800h ; регульований відео ram адрес
mov graphics, true
got_mode:
ret
get_video_mode endp
sign_on_msg db 0dh, 0ah
db "COMDEBUG now resident - Alt + Scroll Lock to activate"
db 0dh, 0ah, '$'
code ends
end first
Додаток В
Блок схема алгоритму :
Размещено на Allbest.ru
...Подобные документы
Розрахунок часових затримок для формування імпульсів у програмі передачі даних через послідовний порт мікроконтролера, а також розрахунок швидкості передачі даних через послідовний порт. Алгоритм підпрограми обробки переривань від послідовного порту.
курсовая работа [29,9 K], добавлен 07.06.2010Формати прийому та передачі даних через послідовний порт, його технічні характеристики, будова і принцип роботи. Характеристика протоколів послідовної передачі. Способи керування портами у WINDOWS95 та WINDOWS XP. Опис алгоритму і функціонування програми.
дипломная работа [752,6 K], добавлен 09.06.2010Локальні мережні ресурси. Класифікація супутників зв'язку за висотою орбіти. Максимальна швидкість роботи, яка забезпечується технологією Інтернет. Загальний доступ до принтера користувачам ЛОМ. Обмін інформацією між користувачами комп'ютерної мережі.
контрольная работа [29,2 K], добавлен 19.07.2011Обґрунтування варіанту побудови однорангової мережі з використанням витої пари для випадку об'єднання робочих місць. Спільне використання принтера та файлів, що містяться на одному з комп'ютерів. Схема, основні етапи побудови та налагодження мережі.
лабораторная работа [128,9 K], добавлен 30.03.2010Поняття Інтернету, його структура та головні елементи, принципи існування та діяльності часток. Імена комп'ютерів та служба. Кеш і мережа, взаємозв'язок. Proxies, або доступ до світу через посередника. Безпечна передача даних, її принцип та інструменти.
реферат [18,9 K], добавлен 03.06.2011Поняття комп'ютерної мережі як спільного підключення окремих комп’ютерів до єдиного каналу передачі даних. Сутність мережі однорангової та з виділеним сервером. Топології локальних мереж. Схема взаємодії комп'ютерів. Проблеми передачі даних у мережі.
курсовая работа [605,0 K], добавлен 06.05.2015Огляд та конфігурація комп’ютерних мереж - двох або більше комп’ютерів, об’єднаних кабелем таким чином, щоб вони могли обмінюватись інформацією. Характеристика мереживих пристроїв иа середовища передачі даних. Під’єднання до мережі NetWare та Internet.
дипломная работа [1,5 M], добавлен 15.02.2010Опис інтерфейсу паралельного порту Centronics, який має 25-контактний 2-рядний роз'єм DB-25-female. Швидкість передачі даних, фірмові розширення. Розгляд BIOS для LPT-порту. Опис програмного середовища. Приклад виконання програми, блок-схема алгоритму.
курсовая работа [1,2 M], добавлен 23.04.2014Основні функції модему та способи модуляції, перетворення параметрів носійного синусоїдного коливання. Максимальна інформаційна швидкість каналу. Основні види модуляції, модулятори і демодулятори, сигнально-кодові конструкції, амплітудна предкорекція.
реферат [311,0 K], добавлен 11.01.2011Проект локальної мережі на 48 комп’ютерів, з’єднаних між собою 5 комутаторами з двома серверами. Основні принципи побудови мереж за технологією 100BaseTx; розробка топології розташування елементів; розрахунок швидкості передачі даних в локальній мережі.
курсовая работа [509,3 K], добавлен 24.04.2013Файлові системи CD-ROM, основні типи зберігання даних в комп'ютері: магнітний і оптичний. Основні характеристики накопичувачів CD-ROM. Типи звукових файлів, процес стиснення аудіоданих. Розміри портативних систем та проблеми сумісності комплектуючих.
контрольная работа [19,5 K], добавлен 28.10.2009Поняття комп'ютерної мережі як системи зв'язку між двома чи більше комп'ютерами через кабельне чи повітряне середовище. Середовище передачі у комп'ютерних мережах. Передумови інтенсивного розвитку мережних технологій. Мережні сервіси, класифікація мереж.
реферат [20,8 K], добавлен 13.11.2013Поняття локальної комп'ютерної мережі як об'єднання певного числа комп'ютерів на відносно невеликій території. Вибір мережевої технології та топології мережі. Вибір активного та пасивного мережевого обладнання. Монтаж кабельної системи, вибір підключення.
курсовая работа [3,3 M], добавлен 09.06.2014З’єднання компонентів мережі офісу на фізичному та канальному рівні, створення топології мережі, налаштування адресації та маршрутизації. Моделювання потоків трафіку і обміну пакетами між роутерами мережі, розрахунок подвоєної затримки поширення сигналу.
курсовая работа [402,1 K], добавлен 23.12.2015Основні принципи об’єктно-орієнтованого програмування. Типові середовища програмування та особливості мови С++. Етапи проектування БД. Розробка програмного забезпечення для реалізації створення бази відеофільмів. Основні положення та моделі БД.
курсовая работа [2,7 M], добавлен 24.03.2011Розгляд особливостей мови програмування С++: основні можливості, характеристика функцій. Аналіз файлів з вхідними даними. Використання похідних класів як ефективний засіб об’єктно-орієнтованого програмування. Способи роздруківки графічного вирішення.
курсовая работа [510,9 K], добавлен 14.03.2013Характеристика та призначення Прикладного рівня як джерела і приймача для переданих через мережу повідомлень. Устаткування, принцип роботи локальних та глобальних комп’ютерних мереж. Умови ефективної взаємодії комп'ютерів в мережному середовищі.
контрольная работа [26,7 K], добавлен 20.09.2009- Програма контролю наявності зв’язку комп’ютера з пристроєм через паралельний порт протягом 15 секунд
Програма, яка приймає дані з зовнішнього пристрою через паралельний порт і використовується на комп’ютері з паралельним адаптером, операційною системою MS-DOS. Огляд існуючих пристроїв, систем, програмного забезпечення. Реалізація проекту, текст програми.
курсовая работа [18,0 K], добавлен 08.08.2009 Міжрівневі взаємодії, що відбуваються при передачі даних по мережі. Процес відправлення повідомлень з одного місця в інше, мережні процеси, протоколи. Характеристика та призначення протоколу ARP. Визначення фізичної адреси локального, віддаленого вузлів.
контрольная работа [12,4 K], добавлен 22.09.2009Розробка програми на мові програмування Assembler, що виводить на екран чоловічка, який через певний час відтворює рухи. Використання кольорового графічного адаптера в текстовому режимі. Основні параметри, цикл заміни кадрів у анімації та їх створення.
контрольная работа [124,1 K], добавлен 24.03.2012