- •Тула 2005
- •ЛАБОРАТОРНАЯ РАБОТА №1
- •ОПЕРАЦИОННЫЕ ОБОЛОЧКИ ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРОВ
- •1. ЦЕЛЬ И ЗАДАЧИ РАБОТЫ
- •2. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
- •3. ОБОРУДОВАНИЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
- •4. ЗАДАНИЕ НА РАБОТУ
- •5. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
- •6. СОДЕРЖАНИЕ И ОФОРМЛЕНИЕ ОТЧЕТА
- •7. КОНТРОЛЬНЫЕ ЗАДАНИЯ
- •8. БИБЛИОГРАФИЧЕСКИЙ СПИСОК
- •1. ЦЕЛЬ И ЗАДАЧИ РАБОТЫ
- •COMMAND /Y /C [диск:путь\]имя_командного_файла [параметры]
- •>C:\BATCH\LX BOOK_1.TXT BOOK_2.TXT BOOK_3.TXT
- •CALL [диск:путь\]имя_командного_файла [параметры]
- •TYPE C:\REPORT.TXT | MORE
- •MORE < C:\REPORT.TXT
- •FOR %%переменная IN (набор) DO команда
- •FOR %%F IN (*.TXT *.LST) DO COPY %%F PRN
- •FOR %%V IN (COPY ERASE) DO %%V *.* C:\BACKUP
- •GOTO [:]метка
- •PAUSE [текст]
- •REM [текст]
- •DIR > FILELIST.TXT
- •process_1 | process_2 | … process_N
- •ECHO Y | process
- •IF EXIST Z:\*.* SET DRIVE=Z: | GOTO FORWARD
- •COPY CON имя_файла
- •ECHO Esc[0;60;"DIR";13p
- •ВЕ команда [аргументы] [переключатели]
- •ВЕ файл ,
- •команда [аргументы] [переключатели]
- •BEEP [/Dn] [/Fm] [/Rp] [/Wq]
- •Таблица 1
- •Таблица частот (в Гц)
- •Нота
- •Октава 2
- •Октава 4
- •Соль
- •DELAY n
- •PRINTCHAR символ n [атрибуты]
- •TASM[.BAT] ONE TWO
- •Start – загрузить в оперативную память драйвер и активизировать электронный диск;
- •Drive Letter – назначить буквенный идентификатор электронному диску (от C: до Z:). Если выбранный идентификатор электронного диска окажется назначенным какому-либо иному устройству памяти, то в процессе активизации драйвера возникнет аварийная ситуация;
- •Start Driver at Boot – активизировать драйвер в процессе загрузки операционной системы;
- •AutoSave – данный элемент управления позволяет определить интервал времени в секундах между процедурами периодического автоматического сохранения образа электронного диска на жесткий магнитный диск. Эта процедура необходима для повышения надежности хранения информации на электронном диске;
- •Disk Label – назначить метку для электронного диска (не более 11 буквенно-цифровых символов);
- •Save Disk Image On Shutdown – определить автоматическое сохранение образа электронного диска на жестком магнитный диске при завершении работы операционной системы. Необходимо отметить, что процедуры сохранения и восстановления содержимого сжатого диска большой емкости (порядка 64 Мбайт и более) требуют значительных затрат времени при старте операционной системы и завершении ее работы;
- •Save Settings – сохранить параметры работы драйвера электронного диска;
- •MASM /la /zi LABRAB, , ,NUL
- •Рис. 2. Схема работы компоновщика с файлами
- •LINK LABRAB,LABRAB;
- •Параметры программы ML имеют следующий смысл:
- •ML /AT LABRAB.ASM /link
- •Система программирования Turbo Assembler является практически полным функциональным аналогом системы программирования Microsoft Assembler. Основными программными компонентами системы программирования Turbo Assembler являются следующие:
- •TASM /zi LABRAB, , ,NUL
- •TLINK /x /t LABRAB
- •2.4. Пример программы на языке Turbo Assembler
- •0005 BA 0000 R mov dx, OFFSET Greet ,
- •Таблица 1
- •Суффиксы машинного кода
- •Суффикс
- •Назначение
- •Будет скорректировано смещение
- •Будут скорректированы смещение и сегмент
- •Будет скорректировано смещение внешнего символа
- •11 0000 B8 0000s mov ax, @DATA
87
/map – включить в протокол компоновки расширенную информацию о компоновке программы, включающую имена всех глобальных объектов и соответствующие им адреса относительно начала исполняемого модуля в формате сегмент:смещение;
/tiny – скомпоновать программу типа COM.
Приведем пример командной строки запуска компоновщика LINK:
LINK LABRAB,LABRAB;
В данном примере происходит компоновка программы из файла LABRAB.OBJ, при этом создается исполняемый файл с именем LABRAB.EXE, Файл протокола компоновки не создается.
Все параметры из командной строки запуска компоновщика LINK могут быть помещены в так называемый файл автоматического ответа. Файл автоматического ответа имеет текстовый формат и его имя должно начинаться с символа @.
Если компоновщик LINK запускается без каких-либо параметров, то он переходит в диалоговый режим работы и предложит пользователю ввести с клавиатуры имена входных и выходных файлов: объектного файла, исполняемого файла, файла листинга (протокола) компоновки, файла библиотеки подпрограмм (если она необходима), файла с определениями (необязательный файл). После этого будет создан исполняемый файл. Указанная последовательность действий иллюстрируется следующим примером компоновки исполняемого файла с именем LABRAB.EXE:
Object Modules [.OBJ]: labrab
Run File [labrab.exe]:
List File [NUL.MAP]:
Libraries [.LIB]:
Definitions File [NUL.DEF]:
В прямоугольных скобках указаны имена файлов, предлагаемые компоновщиком по умолчанию, которые будут приняты после нажатия клавиши Enter. При компоновке нескольких файлов можно задать шаблон групповой операции с файлами или перечислить имена файлов через знак +. Если все имена исходных файлов не помещаются на одной строке, то ввод имен можно продолжить, поставив символ + в последнюю позицию текущей строки. Пользователь может отказаться от ввода имен файлов с помощью нажатия комбинации клавиш Ctrl+Break или Ctrl+C и тем самым прекратить работу компоновщика.
Программа ML.EXE интегрирует функции транслятора и компоновщика. Она позволяет последовательно выполнить процедуры компиляции и компоновки исходного файла либо выполнить только трансляцию исходного
88
файла, либо только компоновку исполняемой программы из объектного файла. Формат вызова программы ML:
ML[.EXE] [/parameters] filelist [/link linkoptions]
Параметры программы ML имеют следующий смысл:
/parameters – список переключателей, определяющих режим работы компилятора;
filelist – спецификация исходного (ASM) или объектного (OBJ) файла;
/link – переключатель, включающий этап компоновки исполняемой программы;
linkoptions – список переключателей, определяющих режимы работы компоновщика.
Приведем перечень основных переключателей программы ML: /Help или -? – вывести на дисплей краткой справочной информации; /AT – компоновать исполняемый файл в формате COM;
/C – выполнить только компиляцию программы;
/Cu – преобразовать все идентификаторы программы в символы верхнего регистра;
/Fpi – включить в исполняемый файл эмуляцию команд арифметического сопроцессора (если он отсутствует в компьютере);
/Ta<имя_файла> – определить имя исходного файла; /Fo<имя_файла> – определить имя объектного файла; /Fe<имя_файла> – определить имя исполняемого файла; /Fl<имя_файла> – определить имя файла листинга;
/Ipath – определить маршрут path для поиска файлов, включаемых в исходный текст программы;
/Sa – определить вывод протокола (листинга) в максимальном формате; /Sl<число> – определить количество позиций в строке распечатки исходного текста программы (целое положительное число из диапазона от 80
до 132, по умолчанию размер строки равен 80);
/Sp<число> – определить количество строк на листе (страницы) распечатки исходного текста программы (целое положительное число не менее 15, по умолчанию размер листа равен 63 строкам);
/St"заголовок", /Ss"подзаголовок" – определить соответственно заголовок и подзаголовок, выводимые на каждом листе распечатки текста программы. Ограничительные кавычки можно опустить, если параметр не содержит пробелы или символы табуляции. Параметру могут предшествовать пробелы;
/Zs – выполнить только синтаксическую проверку текста исходной программы;