Для компиляции программ, написанных на языке ассемблера, используются следующие программы:
1. транслятор Turbo Assembler (исполнительный файл TASM.EXE);
2. компоновщик Turbo Linker (исполнительный файл TLINK.EXE).
Транслятор выполняет ассемблирование программы – транслирует команды процессора в машинный объектный код и генерирует OBJ-модуль. Формат OBJ-модуля уже приближен к исполнительной форме, но еще не готов к выполнению. На этапе ассемблирования транслятором могут выдаваться ошибки и предупреждения. Появление ошибки прекращает работу транслятора и OBJ-модуль не генерируется – необходимо устранить ошибку и провести повторное ассемблирование программы. Предупреждения не прекращают работу транслятора, OBJ-модуль генерируется, но программа может выполняться некорректно из-за наличия каких-то логических ошибок в ней, на что и указывают предупреждения.
Компоновщик выполняет преобразование OBJ-модуля в исполнительный файл COM или EXE. Различие между этими файлами будет рассмотрено ниже. При использовании компоновщика имеется возможность объединить несколько OBJ-модулей в один исполнительный файл. Этот прием обычно используется при написании больших программ, состоящих из нескольких программных модулей. Также на этапе компоновки есть возможность подключить к программе какие-либо библиотеки.
Основные типы файлов Windows
Процесс подготовки программы к выполнению включает в себя ассемблирование программы с помощью транслятора Turbo Assembler и дальнейшую компоновку с помощью компоновщика Turbo Linker.
Исполнительный файл типа COM
В исполнительном файле типа COM можно разместить только один физический сегмент. Поэтому при написании COM программы все команды и данные должны находиться в одном программном сегменте. При выполнении программы в единственном физическом сегменте располагается и стек. Стек «растет» сверху вниз – с конца физического сегмента к его началу.
Размер программного сегмента с учетом возможного размера стека не должен превышать 64 Кб. В противном случае стек программы «налезет» на коды команд и данные, что может привести к некорректной работе программы. Размер COM файла не превышает 64 Кб, и в нем содержатся только машинные коды процессора и данные программы.
Коды и данные физического сегмента COM файла размещаются не с нулевого смещения, а со смещения 100h (256 в десятичной с/с). С нулевого смещения располагается специальная структура данных объемом 256 байт, называемая префиксом программного сегмента. Обращение к данным и меткам в программе должно выполняться по сумме смещения переменной или метки и числа 256. Для этого служит директива ORG, задающая число, которое будет прибавляться ко всем смещениям, используемым для обращения к переменным и меткам программы. Это число используется только для прямой адресации, т. е. При обращении к переменным с непосредственным указанием их адресов. Формат директивы ORG следующий:
Директива ORG указывается в программном сегменте перед первой командой или меткой. Пример программы типа COM:
Что такое — Видеофайлы, Файлы, Расширения файлов, Типы файлов?
MySegment SEGMENT
ASSUME CS:MySegment, DS:MySegment
Перед выполнением программы типа COM операционная система настраивает регистры CS, DS, ES, SS на начало физического сегмента, в котором размещаются коды и данные программы. Поэтому в дополнительной настройке эти сегментные регистры не нуждаются.
Сегмент программы типа COM должен обязательно начинаться с команды, иначе компоновщик зафиксирует ошибку. Компоновщик также фиксирует ошибку, если в программе типа COM есть команды, в которых явным образом используются значения сегментных адресов программных сегментов. Например, команда
будет являться ошибочной для программы типа COM, поскольку в регистр AX предпринимается попытка занести значение сегмента программного сегмента Code, а COM файл не имеет специальной информации для возможности выполнения этой команды.
Завершение программы типа COM можно выполнить командой RET, которая перейдет на адрес, указанный в вершине стека. Стек инициализируется операционной системой и в него записывается адрес ячейки памяти, находящейся в префиксе программного сегмента. Эта ячейка памяти содержит команду завершения программы.
Исполнительный файл типа EXE
В исполнительном файле типа EXE физических сегментов может быть сколько угодно. Поэтому в программе типа EXE может быть любое число программных сегментов. Перед выполнением программы типа EXE операционная система настраивает регистр CS на сегмент, в котором находится точка входа в программу. Также операционная система настраивает регистр SS на стековый сегмент программы. Стековый сегмент может быть указан в программе явно с использованием ключевого слова STACK:
При этом в сегменте определяется размер стека в байтах. Параметр сегмента “PARA” определяет выравнивание содержимого сегмента по границе параграфа, т. е. физический адрес первого элемента сегмента кратен 16. Это необходимое условия для организации стекового сегмента.
Если такого явного указания сегмента стека в программе нет, то стековым сегментом считается тот программный сегмент, в котором определена точка входа в программу. При этом компоновщиком выдается предупреждение “Warning: No Stack”. В этом случае следует учесть, что размер программного сегмента с учетом возможного размера стека не должен превышать 64 Кб, так же как и в COM файле. Регистр SP инициализируется операционной системой значением 0, если сегмента стека в программе нет или значением, совпадающим с размером стекового сегмента, указываемым в программе. Регистр SS инициализировать не требуется.
Каждый сегментный регистр, который используется в директиве ASSUME, кроме CS, требуется настроить на начало того физического сегмента, в котором располагаются данные или коды, адресуемые с помощью данного сегментного регистра. Настройка может быть выполнена следующим образом:
В файле типа EXE помимо кодов и данных программы имеется заголовок и специальная таблица настройки, которые в совокупности занимают не менее 512 байт. Размер таблицы настройки зависит от количества команд программы, в которых необходимо определять физический адрес того или иного программного сегмента. Например, последовательность команд настройки сегментного регистра, приведенная выше добавляет один элемент в таблицу настройки.
В отличие от программы типа COM, в программе типа EXE могут использоваться команды вида
и другие команды, использующие значения сегментных адресов программных сегментов, так как таблица настройки в EXE файле содержит необходимую информацию для выполнения таких команд.
Пример программы типа EXE:
MyStack SEGMENT STACK
DB 512 DUP (?) ; стек размером 512 байт
Источник: megapredmet.ru
Определите тип файла по заданному расширению. Укажите пример программного приложения, которое может быть использовано для работы с документами указанного типа.
exe — Исполняемый файл — ОС MSWindows com — Командный файл(содержит набор команд) — ОС MSWindows, NotePad doc — текстовый файл- Microsoft Word xls — электронная таблица — Microsoft Excel txt — текстовый — Microsoft Notepad / WordPad ppt — презентация — Microsoft PowerPoint htm и html — страницы веб-сайтов — любой браузер или Notepad (в старых ОС и программах html не будет поддерживаться) hlp — файл-справка — старые версии ОС MSWindows bmp — изображение- Adobe Photoshop, редство просмотра фотографий Windows jpg — изображение — Adobe Photoshop, средство просмотра фотографий Windows tif — изображение — средство просмотра фотографий Windows gif — анимация — Adobe Photoshop средство просмотра фотографий Windows mp3- музыка — Microsoft Windows Media Player mpeg — видео — Microsoft Windows Media Player avi — видео — Microsoft Windows Media Player zip — архивный файл — 7zip rar- архивный файл -winRar
Источник: znanija.site
Ищете расширение файла?
Расширение файла, иногда также называемое типом файла или форматом файла, это ничто другое, как последовательность знаков, размещенных в конце названия каждого файла. На ее основании мы получаем информацию о данных, закодированных в этом файле.
Например файл file.avi имеет расширение файла .avi. Из расширения мы узнаем, что это видео файл (а не напр. текстовый файл или таблица).
Как мы можем Вам помочь?
Если вы попали на эту страницу, наверняка у Вас возникла проблема с открытием неизвестного типа файла. Если у Вас есть расширение файла, о котором Вы ищете информацию в нашей базе данных, Вы найдете у нас список программ, которые помогут Вам открыть или конвертировать файл.
Что имеется ввиду под конвертированием файлов?
Если по какой-то причине Вы не можете использовать программу для обработки файла, существует вероятность, что Вы сможете изменить формат файла. В нашей базе данных Вы найдете список возможностей конвертирований Вашего файла и программы, которые помогут провести конвертирование. После конвертирования у Вас появится больше возможностей для запуска или редактирования файла.