Лабораторная работа №1
Вывод текста на экран средствами DOS
Ввод с клавиатуры средствами DOS
Основы программирования под ms - dos
Программа написанная на ассемблере, так же как и программа, написанная на любом другом языке программирования, выполняется не сама по себе, а при помощи операционной системы. Операционная система выделяет область памяти для программы, загружает ее, передает ей управление и обеспечивает взаимодействие программы с устройствами ввода-вывода, файловым системами, и другими программами (разумеется кроме тех случаев, когда программа сама является операционной системой или ее частью). Способы взаимодействия программы с внешним миром различны для разных операционных систем, так что программа написанная для Windows не будет работать в DOS, а программа для Linux - в Solaris /x86, хотя все эти системы могут работать на одном и том же компьютере. Самая простая и распространенная операционная система для компьютеров, основанных на процессорах Intel, - DOS (Дисковая операционная система). DOS предоставляет программам полную свободу действий, никак не ограничивая доступ к памяти и внешним устройствам, позволяя им самим управлять процессором и распределением памяти. По этой самой причине DOS лучше всего подходит, чтобы близко познакомиться с устройством компьютера и возможностями, которые скрываются компиляторами с языков высокого уровнями и более совершенными операционными системами.
Итак, чтобы программа выполнилась, она должна быть скомпилирована в исполнимый файл. Основные два формата файлов в DOS - COM и EXE. Файлы типа COM содержат только скомпилированный код без какой-либо дополнительной информации о программе. Весь код, данные и стек такой программы располагаются в одном сегменте и не могут превышать 64 килобайта. Файлы типа EXE содержат заголовок, в котором описывается размер файла, требуемый объем памяти, список команд в программе, использующих абсолютные адреса, которые зависят от расположения программы в памяти, и т.д. EXE - файл может иметь любой размер. Формат EXE также используется для исполнимых файлов в различных версиях DOS расширителей и Windows, но со значительными изменениям.
Операционная система MS-DOS предоставляет свой сервис через 21-ое прерывание, то есть команда INT 21h вызывает системную функцию DOS, эта команда есть основное средство взаимодействия программ с операционной системой.
Вывод на экран в текстовом режиме средствами dos
Функция DOS 02h - записать символ в STDOUT с проверкой на CTRL-BREAK
Ввод: AH = 02h
DL=ASCII код символа
Вывод: AL=код последнего записанного символа (кроме случая с символом табуляции)
Некоторые служебные символы
BEL (07h) - звуковой сигнал
BS (08h) - движение курсора влево на одну позицию
HT (09h) - заменяется на несколько пробелов
LF (0Ah) - опускает курсор на одну позицию вниз
CR (0Dh) - приводит к переходу на начало текущей строки
Функция DOS 06h - записать символ в STDOUT без проверки на CTRL-BREAK
Ввод: AH = 06h
DL=ASCII код символа (кроме FFh)
Вывод: AL=код последнего записанного символа (кроме случая с символом табуляции)
Функция DOS 09h - Записать строку в STDOUT c проверкой на CTRL - BREAK
Ввод: AH=09h
DS:DX = адрес строки, заканчивающейся символом $ (24h)
Вывод: AL=24h (код последнего символа)