Презентация Написання програм онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Написання програм абсолютно бесплатно. Урок-презентация на эту тему содержит всего 31 слайд. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Написання програм
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:31 слайд
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:132.00 kB
- Просмотров:48
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№2 слайд
Содержание слайда: Підготовка програми до виконання
Крок асемблювання включає трансляцію початкового коду в машинний об'єктний код і генерацію OBJ-модуля. Крок компановки включає перетворення OBJ-модуля в EXE (СОМ) модуль, що містить машинний код. Програма LINK, що знаходиться на диску DOS, виконує наступне:
1. Завершує формування в OBJ-модулі адрес, які залишилися невизначеними після асемблювання.
2. Компонує, якщо необхідно, більш одного окремо асемблюючого модуля в одну завантажувальну програму;
3. Ініціалізує EXE(СОМ)-модуль командами завантаження для виконання.
№3 слайд
Содержание слайда: Трансляція програми до виконання
В процесі трансляції початкової програми асемблер робить два перегляди (проходи) початкового тексту. Однією з основних причин цього є посилання вперед, що відбувається у тому випадку, коли в деякій команді кодується мітка, значення якої ще не визначене асемблером.
У першому проході асемблер проглядає всю початкову програму і будує таблицю ідентифікаторів, використовуваних в програмі, тобто імен полів даних і міток програми і їх відносних адрес в програмі. У першому проході обраховується об'єм об'єктного коду, але сам об'єктний код не генерується.
№4 слайд
Содержание слайда: Трансляція програми до виконання
У другому проході асемблер використовує таблицю ідентифікаторів, побудовану в першому проході. Оскільки тепер уже відомі довжини і відносні адреси всіх полів даних і команд, то асемблер може згенерувати об'єктний код для кожної команди. Асемблер створює, якщо потрібен, файли: OBJ, LST і CRF.
№5 слайд
Содержание слайда: ВІДМІННОСТІ МІЖ ПРОГРАМАМИ В EXE і COM-файлах
Розмір програми. EXE-програма може мати будь-який розмір, тоді як COM-файл обмежений розміром одного сегменту і не перевищує 64К. COM-файл завжди менше, ніж відповідний EXE-файл; одна з причин цього - відсутність в COM-файлі 512-байтового початкового блоку EXE-файлу.
Сегмент стеку. У EXE-програмі визначається сегмент стека, тоді як COM-програма генерує стек автоматично. Таким чином при створенні асемблерної програми, яка буде перетворена в COM-файл, стек повинен бути опущений.
Сегмент даних. У EXE програмі звичайно визначається сегмент даних, а регістр DS ініціалізується адресою цього сегменту. У COM-програмі всі дані повинні бути визначені в сегменті коду.
№6 слайд
Содержание слайда: ВІДМІННОСТІ МІЖ ПРОГРАМАМИ В EXE і COM-файлах
І н і ц і а л і з а ц і я. EXE-програма записує нульове слово в стек і ініціалізує регістр DS. Оскільки COM-програма не має ні стека, ні сегменту даних, то ці кроки відсутні. Коли COM-програма починає працювати, всі сегментні регістри містять адресу префікса програмного сегменту (PSP), - 256-байтового блоку, який резервується операційною системою DOS безпосередньо перед COM або EXE програмою в пам'яті. Оскільки адресація починається з шістнадцятирічного зсуву 100 від початку PSP, то в програмі після оператора SEGMENT кодується директива ORG 100H.
Якщо ж програма створюється для виконання як COM-файл, то компановщиком буде видане повідомлення: Warning: No STACK Segment (Попередження: сегмент стека не визначений) Це повідомлення можна ігнорувати, оскільки визначення стека в програмі не передбачалося.
№7 слайд
Содержание слайда: СТЕК ДЛЯ COM-ПРОГРАМИ
Для COM-файлу DOS автоматично визначає стек і встановлює однакову загальну сегментну адресу у всіх чотирьох сегментних регістрах. Якщо для програми розмір сегменту в 64К є достатнім, то DOS встановлює в регістрі SP адресу кінця сегменту -FFFE. Це буде вершина стеку. Якщо 64К байтовий сегмент не має досить місця для стека, то DOS встановлює стек в кінці пам'яті. У обох випадках DOS записує потім в стек нульове слово. Можливість використовування стека залежить від розміру програми і обмеженості пам'яті. За допомогою команди DIR можна визначити розмір файлу і обчислити необхідний простір для стека. Всі невеликі програми в цій книзі в основному расчитани на COM-формат.
№8 слайд
Содержание слайда: Написання програм
Почнемо з написання СОМ програми.
Для написання програми можна використовувати будь-який текстовий редактор (наприклад, Блокнот), при цьому при написанні програми пригадаємо основні елементи структури програми:
Задамо модель пам’яті (хоча можна і без неї)
В кодовому сегменті запишемо ряд команд
В кінці програми опишемо змінні
№15 слайд
Содержание слайда: Розбирання програми
int 21h - Це переривання служить головним входом більшості функцій DOS.
Програма, що запрошує сервіс DOS, повинна підготувати всю необхідну інформацію в регістрах і управляючих блоках, вказати в регістрі AH номер бажаної функції DOS і потім викликати переривання INT 21H.
Роздивимось основні функції і вимоги до їх використання
№16 слайд
Содержание слайда: Ряд основних функцій переривання 21h
Функція DOS 00H: завершити програму
Функція DOS 01H: введення з клавіатури
Функція DOS 02H: виведення на дисплей
Функція DOS 05H: виведення на принтер
Функція DOS 06H: Обмін з консоллю
Функція DOS 07H: Нефільтруюче консольне введення без луни
Функція DOS 08H: Консольне введення без луни
Функція DOS 09H: Видати рядок
Функція DOS 0aH: буферизуюче введення рядка
Функція DOS 0bH: перевірити статус введення
Функція DOS 0cH: введення з очищенням
Функція DOS 0dH: Скинути диск
Функція DOS 1bH: дати інформацію FAT (поточний диск)
Функція DOS 1cH: дати інформацію FAT (будь-який диск)
№17 слайд
Содержание слайда: Ряд основних функцій переривання 21h
Функція DOS 21H: читати запис довільного файлу
Функція DOS 22H: писати запис довільного файлу
Функція DOS 23H: дати розмір файлу через FCB
Функція DOS 27H: читати блок довільного файлу
Функція DOS 28H: писати блок довільного файлу
Функція DOS 29H: Розібрати ім'я файлу
Функція DOS 2aH: дати дату DOS
Функція DOS 2bH: встановити дату DOS
Функція DOS 2cH: дати час DOS
Функція DOS 2dH: встановити час DOS
Функція DOS 2eH: встановити/скинути перемикач верифікації
Функція DOS 30H: дати номер версії DOS
Функція DOS 31H: завершитися і залишитися резидентним -- KEEP
Функція DOS 36H: дати вільну пам'ять диска
Функція DOS 39H: створити новий зміст -- MKDIR
Функція DOS 3aH: Видалити зміст -- RMDIR
Функція DOS 3bH: встановити замовчуваний зміст DOS -- CHDIR
Функція DOS 3cH: створити описувач файлу
Функція DOS 3dH: відкрити описувач файлу
Функція DOS 3eH: Закрити описувач файлу
Функція DOS 3fH: читати файл через описувач
Функція DOS 40H: писати у файл через описувач
Функція DOS 41H: Видалити файл
Функція DOS 42H: встановити покажчик файлу -- LSEEK
Функція Функція DOS 43H: встановити/опитати атрибут файлу -- CHMOD
Функція DOS 44H: управління введенням-висновком пристрою -- IOCTL
Функція DOS 45H: Дублювати описувач файлу -- DUP
Функція DOS 46H: перепризначувати описувач -- FORCDUP
Функція DOS 47H: дати замовчуваний зміст DOS
Функція DOS 48H: розподілити пам'ять (дати розмір пам'яті)
Функція DOS 49H: Звільнити блок розподіленої пам'яті
Функція DOS 4aH: Стиснути або розширити блок пам'яті
Функція DOS 4bH: виконати або завантажити програму -- EXEC
Функція DOS 4cH: завершити програму -- EXIT
Функція DOS 4dH: дати код виходу програми -- WAIT
Функція DOS 4eH: Знайти 1-й співпадаючий файл
Функція DOS 4fH: Знайти наступний співпадаючий файл
Функція DOS 54H: дати перемикач верифікації DOS
Функція DOS 56H: Перейменувати/перемістити файл
Функція DOS 57H: встановити/опитати час/дату файлу
Функція DOS 59H: дати розширену інформацію про помилку
Функція DOS 5aH: створити унікальний тимчасовий файл
Функція DOS 5bH: створити новий файл
Функція DOS 5cH: блокувати/розблоковувати доступ до файлу
Функція DOS 5eH: різні мережеві функції
Функція DOS 5fH: перепризначення пристроїв в мережі
Функція DOS 62H: дати адресу префікса програмного сегменту
№18 слайд
Содержание слайда: Ряд основних функцій переривання 21h
Функція DOS 36H: дати вільну пам'ять диска
Функція DOS 39H: створити новий зміст -- MKDIR
Функція DOS 3aH: Видалити зміст -- RMDIR
Функція DOS 3bH: встановити замовчуваний зміст DOS -- CHDIR
Функція DOS 3cH: створити описувач файлу
Функція DOS 3dH: відкрити описувач файлу
Функція DOS 3eH: Закрити описувач файлу
Функція DOS 3fH: читати файл через описувач
Функція DOS 40H: писати у файл через описувач
Функція DOS 41H: Видалити файл
Функція DOS 42H: встановити покажчик файлу -- LSEEK
Функція Функція DOS 43H: встановити/опитати атрибут файлу -- CHMOD
№19 слайд
Содержание слайда: Ряд основних функцій переривання 21h
Функція DOS 44H: управління введенням-висновком пристрою -- IOCTL
Функція DOS 45H: Дублювати описувач файлу -- DUP
Функція DOS 46H: перепризначувати описувач -- FORCDUP
Функція DOS 47H: дати замовчуваний зміст DOS
Функція DOS 48H: розподілити пам'ять (дати розмір пам'яті)
Функція DOS 49H: Звільнити блок розподіленої пам'яті
Функція DOS 4aH: Стиснути або розширити блок пам'яті
Функція DOS 4bH: виконати або завантажити програму -- EXEC
Функція DOS 4cH: завершити програму -- EXIT
Функція DOS 4dH: дати код виходу програми -- WAIT
Функція DOS 4eH: Знайти 1-й співпадаючий файл
Функція DOS 4fH: Знайти наступний співпадаючий файл
Функція DOS 54H: дати перемикач верифікації DOS
Функція DOS 56H: Перейменувати/перемістити файл
Функція DOS 57H: встановити/опитати час/дату файлу
Функція DOS 59H: дати розширену інформацію про помилку
Функція DOS 5aH: створити унікальний тимчасовий файл
Функція DOS 5bH: створити новий файл
Функція DOS 5cH: блокувати/розблоковувати доступ до файлу
Функція DOS 5eH: різні мережеві функції
Функція DOS 5fH: перепризначення пристроїв в мережі
Функція DOS 62H: дати адресу префікса програмного сегменту
№20 слайд
Содержание слайда: Ряд функцій переривання 21h
Функція DOS 56H: Перейменувати/перемістити файл
Функція DOS 57H: встановити/опитати час/дату файлу
Функція DOS 59H: дати розширену інформацію про помилку
Функція DOS 5aH: створити унікальний тимчасовий файл
Функція DOS 5bH: створити новий файл
Функція DOS 5cH: блокувати/розблоковувати доступ до файлу
Функція DOS 5eH: різні мережеві функції
Функція DOS 5fH: перепризначення пристроїв в мережі
Функція DOS 62H: дати адресу префікса програмного сегменту
№21 слайд
Содержание слайда: Описання дії і вимог основних функцій переривання 21h
DOS Fn 00H: завершити програму
Вхід AH = 00H
CS = сегмент PSP процесу, що завершується
Вихід = (непридатний)
Опис: передає управління на вектор завершення в PSP (виходить в батьківський процес). Ідентична функції INT 20H Terminate. регістр CS повинен указувати на PSP. відновлює вектори переривань DOS 22H-24H (завершення, Ctrl-Break і Критична помилка), встановлюючи значення, збережені в батьківському PSP. виконує скидання файлових буферів. файли повинні бути заздалегідь закриті, якщо їх довжина змінилася.
Зауваження: Простіше і більш акуратно - використовувати функцію DOS Fn 4cH Exit.
№22 слайд
Содержание слайда: Описання дії і вимог основних функцій переривання 21h
DOS Fn 01H:ввод з клавіатури
Вхід AH = 01H
Вихід AL = символ, одержаний із стандартного введення
Опис:
Прочитує (чекає) символ із стандартного вхідного пристрою. Відображає цей символ на стандартний вихідний пристрій (луна). при розпізнаванні Ctrl-Break виконується INT 23H.
Зауваження:
введення розширених клавіш ASCII (F1-F12, PgUp, курсор і т.п.) вимагає двох звернень до цієї функції. перший виклик повертає AL=0. Другий виклик повертає в AL розширений код ASCII.
№23 слайд
Содержание слайда: Описання дії і вимог основних функцій переривання 21h
DOS Fn 02H: виведення на дисплей
Вхід
AH = 02H
DL = символ, що виводиться на стандартний виведення
Вихід
Опис:
Посилає символ з DL на стандартний виведення. обробляє символ Backspace (ASCII 8), переміщаючи курсор вліво на одну позицію і залишаючи його в новій позиції. при виявленні Ctrl-Break виконується INT 23H.
№24 слайд
Содержание слайда: Описання дії і вимог основних функцій переривання 21h
DOS Fn 05H: виведення на принтер
Вхід
AH = 05H
DL = символ, записуваний на стандартний принтер
Вихід
Опис:
Посилає символ в DL на стандартний пристрій принтера, звичне LPT1.
Зауваження:
команда DOS MODE може перенаправити цей виведення в послідовний порт.
№25 слайд
Содержание слайда: Описання дії і вимог основних функцій переривання 21h
DOS Fn 09H: Видати рядок на дисплей
Вхід AH = 09H
DS:DX = адреса рядка, що закінчується символом '$' (ASCII 24H)
Вихід
Опис:
рядок, виключаючи завершальний її символ '$', посилається на стандартний виведення. символи Backspace обробляються як у функції 02H Display Char. звичайно, щоб перейти на новий рядок, включають в текст пару CR/LF (ASCII 13H і ASCII 0aH). рядки, що містять '$', можна видати через 40H Write Handle (BX=0).
№26 слайд
Содержание слайда: Описання дії і вимог основних функцій переривання 21h
DOS Fn 0aH: введення рядка в буфер
Вхід AH = 0aH
DS:DX = адреса вхідного буфера (дивися нижче)
Вихід = буфер містить введення, що закінчується символом CR (ASCII 0dH)
Опис: при вході буфер за адресою DS:DX повинен бути оформлений так:
+---+---+---+---+---+---+- - -
|max| ? | ? ? ? ? ? MAX - максимально допустима
+---+---+---+---+---+---+ - - довжина введення (від 1 до 254)
при виході буфер заповнений даними таким чином:
№27 слайд
Содержание слайда: Описання дії і вимог основних функцій переривання 21h
+---+---+---+---+---+---+- - -
|max|len| T E X T 0dH LEN - дійсна довжина даних
+---+---+---+---+---+---+ - - без завершального CR (тут - 04H).
символи прочитуються із стандартного введення аж до CR (ASCII 0dH) або до досягнення довжини MAX-1. якщо досягнутий MAX-1, включається консольний дзвінок для кожного чергового символу, поки не буде введене повернення каретки CR (натиснення Enter).
Другий байт буфера заповнюється дійсного завдовжки введеного рядка, не рахуючи завершального CR. останній символ в буфері - завжди CR (який не зарахований в байті довжини). символи в буфері (включаючи LEN) у момент виклику використовуються як "шаблон".
№28 слайд
Содержание слайда: Описання дії і вимог основних функцій переривання 21h
DOS Fn 0bH: перевірити статус введення
Вхід AH = 0bH
Вихід AL = 0ffH, якщо символ доступний із стандартного введення
Опис: перевіряє стан стандартного введення. при розпізнаванні Ctrl-Break виконується INT 23H. Замеченія: використовуйте перед функціями 01H 07H і 08H, щоб уникнути очікування натиснення клавіші.
Ця функція дає простий неруйнуючий спосіб перевірки Ctrl-Break в процесі довгих обчислень або іншої обробки, що звичайно не вимагає введення. це дозволяє вам знімати рахунок по натисненню Ctrl-Break.
№29 слайд
Содержание слайда: Описання дії і вимог основних функцій переривання 21h
DOS Fn 4cH: завершити програму -- EXIT
Вхід AH = 4cH
AL = код виходу
Вихід = (непридатний)
Опис: повертає управління від породженого процесу його батькові, встановлюючи код виходу, який можна опитати функцією 4dH WAIT. Управління передається за адресою завершення в PSP програми, що завершується. вектори Ctrl-Break і Critical Error відновлюються до старих адрес, сохраненнми в батьківському PSP.
Зауваження: значення ERRORLEVEL (використовуване в пакетних файлах DOS) можна використовувати для перевірки коду виходу самої останньої програми.
№31 слайд
Содержание слайда: Розбирання програми
model tiny
.code
.startup
mov dx, offset Sos ;встановлюємо покажчик на строку
mov ah,0Ah
int 21h ; введення строки
mov ah,0
mov bx,dx
mov cx,[bx + 1] ;встановлюємо лічильник
lst: ; початок циклу
mov di,cx
cmp Sos[di+1],60h ; перевірка, чи літера маленька
Скачать все slide презентации Написання програм одним архивом:
-
Написание программы
-
Homework 2. Написание программ
-
Написание программы для изучения предмета «Биология» по теме «Клетки» и тестирование знаний с помощью языка программирования C
-
Язык программирования Паскаль. Основные понятия
-
Язык программирования Паскаль. Организация ввода и вывода данных
-
Язык программирования Turbo Pascal
-
Функции в языке программирования VB
-
Засоби візуальної розробки програм. Поняття оператора
-
Одномерные массивы в языке программирования Паскаль. Составление программ
-
Циклы в программировании на языке Паскаль