Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра САПР

Інформація про роботу

Рік:
2007
Тип роботи:
Розрахунково - графічна робота
Предмет:
Інші
Група:
КН-24
Варіант:
15

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра САПР Розрахунково-графічна робота Виконав: студент групи КН-24 Прийняв: Мазур В. В. Львів – 2007 Варіант № 15 Теоретичне завдання №1 Опис та застосування процедур Сегмент коду містить виконувані команди програми. Крім того цей сегмент також включає одну або декілька процедур, визначених директивою PROC. Сегмент, що містить тільки одну процедуру має наступний вигляд: імя-сегмента SEGMENT PARA імя-процедури PROC FAR Сегмент . коду . з . одній RET процедурою імя-процедури ENDP імя-сегмента ENDS Ім'я процедури повинне бути обов'язково присутнім, бути унікальним і задовольняти угодам по іменах в асемблері. Директива ENDP визначає кінець процедури і має ім'я, аналогічне імені в директиві PROC. Команда RET завершує виконання програми і в даному випадку повертає управління в DOS. Операнд FAR інформує систему про те, що дана адреса є точкою входу для виконання, а директива ENDP визначає кінець процедури. Кодовий сегмент, проте, може містити будь-яку кількість процедур які розділяються директивами PROC і ENDP. CODESG SEGMENT PARA BEGIN PROC FAR . . CALL B10 CALL C10 RET BEGIN ENDP B10 PROC NEAR . . RET B10 ENDP C10 PROC NEAR . . RET C10 ENDP CODESG ENDS END BEGIN - Директиви PROC по мітках B10 і C10 мають операнд NEAR для вказівки того, що ці процедури знаходяться в поточному кодовому сегменті. У багатьох подальших прикладах цей операнд опущений, оскільки за умовчанням асемблер приймає тип NEAR. - Кожна процедура має унікальне ім'я і містить власну директиву ENDP для вказівки кінця процедури. - Для передачі управління в процедурі BEGIN є дві команди: CALL 10 і CALL C10. В результаті першої команди CALL управління передається процедурі B10 і починається її виконання. Досягнувши команди RET, управління повертається на команду безпосередньо наступну за CALL B10. Друга команда CALL діє аналогічно - передає управління в процедуру C10, виконує її команди і повертає управління по команді RET. - Команда RET завжди виконує повернення в програму. Програма BEGIN викликає процедури B10 і C10, які повертають управління назад в BEGIN. Для виконання самої програми BEGIN операційна система DOS викликає її і в кінці виконання команда RET повертає управління в DOS. Якщо процедура B10 не містить завершуючої команди RET, те виконання команд продовжиться з B10 безпосередньо у процедурі C10. Якщо процедура C10 не містить команди RET, то виконуватимуться команди, що опинилися за процедурою C10 з непередбачуваним результатом. Використання процедур дає хорошу можливість організувати логічну структуру програми. Крім того, операнди для команди CALL можуть мати значення, що виходять за межу від -128 до +127 байт. Технічно управління в процедуру типу NEAR може бути передане за допомогою команд переходу або навіть звичайним відрядковим кодуванням. Але в більшості випадків рекомендується використовувати команду CALL для передачі управління в процедуру і команду RET для повернення. Теоретичне завдання №2 Файлова система ОС (MS DOS, Windows, Unix) Файлова система MS-DOS Файл (по-англійськи file – тека, швидкозшивач) – це пойменована область пам'яті на якому-небудь фізичному носієві, призначена для зберігання інформації. Сукупність засобів MS-DOS, що забезпечують доступ до інформації на зовнішніх носіях, називається системою управління файлами, або файловою системою. Одне з понять файлової системи MS-DOS – логічний диск. У деякому наближенні можна вважати, що з погляду MS-DOS кожен логічний диск – це окремий магнітний диск. Кожен логічний диск має своє унікальне ім'я. Як ім'я логічного диска використовуються букви англійського алфавіту від A до Z (включно). Таким чином, кількість логічних дисків, може бути не більше 26. Букви A і B – відведені строго під наявних в IBM РС дисководи. Починаючи з букви C іменуються логічні диски (розділи) жорсткого диска (мал. 1.3). У випадку, якщо даний IBM РС має тільки один FDD, буква B пропускається (див. мал. 1.4). Як правило, тільки логічні диски A і C можуть бути системними.  Мал. 1.3. Розділення на логічні диски в системі з двома дисководами. Мал. 1.4. Розділення на логічні диски в системі з одним дисководом. Unix Поняття файлу є одним з найбільш важливих для ОС UNIX. Всі файли, з якими можуть маніпулювати користувачі, розташовуються у файловій системі, що є деревом, проміжні вершини якого відповідають каталогам, і листям, - файлам і порожнім каталогам. Зразкова структура файлової системи ОС UNIX показана на малюнку 2.1. Реально на кожному логічному диску (розділі фізичного дискового пакету) розташовується окрема ієрархія каталогів і файлів. Для отримання загального дерева в динаміці використовується "монтування" окремих ієрархій до фіксованої кореневої файлової системи. Зауваження: в світі ОС UNIX по історичних причинах термін "файлова система" є переобтяженою, позначаючи одночасно ієрархію каталогів і файлів і частину ядра, яка управляє каталогами і файлами. Мабуть, було б правильніше називати ієрархію каталогів і файлів архівом файлів, а термін "файлова система" використовувати тільки в другому сенсі. Проте, слідуючи традиції ОС UNIX, ми використовуватимемо цей термін в двох сенсах, розрізняючи значення по контексту. Кожен каталог і файл файлової системи має унікальне повне ім'я (у ОС UNIX це ім'я прийнято називати full pathname - ім'я, задаюче повний шлях, оскільки воно дійсно задає повний шлях від кореня файлової системи через ланцюжок каталогів до відповідного каталога або файлу; ми використовуватимемо термін "повне ім'я", оскільки для pathname відсутній благозвучний російський аналог). Каталог, що є коренем файлової системи (кореневий каталог), в будь-якій файловій системі має зумовлене ім'я "/" (слеш). Повне ім'я файлу, наприклад, /bin/sh означає, що в кореневому каталозі повинне міститися ім'я каталога bin, а в каталозі bin повинне міститися ім'я файлу sh. Коротким або відносним ім'ям файлу (relative pathname) називається ім'я (можливо, складене), задаюче шлях до файлу від поточного робочого каталога (існує команда і відповідний системний виклик, що дозволяють встановити поточний робочий каталог). У кожному каталозі містяться два спеціальні імена, ім'я ".", що іменує сам цей каталог, і ім'я "..", що іменує "батьківський" каталог даного каталога, тобто каталог, безпосередньо передуючий даному в ієрархії каталогів. UNIX підтримує численні утиліти, що дозволяють працювати з файловою системою і доступні як команди командного інтерпретатора. Ось деякі з них (найбільш споживані): cp имя1 имя2 - копіювання файлу имя1 у файл имя2 rm імя1 - знищення файлу имя1 mv імя1 імя2 - перейменування файлу имя1 у файл имя2 mkdir ім'я - створення нового каталога ім'я rmdir ім'я - знищення каталога ім'я ls ім'я - видача вмісту каталога ім'я cat ім'я - видача на екран вмісту файлу ім'я chown ім'я режим - зміна режиму доступу до файлу Структура файлової системи Файлова система зазвичай розміщується на дисках або інших пристроях зовнішньої пам'яті, що мають блокову структуру. Окрім блоків, що зберігають каталоги і файли, в зовнішній пам'яті підтримується ще декілька службових областей. В світі UNIX існує декілька різних видів файлових систем з своєю структурою зовнішньої пам'яті. Найбільш відомі традиційна файлова система UNIX System V (s5) і файлова система сімейства UNIX BSD (ufs). Файлова система s5 складається з чотирьох секцій (малюнок 2.2,a). У файловій системі ufs на логічному диску (розділі реального диска) знаходиться послідовність секцій файлової системи . Стисло опишемо суть і призначення кожної області диска. Boot-блок містить програму розкручування, яке служить для первинного запуску ОС UNIX. У файлових системах s5 реально використовується boot-блок тільки кореневої файлової системи. У додаткових файлових системах ця область присутня, але не використовується. Суперблок - це найбільш відповідальна область файлової системи, що містить інформацію, яка необхідна для роботи з файловою системою в цілому. Суперблок містить список вільних блоків і вільні i-вузли (information nodes - інформаційні вузли). У файлових системах ufs для підвищення стійкості підтримується декілька копій суперблоку. Кожна копія суперблоку має розмір 8196 байт, і лише одна копія суперблоку використовується при монтуванні файлової системи. Проте, якщо при монтуванні встановлюється, що первинна копія суперблоку пошкоджена або не задовольняє критеріям цілісності інформації, використовується резервна копія. Блок групициліндрів містить число i-вузлів, специфікованих в списку i-вузлів для даної групи циліндрів, і число блоків даних, які пов'язані з цими i-вузлами. Розмір блоку групи циліндрів залежить від розміру файлової системи. Для підвищення ефективності файлова система ufs прагне розміщувати i-вузли і блоки даних в одній і тій же групі циліндрів. Список i-вузлів (ilist) містить список i-вузлів, відповідних файлам даної файлової системи. Максимальне число файлів, які можуть бути створені у файловій системі, визначається числом доступних i-вузлів. У i-вузлі зберігається інформація, що описує файл: режими доступу до файлу, час створення і останньої модифікації, ідентифікатор користувача і ідентифікатор групи творця файлу, опис блокової структури файлу і т.д. Блоки даних - в цій частині файлової системи зберігаються реальні дані файлів. У разі файлової системи ufs всі блоки даних одного файлу намагаються розмістити в одній групі циліндрів. Розмір блоку даних визначається приформатуванні файлової системи командою mkfs і може бути встановлений в 512, 1024, 2048, 4096 або 8192 байтів. Вмонтовувані файлові системи Файли будь-якої файлової системи стають доступними тільки після "монтування" цієї файлової системи. Файли "не змонтованої" файлової системи не є видимими операційною системою. Для монтування файлової системи використовується системний виклик mount. Монтування файлової системи означає наступне. У дереві каталогів і файлів, що є до моменту монтування, повинні бути листовий вузол - порожній каталог (у термінології UNIX такий каталог, використовуваний для монтування файлової системи, називається directory mount point - точка монтування). У будь-якій файловій системі є кореневий каталог. Під час виконання системного виклику mount кореневий каталог вмонтовуваної файлової системи поєднується з каталогом - точкою монтування, внаслідок чого утворюється нова ієрархія з повними іменами каталогів і файлів. Змонтована файлова система згодом може бути від'єднана від загальної ієрархії з використанням системного виклику umount. Для успішного виконання цього системного виклику потрібний, щоб від'єднувана файлова система до цього моменту не знаходилася у використанні (т.е. жоден файл з цієї файлової системи не був відкритий). Коренева файлова система завжди є змонтованою, і до неї не застосуємо системний виклик umount. Як ми відзначали вище, окрема файлова система зазвичай розташовується на логічному диску, тобто на розділі фізичного диска. Для ініціалізації файлової системи не підтримуються які-небудь спеціальні системні виклики. Нова файлова система утворюється на диску, що відформатував, з використанням утиліти (команди) mkfs. Знов створена файлова система ініціалізувалася в стан, відповідний наявності всього лише одного порожнього кореневого каталога. Команда mkfs виконує ініціалізацію шляхом прямого запису відповідних даних на диск. Інтерфейс з файловою системою Ядро ОС UNIX підтримує для роботи з файлами декілька системних викликів. Серед них найбільш важливими є open, creat, read, write, lseek і close. Важливо відзначити, що хоча усередині підсистеми управління файлами звичайний файл представляється у вигляді набору блоків зовнішньої пам'яті, для користувачів забезпечується представлення файлу у вигляді лінійної послідовності байтів. Таке уявлення дозволяє використовувати абстракцію файлу при роботі в зовнішніми пристроями, при організації межпроцессних взаємодій і т.д. Файл в системних викликах, що забезпечують реальний доступ до даним, ідентифікується своїм дескриптором (цілим значенням). Дескриптор файлу видається системними викликами open (відкрити файл) і creat (створити файл). Основним параметром операцій відкриття і створення файлу є повне або відносне ім'я файлу. Крім того, при відкритті файлу указується також режим відкриття (тільки читання, тільки запис, запис і читання і т.д.) і характеристика, що визначає можливості доступу до файлу: open(pathname, oflag [,mode]) Однією з ознак, які можуть брати участь в параметрі oflag, є ознака O_CREAT, наявність якої указує на необхідність створення файлу, якщо при виконанні системного виклику open файл з вказаним ім'ям не існує (параметр mode має сенс тільки за наявності цієї ознаки). Проте по історичних причинах і для забезпечення сумісності з попередніми версіями ОС UNIX окремо підтримується системний виклик creat, що виконує практично ті ж функції. Відкритий файл може використовуватися для читання і запису послідовностей байтів. Для цього підтримуються два системні виклики: read(fd, buffer, count) і write(fd, buffer, count) Тут fd - дескриптор файлу (отриманий при раніше виконаному системному виклику open або creat), buffer - покажчик символьного масиву і count - число байтів, які повинні бути прочитані з файлу або в нього записані. Значення функції read або write - ціле число, яке співпадає із значенням count, якщо операція закінчується успішно, рівно нулю досягши кінця файлу і негативно при виникненні помилок. У кожному відкритому файлі існує поточна позиція. Відразу після відкриття файл позиціонується на перший байт. Іншими словами, якщо відразу після відкриття файлу виконується системний виклик read (або write), то будуть прочитані (або записані) перші count байтів вмісту файлу (звичайно, вони будуть успішно прочитані тільки в тому випадку, якщо файл реально містить принаймні count байтів). Після виконання системного виклику read (або write) покажчик читання/запису файлу буде встановлений в позицію count+1 і т.д. Такий, чисто послідовний стиль роботи, виявляється у багатьох випадках достатнім, але часто буває необхідно читати або змінювати файл з довільної позиції (наприклад, як без такої можливості зберігати у файлі прямо індексовані масиви даних?). Для явного позиціонування файлу служить системний виклик lseek(fd, offset, origin) Як і раніше, тут fd - дескриптор раніше відкритого файлу. Параметр offset задає значення відносного зсуву покажчика читання/запису, а параметр origin указує, щодо якої позиції повинен застосовуватися зсув. Можливі три значення параметра origin. Значення 0 указує, що значення offset повинне розглядатися як зсув відносний початки файлу. Значення 1 означає, що значення offset є зсувом щодо поточної позиції файлу. Нарешті, значення 2 говорить про те, що задається зсув щодо кінця файлу. Відмітимо, що типом даних параметра offset є long int. Це означає, що, по-перше, можуть задаватися достатньо довгі зсуви і, по-друге, зсуви можуть бути позитивними і негативними. Наприклад, після виконання системного виклику lseek(fd, 0, 0) покажчик читання/запису відповідного файлу буде встановлений на початок (на перший байт) файлу. Системний виклик lseek(fd, 0, 2) встановить покажчик на кінець файлу. Нарешті, виконання системного виклику lseek(fd, 10, 1) приведе до збільшення поточного значення покажчика на 10. Природно, системний виклик успішно завершується тільки у тому випадку, коли наново сформоване значення покажчика не виходить за межі існуючих розмірів файлу. Файлова система Windows XP При установці Windows XP вам буде запропоновано відформатувати існуючий розділ, на який встановлюється ОС, у файлову систему NTFS. Так що ж це таке? Файлова система NTFS забезпечує таке поєднання продуктивності, надійності і ефективності, яке неможливо отримати за допомогою FAT. Основними цілями розробки NTFS були забезпечення швидкісного виконання стандартних операцій над файлами, таких як читання, запис, пошук, і надання додаткових можливостей, включаявосстановленіє пошкодженої файлової системи на надзвичайно великих дисках. Файлова система NTFS є "своєю" файловою системою для Windows NT, а як відоме WINXP, є своєрідним продовженням цієї лінійки ОС. Але якщо ви збираєтеся використовувати на одному комп'ютері декілька операційних систем таких, як Windows 9x і Windows XP, то завантажувальний том не можна форматувати в NTFS, оскільки лінійки Windows 95(98) "розуміють" тільки FAT, і дисків, отформатірованних в NTFS для цих ОС просто не існує. Файли знаходяться на дисках NTFS можна побачити тільки використовуючи програми сторонніх виробників. Якщо ж під час установки ви не відформатували розділ в NTFS, то це можна зробити і після неї.У командному рядку WINDOWSXP необхідно набрати "Convert (ім'я диска) /FS:NTFS" без лапок. Нижче приводиться порівняльна таблиця фалових систем FAT і NTFS Обмеження NTFS FAT і FAT 32 Розміри тому Мінімальний розмір тому складає приблизно 10 Мб. FAT підтримує різні розміри томів - від об'єму дискет і до 4 Гб. На практиці рекомендується створювати томи, розміри яких не перевищують 2 Тб. FAT 32 підтримує томи об'ємом від 2 гб. до 2 Тб. Працюючи під управлінням Windows XP для Fat 32 можна відформатувати томи, розмір яких не перевищує 32 Гб. За допомогою NTFS не можна форматувати дискети. Не підтримуються диски розміри яких менше 512 Мб. Розміри файлів Теорітічеськи розмір файлу може складати 16 екзабайт. FAT підутримує файли розміром не більше 2 Гб. FAT 32 подержіваєт файли розміром не більше 4 Гб. NTFS володіє характеристиками захищеності, підтримуючи контроль доступу до даним і привілеї власника, що грають виключно важливу роль в забезпеченні цілісності важливих даних. Теки і файли NTFS можуть мати призначені їм права доступу незалежно від того, чи являютя вони що розділяються чи ні. NTFS - єдина файлова система в Windows, яка дозволяє призначати права доступу до різних файлів. Встановлюючи користувачам певні дозволи для файлів і каталогів, користувач може захищати конфіденційну інформацію від несанкціонованого доступу. Дозволи користувача на доступ до об'єктів файлової системи працюють за принципом доповнення. Це означає, що дозволи, що діють, тобто ті дозволи, які користувач реально має відносно конкретного каталога або файлу, утворюються зі всіх прямих або непрямих дозволів, призначених ползователю для даного об'екта за допомогою логічної функції "Або". Наприклад, якщо користувач має правоназначенноє дозвіл для каталога на читання, а побічно через членство в групах йому дано право на запис, то в результаті користувач зможе читати інформацію у файлах каталога і записувати в них дані. Для призначення користувачеві або групі дозволу на доступ до определенномук файлу необхідно: 1. Вказати файл мишею і натиснути праву кнопку. Вибрати пункт Properties (Властивості) контексного меню. У вікні властивостей файлу перейти на вкладку Security, що з'явилося (Безпека). За умовчанням даної вкладки там немає, щоб вона з'явилася необхідно у властивостях теки прибрати галочку Simple File Sharing (використовувати простій загальний доступ до файлів). 2. У групі Name (Ім'я) показаний список користувачів і груп, яким вже надані дозволи для цього файлу. Для того, щоб додати або видалити користувачів або нові групи, натиснути кнопку Add/Remove (Добавить/Удалить) З'явиться вікно діалогу Select Users, Groups (Вибрати користувачів, групи).В поле Enter the object names to select (Ввеліте імена вибираних об'єктів) написати ім'я користувача, кнопка Check Names (Перевірити імена) дозволяє перевірити правильність написання імені. 3. У групі Permissions (Дозволи) встановлюються дозволи. Присутні покажчики Deny (заборонити) і Allow (Вирішити). Встановлюються прапорці для наступних параметрів: Full Control (повний контроль) - користувач дістає неограніченниєй доступ до файлу, Modify (Зміна) - користувач може змінювати файл, Read & execute (Читання і виконання), Read (Читання) - користувач може тільки читати файл, Write (Запис) - користувач може записувати у файл. Для тоншої настройки дозволів необхідно натиснути кнопку Advanced. З'являється діалогове вікно Advanced Security Settings for (Додаткові параметри безпеки). Тут можна додатково вказати додаткові дозволи, набудувати політику аудиту, змінити (переглянути) інформацію про владельцце файлу і додати / видалити користувачів, що можуть дістати доступ до файлу. Наступне, дуже корисна властивість файлової системи NTFS - це можливість введення квот. Це властивість, як правило необхідно системним адміністраторам, великих компаній, де працює велика кількість користувачів, у яких немає звички стежити за актуальністю інформації, і які зберігають непотрібні файли, тим самим займаючи дисковий простір. Оскільки адміністратор не може простежити за всім цим, він може ввести квоту на використання диска певному користувачеві. Після установки квот користувач може зберігати на томі обмежений об'єм даних, тоді як на цьому диску може залишатися вільний простір. Якщо користувач перевищить видану йому квоту, до журналу подій буде внесений відповідний запис. Щоб включити квоти на диску потрібно перш за все, щоб він був у форматі NTFS, потім у властивостях теки Tools-Folder Options-View прибрати прапорець Simple File Sharing. Це потрібно для тогощоб у властивостях диска з'явилася вкладка Quota. Вней необхідно встановити прапорець на Enable quota managment (Активізувати управління квотами). Це буде встановлене м'яке квотування, яке видасть попередження, що користувач, якщо так трапиться, перевищив квоту, але право на запис у нього буде. Щоб у разі перевищення квоти користувачеві було відмовлено в доступі до цього тому необхідно встановити прапорець на Deny disk space to users exceeding quota limit (Заборонити запис на диск користувачам, що перевищили розмір дискового простору). На цій же вкладці можна встановити розмір квоти (Limit disk space to), що виділяється, і поріг, перевищення якого викликає запис попередження в журналі подій (Set Warning level to) - Встановити поріг видачі повідомлення. Ці параметри встановлюються за умовчанням для всіх користувачів. У вікні ж Quota Entries можна змінити параметри квоти, що задається для конкретного користувача. Для цього слід виділити обліковий запис, що конфігурується, з помощью контексного меню вибрати властивості і конфігурувати квоту. І ще одне новвоведеніє NTFS 5 - точки монтування. Користувач може визначити різні, не пов'язані з собою теки і навіть диски в системі як один диск або тека. Це має велику важливість для визначення в одному місці різнорідної інформації, що знаходиться в системі. Файли і теки таким чином створені мають унікальний ідентифікаційний номер, що гарантує їх правильне знаходження в системі, навіть якщо тека або файл був перенесений. Задача №1 Написати і оформити згідно вимог програму на Асемблері для рисування вказаним кольором прямокутника заданого розміру у певній точці екрану (задані координати лівої верхньої вершини) з використанням циклів. Ширина 10 Висота 55 Колір 4 X 10 Y 45 Текст програми title Prog_1 sseg segment stack db 100h dup(0) sseg ends dseg segment 'data' er db 'Error !!!!!!!!!!$' s2 db 'sd$' dseg ends code segment 'code' assume ss:sseg,ds:dseg,cs:code jmp main main proc far mov ax,dseg mov ds,ax mov ah,0Fh int 10h push ax call vgaint call rac mov ah,10h int 16h pop ax mov ah,00h int 10h ex: mov ax,4c00h int 21h error: mov ah,09h mov dx,offset er int 21h jmp ex main endp vgaint proc near mov ah,00h mov al,12h int 10h mov ah,0bh mov bx,00001h int 10h ret vgaint endp rac proc near mov cx,55 c1: mov ah,0ch mov bh,0 mov dx,45 mov al,4h int 10h mov dx,140 int 10h inc cx cmp cx,10 jne c1 mov dx,45 c2: mov ah,0ch mov bh,0 mov cx,55 mov al,4h int 10h mov cx,10 int 10h inc dx cmp dx,140 jne c2 ret rac endp code ends end Задача №2 Написати простий редактор тексту у буфері sseg segment stack db 100h dup (0) sseg ends dseg segment 'data' beat db 20,9,8,7,6,5,4,3,2 frequency dw 2280,2031,1809,1709 dw 1521,1353,1207,1139 melody db 1,2,3,4,5,6,7,8,0FFH dseg ends code segment 'code' assume ss:sseg,ds:dseg,cs:code jmp main main proc far push ax mov ax,dseg mov ds,ax port_b equ 61h command_reg equ 43h latch2 equ 42h in al,port_b or al,00000011b out port_b,al mov si,0 mov al,0B6h out command_reg,al next_note: lea bx,melody mov al,[bx][si] cmp al,0FFh je no_more mov bx,offset frequency dec ax shl ax,1 mov di,ax mov dx,[bx][di] mov al,dl out latch2,al mov al,dh out latch2,al mov ah,0 int 1Ah mov bx,offset beat mov cl,[bx][si] mov ch,0 mov bx,dx add bx,cx still_sound: int 1Ah cmp dx,bx jne still_sound inc si jmp next_note no_more: in al,port_b and al,0FCH out 61h,al mov ax,4c00h int 21h main endp code ends end
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!