Имя файла программы в машинных кодах имеет расширение

Все программы и данные хранятся в долговременной (внешней) памяти компьютера в виде файлов.

Файл — это определенное количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти.

Имя файла состоит из двух частей, разделенных точкой: собственно имя файла и расширение, определяющее его тип (программа, данные и т. д.). Собственно имя файлу дает пользователь, а тип файла обычно задается программой автоматически при его создании.

В различных операционных системах существуют различные форматы имен файлов. В операционной системе MS-DOS собственно имя файла должно содержать не более восьми букв латинского алфавита и цифр, а расширение состоит из трех латинских букв, например: proba.txt

1. Разрешается использовать до 255 символов.
2. Разрешается использовать символы национальных алфавитов, в частности русского.
3. Разрешается использовать пробелы и другие ранее запрещенные символы, за исключением следующих девяти: /:*?»<>|.

Как вернуть прежние имя файла или папки?


4. В имени файла можно использовать несколько точек. Расширением имени считаются все символы, стоящие за последней точкой.

Роль расширения имени файла чисто информационная, а не командная. Если файлу с рисунком присвоить расширение имени ТХТ, то содержимое файла от этого не превратится в текст. Его можно просмотреть в программе, предназначенной для работы с текстами, но ничего вразумительного такой просмотр не даст.

Файловая система. На каждом носителе информации (гибком, жестком или лазерном диске) может храниться большое количество файлов. Порядок хранения файлов на диске определяется установленной файловой системой.

Для облегчения понимания этого вопроса воспользуемся аналогией с традиционным «бумажным» способом хранения информации. В такой аналогии файл представляется как некоторый озаглавленный документ (текст, рисунок и пр.) на бумажных листах. Следующий по величине элемент файловой структуры называется каталогом. Продолжая «бумажную» аналогию, каталог будем представлять как папку, в которую можно вложить множество документов, т.е. файлов. Каталог также получает собственное имя (представьте, что оно написано на обложке папки).

Каталог сам может входить в состав другого, внешнего по отношению к нему каталога. Это аналогично тому, как папка вкладывается в другую папку большего размера. Таким образом, каждый каталог может содержать внутри себя множество файлов и вложенных каталогов (их называют подкаталогами). Каталог самого верхнего уровня, который не вложен ни в какие другие, называется корневым каталогом.

А теперь полную картину файловой структуры представьте себе так: вся внешняя память компьютера — это шкаф с множеством выдвижных ящиков. Каждый ящик — аналог диска; в ящике — большая папка (корневой каталог); в этой папке множество папок и документов (подкаталогов и файлов) и т.д. Самые глубоко вложенные папки хранят в себе только документы (файлы) или могут быть пустыми.

3 1

Язык ассемблера: инструкции процессора, машинный код, паттерны проектирования и библиотеки

Путь к файлу. Для того чтобы найти файл в иерархической файловой структуре необходимо указать путь к файлу. В путь к файлу входят записываемые через разделитель «» логическое имя диска и последовательность имен вложенных друг в друга каталогов, в последнем из которых находится данный нужный файл.

Например, путь к файлам на рисунке можно записать так:
C:Рефераты
C:РефератыФизика
C:РефератыИнформатика
C:Рисунки

В операционной системе Windows вместо каталогов используется понятие «папка». Папка – это объект Windows, предназначенное для объединения файлов и других папок в группы. Понятие папки шире, чем понятие «каталог».

В Windows на вершине иерархии папок находится папка Рабочий стол. (Следующий уровень представлен папками Мой компьютер, Корзина и Сетевое окружение (если компьютер подключен к локальной сети).

Графический интерфейс Windows позволяет производить операции над файлами с помощью мыши с использованием метода Draghttps://folkmap.ru/articles/sostavit-algoritm-opredeleniya-svoystv-fayla-imya-rasshirenie-data-sozdaniya-informatsionnyy-obem.html» target=»_blank»]folkmap.ru[/mask_link]

Трансляция программы

Следующий шаг на пути создания исполняемого модуля — трансляция програм­мы. Для трансляции нужен подготовленный и записанный на диск исходный текст программы (см. листинг 6.1).

На этапе трансляции решается несколько задач:

— перевод команд ассемблера в соответствующие машинные команды;

— построение таблицы символов;

— формирование файла листинга и объектного модуля.

Читайте также:
Как назвать программу по речевому развитию

Программа, которая реализует эти задачи, называется ассемблером. Итог рабо­ты ассемблера — два файла: файл объектного модуля и файл листинга.

Объектный модуль включает в себя представление исходной программы в ма­шинных кодах и некоторую другую информацию, необходимую для отладки и ком­поновки его с другими модулями. При использовании пакета TASM получение объектного модуля исходного файла производится программой (ассемблером) tasm.exe. Формат командной строки для запуска tasm.exe следующий:

TASM [ключи] имя_исходного_файла [,имя_объектного_файла] [,имя_файла_листинга] [.имя_файла_перекрестных_ссылок]

Помнить формат командной строки tasm.exe необязательно. Получить быструю справку о нем на экране можно, если запустить tasm.exe без параметров. Обратите внимание на то, что большинство параметров заключено в квадратные скобки. Это общепринятое соглашение по обозначению необязательных параметров.

Из этого следует, что обязательным аргументом командной строки является лишь имя ис­ходного файла. Этот файл должен находиться на диске и обязательно иметь рас­ширение.asm. За именем исходного файла через запятую могут следовать необя­зательные параметры, обозначающие имена объектного файла, файла листинга и файла перекрестных ссылок. Если не задать их, то соответствующие файлы по­просту не будут созданы. Если же их нужно создать, то необходимо учитывать не­которые моменты.

Если имена объектного файла, файла листинга и файла-перекрестных ссылок должны совпадать с именем исходного файла (наиболее типичный случай), то нужно просто поставить запятые вместо имен этих файлов: tasm.exe prg_6_l.

В результате будут созданы файлы с одинаковыми именами и разными расши­рениями, как показано на рис. 6.1 для второго этапа.

Если имена объектного файла, файла листинга и/или файла перекрестных ссы­лок не должны совпадать с именем исходного файла, то нужно в командной строке указать имена нужных файлов в соответствующем порядке, к примеру:

В результате на диске будут созданы файлы prg_6_l.obj, prg_list.lst, prg_6_l.crf.

— Если требуется выборочное создание файлов, то вместо ненужных файлов необходимо подставить параметр nul. Например:

В результате на диске будут созданы файлы prg_6_l.obj, prg_6_l.crf.

Необязательный аргумент [ключи] позволяет задавать режим работы транслятора TASM. Этих ключей достаточно много, и все они описаны в приложении В (https://www.piter.com/downbad).

Перед работой с программой tasm.exe желательно провести некоторые подготовительные операции. После установки пакета TASM в каталоге TASMBIN, где находится файл tasm.exe, присутствует большое количество файлов. Можно запустить программу tasm.exe прямо отсюда, но тогда созданные ею файлы объектного кода, листинга и перекрестных ссылок тоже окажутся в этом каталоге. Если вы собирается написать всего одну программу, то неудобство не столь заметно, но при работе с несколькими программами очень скоро этот каталог станет похожим на свалку. Чтобы Iизбежать подобной ситуации, рекомендуется выполнить описанную далее процедуру.

1. Создайте в каталоге..TASM вложенные каталоги..WORK и..PROGRAM. Каталог..PROGRAM будет использоваться для хранения отлаженных кодов программ и их исполняемых модулей (файлов с расширением.ехе). Каталог..WORK станет рабочим — в нем будут находиться необходимые для получения исполняемого модуля файлы из пакета транслятора TASM и файл исходного модуля, с которым в данный момент ведется работа. После устранения ошибок в исходном модуле его вместе с исполняемым модулем можно будет переписать в каталог..PROGRAM, а из каталога..WORK удалить все ненужные файлы, чтобы подготовить его для работы со следующим исходным модулем на ассемблере. Таким образом, в каталоге..WORK всегда будет находиться рабочая версия программы, а в каталоге..PROGRAM— отлаженная версия.

2. Поместите в каталог..WORK файлы tasm.exe, tlink.exe и rtm.exe. Если в дальнейшем в каталоге..WORK не окажется каких-то рабочих файлов вашей программы, программы tasm.exe и tlink.exe выдадут соответствующее сообщение.

3. Поместите в каталог..WORK файл prg_6_l.asm.

После всех этих действий можно начинать работу. Для этого следует перейти в каталог..WORK и инициировать трансляцию программы prg_6_l.asm командной строкой вида tasm.exe/zi prg_6_l…

В результате на экране появится последовательность строк. Самая первая из них будет содержать информацию о номере версии пакета TASM, который использовался для трансляции данной программы. В следующей строке будет выведено имя транслируемого файла. Если программа содержит ошибки, то транслятор даст на экран строки сообщений, начинающиеся словами «Error» и «Warning».

Читайте также:
Какие программы нужно установить на компьютер для работы с эцп

Хотя программа из Листинга 6.1 синтаксически правильная, в учебных целях в нее можно внести какую-нибудь бессмыслицу и посмотреть, что получится. Наличие строки со словом «Error» будет говорить о том, что в программе есть недопустимые с точки зрения синтаксиса комбинации символов. Логика работы программы для транслятора не имеет никакого значения. Можно написать абсолютную чушь, но если она синтаксически правильна, транслятор поспешит обрадовать пользователя, сообщив ему об отсутствии ошибок. Наличие строки «Warning»- означает, что конструкция синтаксически правильна, но не соответствует некоторым соглашениям языка, и это может служить источником ошибок в будущем.

Для устранения ошибок нужно определить место их возникновения и проана- лизировать ситуацию. Местоположение ошибки легко определяется по значению в скобках в сообщении об ошибке. Это значение является номером ошибочной строки. Запомнив его, нужно перейти в файл с исходной программой и по номеру строки найти место ошибки. Этот способ локализации ошибок имеет недостатки.

Во-первых, он не нагляден. Во-вторых, не всегда номера строк в сообщении соответствуют действительным номерам ошибочных строк в исходном файле. Такая ситуация будет наблюдаться, например, при использовании макрокоманд. В этом случае транслятор вставляет в файл дополнительные строки в соответствии с описанием применяемой макрокоманды, а в результате происходит сбой в нумерации.

По этим соображениям для локализации ошибок лучше использовать информацию из специального создаваемого транслятором файла листинга. Этот файл имеет расширение.lst, а его имя определяется в соответствии с рассмотренными выше согла­шениями. В листинге 6.2 приведен полный формат файла листинга для программы содержащей некоторые ошибки. Файл листинга — это всегда очень важный доку­мент, и ему нужно уделить должное внимание.

Файл листинга содержит код ассемблера исходной программы, а также расши-
ренную информацию об этом коде. Для каждой команды ассемблера указываются
ее машинный (объектный) код и смещение в кодовом сегменте. Кроме того, в кон-
це листинга TASM формирует таблицы с информацией о метках и сегментах, ис-
пользуемых в программе. Если есть ошибки или сомнительные участки кода, то
TASM включает в конец листинга сообщения о них. Если сравнить их с сообщени-
ями, выводимыми на экран, то видно, что они совпадают. Кроме того, что очень
удобно, эти же сообщения включаются в текст листинга непосредственно после
ошибочной строки.

Строки в файле Листинга имеют следующий формат:

Глубина_вложенности номер_строки смещение машинный_код исходный_код

Далее описано каждое из этих полей:

— глубина_вложенности — уровень вложенности включаемых файлов или макрокоманд в файле.

— номер_строки — номер строки в файле листинга. Номера строк листинга используются для локализации ошибок и формирования таблицы перекрестных ссылок.

Как уже упоминалось, номера строк листинга могут не соответствовать номерам строк в исходном файле. В добавление к сказанному paнее нужно отметить, что в ассемблере имеется директива INCLUDE, которая позволяет включить в файл строки другого файла. Нумерация при этом, как и в случае макрокоманд, будет последовательная для строк обоих файлов. Факт вложенности кода одного файла в другой фиксируется увеличением значения поля «глубина_вложенности» на единицу. Это замечание касается и макрокоманд.

— смещение в байтах текущей команды относительно начала сегмента кода. Это смещение называют также счетчиком адреса. Величину смещения вычисляет транслятор для адресации в сегменте кода.

— машинный_код — машинное представление команды ассемблера, представленной далее в этой строке полем исходный_код.

— исходныный_код — строка кода из исходного файла.

Дальнейшие действия программиста должны зависеть от характера ошибки. По мере накопления опыта ошибки будут происходить чаще всего в результате простых ошибок. На первых порах особое внимание следует уделять правильности написания синтаксических конструкций, так как ошибки синтаксиса — самые распространенные. Исправив несколько первых ошибок, следует перетранслировать программу и приступить к устранению следующих ошибок. Возможно, что этого делать не придется, так как после исправления одной ошибки могут исчезнуть и последующие (так называемые наведенные ошибки).

О нормальном окончании процесса трансляции можно судить по отсутствию строк с сообщениями об ошибках и предупреждениях.

Читайте также:
Программы на ПК чтобы делать биты

Изучая внимательно файл листинга следует обратить внимание на то, что не все строки исходной программы имеют соответствующий машинный код (строки 9, 16.17.19. 22,48. 50). Это обстоятельство обусловлено тем, что исходный файл наассемблере в общем случае может содержать конструкции следующих типов:

— команды ассемблера — конструкции, которым соответствуют машинные команды;

— директивы ассемблера — конструкции, которые не генерируют машинных команд, а являются указаниями транслятору на выполнение некоторых действий или служат для задания режима его работы;

— макрокоманды — конструкции, которые, будучи представлены одной строкой в исходном файле программы, после обработки транслятором генерируют в объектном модуле последовательность команд, директив или макрокоманд ассемблера. Формат файла листинга и его полнота не являются жестко регламентированными. Их можно изменить, задавая в исходном файле программы директивы управления листингом (приложение Г, https://www.piter.com/download).

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

Источник: studopedia.ru

Файлы

Программы и данные хранятся на диске в виде файлов (от англ. file — папка для бумаг, досье). Содержимым файла может быть произвольный текст, программа, таблица, рисунок и т.д.

На жёстком диске может находиться множество файлов. Чтобы избежать путаницы, каждый файл, расположенный на диске, имеет своё имя, а также место расположения. Любой файл можно расположить в папке.

  • Задание на ЯКласс по темам «Файлы и папки», «Размер файла».

Работа с файлами реализуется средствами операционных систем. Многие операционные системы приравнивают к файлам и обрабатывают сходным образом и другие ресурсы:

  • области данных (необязательно на диске);
  • устройства — как физические, например, порты или принтеры, так и виртуальные (/dev/null, генератор случайных чисел);
  • потоки данных (именованный канал);
  • сетевые ресурсы, сокеты;
  • прочие объекты операционной системы.

Плакат «Файлы и файловые структуры»

История

Слово file впервые применено к компьютерному хранилищу в 1950 году. Реклама памяти на запоминающих ЭЛТ фирмы RCA в журнале «Popular Science» гласила:

…результаты бесчисленных вычислений можно держать «в картотеке» (on file) и получать снова. Эта «картотека» теперь существует в запоминающей трубке, разработанной в лабораториях RCA. Она электрически сохраняет цифры, отправленные в вычислительную машину, и держит их в хранилище, заодно запоминая новые — ускоряя интеллектуальные решения в лабиринтах математики.

В 1952 году слово file отнесли к колоде перфокарт. Поначалу словом file называли само устройство памяти, а не его содержимое.

Имена файлов в CTTS состояли из двух частей, «основного имени» и «дополнительного имени» (последнее существует и поныне как расширение имени файла).

Свойства файла

Имя файла

Имя файла — строка символов, однозначно определяющая файл в некотором пространстве имён файловой системы (ФС), обычно называемом каталогом, директорией или папкой. Имена файлов строятся по правилам, принятым в той или иной файловой и операционной системах.

Имя файла является частью полного имени файла, также называемого полным или абсолютным путём к файлу. Полное имя может включать следующие компоненты:

  • протокол или способ доступа (http, ftp, file и т. п.);
  • имя или адрес компьютера, узла сети (wikipedia.org, 207.142.131.206,\MYCOMPUTER, SYS: и т. п.);
  • устройство хранения, диск (C:, /, SYSLIB и т. п.);
  • путь к каталогу (/usr/bin, TEMP, [USR.LIB.SRC] и т. п.);
  • собственно имя файла, которое может содержать его расширение (.txt, .exe, .COM и т. п.);
  • версия или номер ревизии.

Имя файла необходимо для того, чтобы к файлу мог обратиться пользователь. В одном каталоге не может быть двух файлов с одинаковыми именами (некоторые файловые системы регистрозависимы, что оставляет возможность для создания файлов, имена которых отличаются регистром символов).

Имя файла состоит из двух частей, разделенных точкой:

  • Название (до точки, часто также называют именем);
  • Расширение (необязательная часть).

Расширение имени файла

Расширение имени файла (англ. filename extension , часто говорят просто расширение файла или расширение) — последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с помощью которых пользователь или программное обеспечение компьютера может определить тип данных, хранящихся в файле.

Источник: izotop.jimdofree.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru