Урок за илюстриран асемблер › Команди и алгоритми › Организиране на MS-DOS приложения
Организация на MS-DOS приложения
Въпреки това въпроси като организацията на изпълнима програма, нейното стартиране, взаимодействие с различни хардуерни и софтуерни обекти на компютърна система (клавиатура, дискове, таймер, памет, системни драйвери и т.н.) и накрая прекратяването са прерогатив на операционната система. Следователно в програмите на асемблерния език системните инструменти винаги се използват широко, например за показване на въвеждане на екрана или клавиатурата, четене или писане на файлове, управление на паметта и т.н.
Освен това самата вътрешна организация на програмата, нейната структура и до известна степен алгоритмите на поведение се определят до голяма степен от правилата за организиране на изчислителния процес, заложени в DOS. Изучаването на асемблерния език изолирано от конкретна операционна система се изражда в схоластично занимание, резултатът от което ще бъде познаване на формалните правила за писане на софтуерни предложения без способността да се прилагат тези правила за създаване на работещи програми.
В същото време възможностите дори на такава сравнително проста операционна система като MS-DOS са много големи и разнообразни и тяхното изследване представлява независима част от програмирането. В тази книга инструментите на DOS се разглеждат само в минималната степен, необходима за създаване на прости, но работещи програми на асемблер, както и за демонстриране на основните алгоритми и техники за програмиране.
Тези, които желаят да разберат по-задълбочено възможностите на MS-DOS и използването на функциите на DOS в приложното програмиране, могат да се обърнат към книгата: К. Г. Финогенов "Самообучение по функциите на системата MS-DOS", М., Радио и комуникация, Entrop, 1995.
Сред най-важнитеВъпросите, които изискват поне минимално внимание, трябва да включват изискванията, наложени от MS-DOS върху структурата на приложните програми, както и върху характеристиките на тяхното взаимодействие със самия DOS и с други програми.
Програмите, предназначени да работят под MS-DOS, могат да бъдат класифицирани според различни критерии. Вътрешно всички програми принадлежат към един от двата типа, които съответстват на разширенията на името на програмния файл.EXE и.COM. Чрез взаимодействие със самия DOS програмите се разделят на транзитни и резидентни. И накрая, трябва да подчертаем най-важния клас програми, които служат за обработка на хардуерни или софтуерни прекъсвания и обикновено се наричат манипулатори на прекъсвания. Тук не покриваме такива специфични програми като инсталируеми драйвери на устройства, командни процесори (които включватCOMMAND.COM ) или DOS обвивки (например широко разпространената програма Norton Commander), които могат да бъдат разграничени в независими класове.
Наличието в MP 86 само на два сегментни регистъра за данни (DS иES ) донякъде усложнява алгоритмите за обработка на големи количества данни, тъй като трябва постоянно да превключвате тези регистри от един сегмент в друг. В действителност обаче съвременните процесори имат не два, а четири сегментни регистри за данни (DS,ES,FS иGS ), които могат да се използват в приложения на DOS, като по този начин опростяват процедурите за достъп до данни и ускоряват изпълнението на програмата. Всички тези възможности ще бъдат обсъдени по-подробно по-късно.