LAB3_SP2010 (1075945)
Текст из файла
9
2010 год 2 курс 4-й семестр Большаков С.А.Требования к ЛР 3-8 по курсу СП
II курс ИУ-5 (раздел языка Ассемблер)
-
Цели ЛР и общие положения их выполнения
Комплекс лабораторных работ (ЛР) по языку Ассемблер выполняется студентами для освоения языка, получения навыков разработки и отладки программ, изучения и использования компонентов системы программирования Ассемблер (компилятора, редактора связей, отладчика) и получения навыков оформления документации по программным разработкам.
Лабораторные работы взаимосвязаны друг с другом, поэтому их необходимо выполнять последовательно. Это позволяет значительно упростить задачу выполнения всего курса лабораторных работ. При этом в новую работу могут быть успешно включены результаты и отлаженные фрагменты из предыдущей работы. Кроме того, Самостоятельное выполнение цикла лабораторных работ позволит студентам успешнее справиться с заданием на курсовую работу следующего семестра по дисциплине “Системное программирование” (5-й семестр).
При выполнении лабораторных работ студенты могут их выполнять с учетом только основных требований и с учетом дополнительных требований. Выполнение дополнительных требований фиксируется в журнале приема ЛР и отражается в дифференцированной оценке по дисциплине на экзамене.
Студенты выполняют работы с использованием систем программирования Ассемблера, предоставленных преподавателем (все программные системы можно скачать с кафедрального сайта или переписать у преподавателя). Можно использовать разные версии систем программирования (СП): TASM, MASM и QC. Использование QC, на мой взгляд, является предпочтительным (описано в пособие по курсу), так как это интегрированная оболочка, включающая текстовый редактор, компилятор, справочную подсистему, редактор связей и отладчик. Это в свою очередь обеспечивает более оперативную и эффективную работу студента по разработке программ и освоению дисциплины. В процессе выполнения лабораторных работ студенты должны использовать и освоить отладчик (в QC он входит как интегрированная компонента). На сайте вы найдете краткое описание QC в текстовом формате. Кроме того, в состав СП входит электронный учебник для первоначального знакомства с этой системой программирования (В каталоге TUTORIAL программа learm.com).
Особенности технологии работы в системах программирования для языка Ассемблера изложены в приложении к данному документу. Много информации и справочных данных Вы найдете в книгах, размещенных на сайте, и в методическом пособии к выполнению лабораторных работ. Для выполнения ЛР 3-8 нужно освоить следующие разделы методического пособия: 1, 2, 3, 7, 10, 15, 17.
-
Содержание ЛР и общие требования к ЛР 3-8
Лабораторные работы выполняются в дисплейном зале под руководством преподавателя. Для успешного выполнения каждой лабораторной работы и получения зачета ее отработки студенты обязаны:
-
Предварительно подготовиться к выполнению данной работы: прочитать методические указания к ЛР, задание и освоить необходимые разделы методического пособия.
-
Выполнить задание на ЛР, продемонстрировав преподавателю его результат. При выполнении задания преподаватели обязаны консультировать студентов по любым вопросам, которые связанны с данной лабораторной работой.
-
Оформить отчет, подготовить ответы на контрольные вопросы и защитить работу. Допускается оформление отчета и ее защита во время самостоятельной подготовки. Защита должна быть выполнена не позже следующих часов лабораторных занятий по расписанию.
Порядок работы. Студенты разрабатывают программу на языке Ассемблер по заданию ЛР, выполняют следующие действия (порядок выполнения работы):
-
Знакомятся и осмысливают задание на ЛР.
-
Разрабатываю алгоритм реализации задачи (блок-схема программы можно оформить в MS VISIO или на листе бумаги).
-
Выполняют написание текста программы на языке Ассемблер и вводят его в отдельном текстовом редакторе (можно использовать ASM_ED.EXE – есть на сайте) или интегрированной оболочке (например, в QC).
-
Выполняют отладку программы в отладчике, демонстрирую преподавателю умение работать в отладчике, выполняя различные действия (выполнение по шагам, просмотр данных и т.д.).
-
Формируют исполнимый модуль программы заданного типа (COM или EXE).
-
Демонстрируют преподавателю работоспособную программу.
-
По требованию преподавателя вносят изменения в программу и демонстрируют знание действий необходимых для создания исполнимого модуля (это предварительная сдача ЛР).
-
Оформляют отчет по данной лабораторной работе в соответствии с требованиями приведенными ниже.
-
На основе отчета по ЛР (распечатанного) выполняют защиту ЛР у преподавателя, после чего в журнале отмечается: срок сдачи ЛР, срок защиты ЛР, оценка за защиту данной ЛР и выполнение дополнительных требований к ЛР. На защите задаются вопросы, перечисленные в разделе “Контрольные вопросы по ЛР” и вопросы по листингу программы (отметьте, не по тексту программы).
Работа считается выполненной полностью и в срок, если студент полностью сдал и защитил ЛР в срок. Если студент сделал работу с дополнительными требованиями, то это обязательно отражается в журнале ЛР и учитывается в оценке при подведении итогов семестра по данной дисциплине и на экзамене. Если студент выполнил все ЛР с дополнительными требованиями и получил отметки не ниже “хорошо”, то на экзамене он освобождается от решения задачи (задачи на экзамене заключаются в написании процедуры на языке Ассемблер или командного файла). Данное требование является действующим, если не все отметки всех студентов являются пятерками.
Если преподаватель обнаруживает, что программа и отчет по ней сделаны несамостоятельно (проще - списаны), то он отмечает данный факт в журнале, а на экзамене в этом случае задаются дополнительные вопросы по лабораторным работам, методическому пособию и материалам лекций.
-
Общие требования и замечания к ЛР по языку Ассемблер
Данные требования относятся к 3, 4, 5, 6, 7, 8 и 9 ЛР по дисциплине системное программирование, выполняемые в виде относительно простых и взаимосвязанных программ на языке Ассемблер (следующая программа может быть разработана на основе предыдущей с соответствующими добавлениями или исключениями). Важной частью работы является оформление отчета по ЛР. Нужно учитывать, что время необходимое на грамотное оформление отчета может быть соизмеримо со временем разработки и отладки программы. Требования к оформлению отчета и проведения работы приведены ниже в данном документе.
Общие требования к ЛР заключаются в следующем:
-
Блок-схемы программ оформляются в MS WORD или MS VISIO (предпочтительнее), для чего используется специальный набор объектов и связей.
-
Если студенты используют процедуры, блок-схемы которых уже были оформлены в ЛР с более низким номером (а это возможно и даже необходимо), то допускается не дублировать оформление этих блок-схем в новых отчетах.
-
Даты сдаваемых программ (*.com или *.exe) и распечаток программ должны соответствовать датам сдачи ЛР в семестре.
-
При защите отчета по ЛР студент должен иметь в наличии на внешнем носителе (дискета, карта памяти, CD и т.д.): исходный текст программы, работающую программу в загрузочном виде, отчет в электронном формате MS WORD.
-
На титульном листе отчета должно быть отмечено, что работа выполнена с дополнительными требованиями или без них.
-
В отчете должен содержаться листинг программы, формируемый компилятором Ассемблера, а не исходный текст программы. В противном случае отчет считается оформленным неправильно и защита не проводиться.
-
Студент должен свободно ориентироваться в отчете и листинге программы и быстро находить место выполнения действий и команд, указанных преподавателем.
-
Не следует комментировать каждую строку программы, такой вариант комментирования считается подсказкой и может привести к заданию дополнительных вопросов. Традиционно комментарии отмечают выполнение действий, связанных с группами команд, выделяемых в блок-схемах. Блок-схема тоже не должна быть очень детализирована.
-
Студент должен владеть знаниями по использованию отладчика и продемонстрировать их при сдаче и защите ЛР.
-
Работы выполняются индивидуально, каждый студент имеет отдельной результат, и самостоятельно.
-
Лабораторная работа № 3. (Вывод трех символов)- 2010
Задание на ЛР: Разработать и отладить программу на языке Ассемблер для вывода на экран дисплея трех первых заглавных латинских букв (A,B,C), на трех отдельных строках дисплея подряд (программируется перевод строки и возврат каретки!). Работа выполняется в режиме командной строки (допускается использование файловых менеджеров). В процессе работы студент учиться вводить исходный текст программы, выполнять ее компиляцию, редактирование связей и компоновать исполнимый модуль программы. При выполнении работы необходимо обязательно использовать и освоить отладчик Ассемблера (TD или QC).
После завершения вывода букв на экран организовать ожидание ввода любого символа с клавиатуры (нажатие клавиши). Для оформления отчета студент должен найти способ для вывода результата работы программы в текстовый файл.
Примечание 1: Программе должны быть задействованы подфункции: 1h, 2h, 4Ch (в регистре AH) прерывания 021h. Смотрите справочники и раздел №2 методического пособия по ЛР.
Примечание 2: Простой запуск на компиляцию, редактирование связей, отладку программы рассмотрен в разделе № 2 методического пособия.
Обязательные требования к ЛР: Необходимо использовать процедуры при разработке программы. Предусмотреть три процедуры: для ввода символа (1-я процедура - GETCH – название процедуры ввода символа желательно взять такое название), для вывода одного символа (2-я процедура - PUTCH) и для перевода строки с возвратом каретки (3-я процедура - CLRF) на дисплее (оформление процедур - PROC - ENDP, вызов процедур - CALL). После вывода букв программа переходит в состояние ожидания нажатия любой клавиши. Выход из программы осуществить посредством прерывания 21H - 04CH.
Примечание 3: Во всех ЛР не разрешается использовать системные макрокоманды и псевдооператоры для оформления сегментов (команды типа – model, .data, .code и др.). Оформление сегментов выполняется псевдооператорами: SEGMENT, ENDS и ASSUME.
Примечание 4: На первом этапе можно создать и отладить простую программу без процедур для вывода одного символа (раздел №2 пособия). Затем можно преобразовать программу в вариант с процедурами.
Примечание 5: Оформление и использование процедур в программе рассмотрено в разделе № 10 методического пособия.
Примечание 6: Более детальное описание технологии подготовки программы рассмотрено в разделе № 3 методического пособия.
Примечание 7: Перевод строки и возврат каретки осуществляется выводом на дисплей специальных кодов, которые нужно найти в электронном справочнике.
Дополнительные требования к ЛР № 3: В программе организовать очистку экрана до начала вывода символов, а также после завершения работы программы. Очистка экрана должна выполняться отдельной процедурой на языке Ассемблер (CLRSCR). Очистка экрана должна быть выполнена без организации циклов вывода символов с помощью прерывания. При полнении дополнительных требования в тексте программы добавляется специальный комментарий, подтверждающий выполнение дополнительных команд и операций.
Контрольные вопросы по 3-й ЛР:
-
"Для чего нужна данная команда?". Для строки листинга указанной преподавателем?
-
Какие основные функции выполняет отладчик?
-
Какие основные режимы выполнения программы в режиме отладки Вы знаете?
-
Зачем нужен компилятор ассемблера?
-
Как можно получить информацию о режимах работы компилятора в командной строке?
-
Зачем нужен редактор связей в СП?
-
Как можно получить информацию о режимах работы редактора связей в командной строке?
-
Что нужно сделать для создания программы в формате .COM - исполнимого файла?
-
Как задаются параметры процедуры на Ассемблере и как вызываются процедуры?
-
Что такое стек? Какие команды работы со стеком Вы знаете?
-
Поясните машинное представление команды Ассемблера, указанной преподавателем по листингу (в левой колонке листинга).
-
Какой отладчик вы применяли в работе? Какие режимы отладки Вы знаете?
-
Как можно получить информацию о режимах работы отладчика в командной строке?
-
Вопрос по меню QC 2.5 и опциям компилятора TASM (в зависимости от используемой в ЛР системы программирования).
-
Какое прерывание используется для вывода одного символа на экран?
-
Какое прерывание используется для ввода одного символа с клавиатуры?
-
Какое прерывание используется для корректного завершения программы?
-
Какой командой выполняется вызов процедуры?
-
Что происходит с регистрами IP, SS и стеком при коротком (NEAR) вызове процедуры? Показать в отладчике.
-
Что происходит с регистрами IP, SS и стеком при выполнении команды RET для возврата из процедуры. Показать в отладчике.
-
Какие возможности и операции есть у отладчика при выполнении программ?
-
Как в Ассемблере оформляются и вызываются процедуры?
-
Как в процедуру можно передать параметры и возвратить результат из нее?
-
Какие коды используются для перевода строки и возврата каретки на дисплее?
-
Общие требования к ЛР по языку Ассемблера :
-
Программа должна быть скомпонована в виде .COM файла (исключая 6-ю ЛР).
-
Программа должна быть снабжена комментариями для пояснения ее работы, интерфейса процедур и логики работы. Комментарии не должны (!) сопровождать каждую строку, нужно выделять блоки программы (как на блок-схеме), процедуры и их параметры.
-
Дополнительные требования к ЛР не являются обязательными, но учитываются при защите ЛР, рейтингах и при проведении экзамена и зачета по курсу.
-
Блок-схема в отчетах должна учитывать все связи и процедуры программы, она составляется на достаточно детальном уровне, но не до уровня каждой команды. Для оформления блок-схем используются обозначения предложенные в разделе № 17 методического пособия.
-
Каждая программа снабжается заголовком ( Псевдооператор TITLE), в котором указывается: группа, № лабораторной работы, группа и ФИО студента.
-
При защите ЛР студент должен объяснить назначение и выполняемые действия любого фрагмента собственной программы по листингу программы.
-
При выполнении лабораторных работ студенты должны использовать отладчик (либо TD, либо интегрированный отладчик в QC). Необходимо знать все основные операции для отладки и все данные, которые можно просмотреть в процессе отладки. Использование различных отладчиков поясняется в разделе № 3.4 методического пособия.
-
Студент должен хорошо разбираться в листинге программы и своем отчете по ЛР.
-
Студент должен уметь эффективно работать с отладчиками для Ассемблера.
-
Студент обязан разработать и отладить программу самостоятельно!
-
Требования к отчету по ЛР :
По ЛР защищается по предоставлению работающей программы (на дискете) и отчета (на бумажном носителе). Требования к отчету:
-
Отчет выполняется в текстовом редакторе MS WORD.
-
Титульный лист обязательно должен присутствовать. (Смотри образец ниже в конце этого документа).
-
Кратко - Задание на ЛР.
-
Перечень собственных ошибок зафиксированных при отладке. В отчете должны быть выделены не менее 3-х собственных ошибок.
-
Блок-схема алгоритма программы (в рукописном или машинном оформлении – MS VISIO). Блок-схемы процедур, повторяющихся в ЛР со старшими номерами можно не приводить.
-
Распечатка листинга программы в формате Ассемблера (.LST). Только в этом формате.
-
Распечатка результатов работы программы. Можно посредством перенаправления потока (>>) в файл, можно с помощью распечатки экрана или использованием копировщика экрана (ScrCapture) и др., но не вручную в WORD!
-
Для распечатки отчетов может быть использована двухсторонняя печать или печать двух страниц на одном листе (для экономии бумаги).
-
Общие контрольные вопросы к лабораторным работам по Ассемблеру
-
Необходимо хорошо ориентироваться в листинге программы. Быть готовым ответить на вопрос: "Для чего нужна данная команда?" для любой строки листинга.
-
Какие основные функции выполняет отладчик?
-
Какие основные режимы выполнения программы в режиме отладки Вы знаете?
-
Зачем нужен компилятор и его настройки?
-
Зачем нужен редактор связей и его настройки?
-
Что необходимо сделать для создания программы в формате .COM – исполнимого файла?
-
Чем отличаются форматы *.com и *.exe?
-
Как задаются параметры процедуры на Ассемблере и как вызываются процедуры?
-
Что такое стек, и какие команды работы со стеком Вы знаете?
-
Сроки представления и защиты заданий по курсу:
1 ЛР - 4 неделя семестра (справочники)
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.