Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Методическое пособие для выполнения лабораторных работ и КР

Методическое пособие для выполнения лабораторных работ и КР, страница 6

PDF-файл Методическое пособие для выполнения лабораторных работ и КР, страница 6 Системное программирование (17500): Книга - 4 семестрМетодическое пособие для выполнения лабораторных работ и КР: Системное программирование - PDF, страница 6 (17500) - СтудИзба2018-01-09СтудИзба

Описание файла

PDF-файл из архива "Методическое пособие для выполнения лабораторных работ и КР", который расположен в категории "". Всё это находится в предмете "системное программирование" из 4 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "системное программирование" в общих файлах.

Просмотр PDF-файла онлайн

Текст 6 страницы из PDF

Этипараметры мы рассмотрим ниже.При запуске компилятора в интегрированной оболочке QC25 необходимо выбратьглавный пункт меню “Make” и подпункт “Compile File”. Выход в основное меню выполняется клавишами “Alt+M”, а запуск на компиляцию после этого может быть выполненкомбинацией клавиш “Alt+C”. На рисунке, размещенном ниже, это показано.В процессе компиляции могут быть обнаружены ошибки (Errors) и предупреждения (Warning). Сообщения о них размещаются: на дисплее, в листинге программы или вспециальном окне системы программирования.

Если при запуске компилятора задан параметр “/z”, то будет распечатана та строка, в которой была обнаружена ошибка (см. ниже). В этом примере я сознательно внес ошибку в команду “PUSH CS” => “PASH CS”,Команды “PASH” нет в языке Ассемблера.

На экран в командной строке появитьсяследующее сообщение (оператор и диагностические сообщения выделены жирным текстом):C:\BORLANDC\TASM>tasm /z /zi /l first.asm↵Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland InternationalAssembling file:first.asmPASH CS**Error** first.asm(6) Illegal instructionError messages:1Warning messages: NonePasses:1Remaining memory: 414k2010 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”20При работе в среде оболочки QC25 диагностические сообщения появляются вотдельеом окне, а строка исходного текста выделяется цветом (у нас зеленым).При выделении конкретной ошибки, а их при компиляции может быть обнаруженонесколько, выделяется только тот оператор, при ассемблировании которого даннаяошибки была обнаружена (Отмечу, что, к сожалению, эта строка не всегда совпадает сдействительным местом ошибки – вспомните отсутвие “;” в конце оператора на СИ).При компиляции выдаютмя предупреждения, которые требуют вниманияпрограммиста, но не обязательно являются ошибками.

Уровень (степень серьезности)предупреждений, формируемых компиляторами может быть установлен специальнымипараметрами режимами. Для TASM эти параметры имеют следующий вид:/w0, /w1, /w2 - формирование компилятором уровня предупреждений: w0=нет, w1=w2=включены/w-xxx, /w+xxx Отключить (-) или назначить (+) предупреждения с номером xxxПри запуске компилятора программы с предупреждениями мы получим:Assembling file:first.asmLET2 DB*Warning* first.asm(4) Missing operand - trailing ? assumedError messages:NoneWarning messages: 1В данном примере переменная LET2 (я специально ввел эту строку с ошибкой) неимеет начального значения (она не инициализирована). Компилятор формирует предупреждение (*Warning* - выделено жирным шрифтом), но компиляцию завершает успешно.

Число предупреждений указывается в последней строке. Уровень выдачи сообщенийАссемблера в QC25 настраивается в специальном окне настроек компилятора.2010 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”21Для этого нужно в главном меню выбрать пункт “Options” затем подпункт “Make”и в окне позицию “Assembler Flags”. Установка режимов “Warn Level” в нужную позицию позволяет задать требуемый уровень предупреждений. Отметим также, что в этомокне могут быть выполнены и другие настройки компилятора, например, включение иливыключение режима формирования листинга Ассемблера.О листинге программы и его составляющих речь пойдет ниже.

Здесь мы только отметим, что компилятор формирует листинг Ассемблера в отдельный файл, который можно просмотреть в обычном текстовом редакторе и распечатать при необходимости.Пример листинга нашей простейшей программы приведен ниже:Turbo Assemblerfirst.asm12345данных DS67891011121314151617Version 3.10000Page 1MYCODE SEGMENT 'CODE'ASSUMECS:MYCODE, DS:MYCODELET DB 'A'START:; Загрузкасегментногорегистра0000000141000100020E1F00030005000AB4 022E: 8A 16CD 21000C000E00100012B0 00B4 4CCD 21Turbo AssemblerSymbol Table24/02/09 12:46:17PUSH CSPOP DS; Вывод одного символа на экранMOV AH, 020000rMOV DL, LETINT 21H; Выход изпрограммыMOV AL, 0MOV AH, 4CHINT 21HMYCODE ENDSEND STARTVersion 3.1Symbol NameType??DATE??FILENAME??TIMEText24/02/09 12:46:17ValueText"24/02/09""first"Text"12:46:17"Page 2222010 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”??VERSIONNumber 030A@CPUText0101H@CURSEGTextMYCODE@FILENAMETextFIRST@WORDSIZEText2LETByteMYCODE:0000STARTNearMYCODE:0001Groups & SegmentsMYCODEBit Size Align16 0012 Para#4#317Combinenone10ClassCODEЛистинг программы условно разделен на четыре части (я условно разделил их цветом заполнения): заголовок, текст программы, таблица переменных и описание сегментов.В заголовке (Turbo AssemblerVersion 3.1) указывается версия компилятора идата компиляции.В часть текста программы помимо операторов программы включено: имя компилируемого модуля (первая строка - first.asm), номера строк после компиляции (первая колонка), смещение операторов и данных в оперативной памяти, вычисленное с учетомдлинны команд и данных (вторая колонка) и машинное представление команд и данных(третья колонка).

Эта информация очень полезна для программиста при отладке.В таблицу переменных включаются: имена переменных и меток программы (у насэто LET и START) с указанием сегмента и смещения в программе. Кроме того здесь выделены предопределенные переменные, которые доступны в программе (такие как -@CPU ,@FILENAME и другие).В части описания сегментов дается описание сегментов программы и их свойств (внашем случае сегмент - MYCODE). Наш сегмент имеет размер 12 байт, Выровнен на границу параграфа (Para – 16 байт) и входит в класс CODE.Листинг Ассемблера в QC25 также формируется и может быть просмотрен в отдельном окне, сохранен в виде файла и распечатан. Для доступа к листингу нужно в главном меню выбрать позицию “View” “Show Listing…”. После этого в окне редактированиямы можем наблюдать листинг программы, полученный после компиляции.Данный документ может быть сохранен в виде отдельного файла или распечатан.Нужно иметь виду, что процедуры распечатки настроены на версии ДОС и, скорее всего,на матричные принтеры, которые уже вышли из употребления, поэтому желательно сохранить данный листинг в файл, выполнить процедуру перекодировки (см.

выше) и затемраспечатывать.2010 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”233.3. Запуск на редактирование связей программы АссемблераВторой фазой создания программы является редактирование связей между модулями. Иногда этот процесс называют редактирование внешних связей. Данная операцияпоказана на рисунке, расположенном выше. Основной смысл такой операции заключаетсяв объединении множества объектных модулей в единый исполнимый модуль и контроль“разрешения/раскрытия” внешних ссылок/связей. Под внешними ссылками мы понимаемследующее:− Один объектный модуль напрямую использует данные (переменные) из другогообъектного модуля.

В этом случае он должен знать адрес этой переменной в общемисполнимом модуле и тип данных, который ей соответствует.− Один объектный модуль вызывает процедуру из другого объектного модуля. Вэтом случае он должен знать адрес этой процедуры в общем исполнимом модуле испособ ее вызова.Для выполнения редактирования связей могут быть использованы следующие программные компоненты, в зависимости от выбранной системы программирования:TLINK.EXE (TASM), LINK.EXE (MASM) и QLINK.EXE (QC25). В интегрированной оболочке QC25 редактор связей вызывается неявно на основе параметров, настроенных вспециальном окне.Запуск редактора связей (или, по-другому, компоновщика) в системе программирования TASM основан на следующих правилах:>TLINK[.EXE][<множестворежимов>]<списокобъектныхмодулей>[,<исполнимый модуль>] [,<карта связей>] [,<список библиотек>]Где:− TLINK[.EXE] – название исполнимого модуля редактора связей.

При непосредственном запуске и при запуске из командного файла путь к модулю должен бытьопределен.− <множество режимов> - множество режимов - параметров работы редактора связей, разделенных пробелами. Каждый режим начинается служебным символом ‘/’ иимеет символьное значение.− <список объектных модулей> - перечень объектных модулей, подлежащих включению в общий исполнимый модуль.

Имена файлов модулей должны разделятьсяпробелами. Для указания большого числа модулей может быть указан текстовыйфайл подсказки, имени которого должен предшествовать символ “@”. Например:@mod_list.rsp, содержащий перечень редактируемых объектных модулей. Данныйфайл может иметь следующее содержание:/t +mod1.obj mod2.obl +mod3.obj +mod4.objПримечание: знак “+” используется для продолжения списка на следующуюстроку. Отметим также, что длина командной строки не может превышать 128символов, а при редактировании сложных проектов число модулей может бытьбольшим, поэтому трудно обойтись без таких файлов.

Обратим внимание также нато, что данный список не может быть пустым, хотя бы один объектный модульдолжен быть использован для создания исполнимого модуля. В файл подсказкидопускается включать также режимы настройки редактора связей и другие параметры.− <исполнимый модуль> - имя исполнимого модуля, создаваемого компоновщиком.Если этот параметр не указан, то имя исполнимого модуля задается на основе пер-2010 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”24вого объектного модуля в списке, а его расширение зависит от режима редактирования: “.COM” для параметра “/t” и “.EXE” в других случаях.− <карта связей> - имя создаваемого специального текстового файла (.МАР) содержащего результаты процесса редактирования связей.

Компоновщик создает такойфайл, если указан параметр ‘/m’.− <список библиотек> - перечень библиотек объектных модулей, их которых автоматически должны выбираться объектные модули для разрешения недостающихмодулей при разрешении внешних связей. Библиотеки могут быть стандартными ипользовательскими. Библиотеки друг от друга разделяются пробелами. При подключении модулей из библиотек не должны возникать неоднозначности (одинаковые внешние имена в различных подключаемых модулях). Вместо списка библиотек, как и в случае со списком объектных моделей, может быть использован файлподсказки (Например: @list_lib.txt), правила, записи которого аналогичны. Допускается использование нескольких файлов подсказки одновременно при одном запуске редактора связей.Пример запуска TLINK из командной строки выполняется так (на примере системыпрограммирования TASM):C:\BORLANDC\TASM>tlink.exe /v /l /m first.obj , first.exe , first.map↵Здесь в строке запуска редактора связей введены: имя исполнимого модуля компоновщика (tlink.exe), настройки-режимы редактора связей (/v /l /m) и имя модуля подлежащего редактированию (в нашем случае - first.obj), имя создаваемого исполнимого модуля (в нашем случае - first.exe) и имя файла карты памяти (first.map).При успешном редактировании связей создается исполнимый модуль, а на экранформируются следующие сообщения:C:\BORLANDC\TASM>tlink.exe /v /l /m first.obj , first.exe , first.map↵Turbo Link Version 5.1 Copyright (c) 1992 Borland InternationalWarning: No stackВ первой строке указывается версия редактора связей, используемая в нашем случае (Turbo Link Version 5.1 …), а во второй строке выдается предупреждение (Warning)о том, что явно в программе не объявлен сегмент стека, он будет использован по – умолчанию.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее