Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » [2009] Большаков С.А. - Методическое пособие по выполнению ЛР по СП

[2009] Большаков С.А. - Методическое пособие по выполнению ЛР по СП (Всякие мелочи), страница 17

PDF-файл [2009] Большаков С.А. - Методическое пособие по выполнению ЛР по СП (Всякие мелочи), страница 17 Системное программирование (17501): Другое - 4 семестр[2009] Большаков С.А. - Методическое пособие по выполнению ЛР по СП (Всякие мелочи) - PDF, страница 17 (17501) - СтудИзба2018-01-09СтудИзба

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

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

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

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

При считывании кода клавиши проверяется первый байт. Значение первогобайта указывает на ввод печатного символа или ввод скан кода (key = 0). Подробно оскан-кодах смотрите в разделе пособия 19.5. SCAN – коды.Проверки в программе выполняются оператором if и условным выражением. Условное выражение (isgraph( key ) ? key : ' ') вставлено в вызов функции печати – printf.Функция isgraph проверяет признак печатного символа и отображает символ (key) или2009 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”82пробел Отмечу, что в блок-схеме эта логика отображается условным элементом, в программе вставлена в вызов функции.

Кстати, это одна из причин того, почему не всегдапрограммы сгенерированные автоматически являются эффективными и наглядными. После проверки завершения по ESC в программе выполняется запрос символа подтверждения и проверка его ввода. Для этого используются условный элемент блок-схемы.И последнее, с помощью элемента в кружочке (“A”) мы показываем, как сделатьразрыв линии связи. Это позволяет не тянуть связующую линию через всю страницу и избежать пересечения линий.

После выяснения того, является ли символ печатным или нет,мы должны перейти на проверку завершения цикла. Это делается с помощью добавленияэлемента с символом “А” в место проверки клавиши завершения.17.4. Оформление блок-схемы программыПри оформлении блок-схем нужно соблюдать формальные, визуальные и семантические правила. Формальные правила задаются языком блок-схем и изображением егоэлементов. Визуальные правила позволяют сделать блок-схему более наглядной.

Смысловые правила определяются алгоритмом конкретной задачи разработки программы. Перечислим основные правила:− Все элементы должны иметь точно такое число входов и выходов, которое определяется изображением элемента.− Должны существовать пути из начального элемента хотя бы в один конечный элемент.− Не должно быть элементов типа процесс с одним входом и без выхода.− Данные в блок-схемах не описываются.− Из элемента типа процесс не может быть более одного выхода.− Элементы блок-схемы должны занимать равномерно все пространство страницыили листа, на котором они располагаются.− Элементы должны иметь приблизительно равные размеры и одинаковое форматирование.− Расстояние между элементами должно быть по возможности одинаковым.− Элементы и линии связи не должны располагаться очень близко друг от друга.− Линии связи не должны пересекаться (только в порядке исключения).− Если линии связей не имеют стрелок, то направление стрелки подразумевается так:слева направо и снизу вверх.

Если возникают неоднозначности, то желательно использовать концевые стрелки.− Блоки в блок-схеме желательно пронумеровать, в этом случае удобнее создаватьописание блок-схем программ.− Толщина линий связи должна быть одинакова.− Блок-схема должна оформляться с помощью стандартных программ рисования, например MS VISIO или MS WORD.Нумерация блоков может быть выполнена различными способами. На рисунке ниже показаны варианты такой нумерации.52Процесс4. Печать0Условие12009 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”83Для описания блок схем очень удобно использовать программный продукт MSVISIO, причем можно воспользоваться любой версией программного продукта.

Рисункисделанные в VISIO можно легко вставить в документы MS, в частности MS WORD.Примечание. После вставки рисунка желательно выполнить две операции:− Выполнить форматирование объекта рисунка так, чтобы он раздвигал текст по горизонтали (выделить рисунок, формат объект =>Закладка Положение =>Кнопкадополнительно => Закладка Обтекание => Выбор Снизу и верху => ОК =>ОК ).− Выполнить привязку рисунка к абзацу. Абзац лучше выбрать над рисунком. (Включить режим просмотра непечатных знаков - π, выделить рисунок, переместитьякорь перед абзацем слева, формат объект =>Закладка Положение =>Кнопка дополнительно => Закладка Положение рисунка => Галочка установить привязку =>ОК =>ОК).

После этого на якоре появиться замочек. Рисунок будет перемещатьсявместе с абзацем. Нужно рассчитать так, чтобы и рисунок и абзац помещались наодной странице документа.Для рисования в VISIO нужно выбрать метрический шаблон объектов с названием“Basic Flowchart Shapes”. В этом шаблоне содержатся все необходимые объекты для рисования блок-схем.17.5.

Блок-схемы и описания данныхВ блок-схемах не предусмотрено элементов для описания данных. Это объясняетсятем, что блок-схема используется для описания действий (операторов), а описания переменных никаких действий в программе обычно не выполняют. Поэтому описание переменных, так называемая спецификация переменных программы производится отдельно.Лучше всего это сделать в отдельной таблице, в которой отображается: название и тип переменной, ее назначение и использование. Примером такой таблицы для программы вывода символов может быть следующая таблица:№Название1. LETТипDBНазначениеГде используетсяДля вывода символа В программе и процедуна экранре PUTCHПопытка описания данных в лабораторных работах и рейтингах будет расцениваться какошибка, и свидетельствовать о незнании правил написания блок схем и логики программ.2009 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”8418.

Макросы и их применение«Раздел находится в стадии проработки!!!”18.1. Назначение макросовМакрокоманды – это очень интересный механизм для разработки программ на языке Ассемблер. Макрокоманды или иначе макросы (на жаргоне программистов) обрабатываются на этапе компиляции и позволяют сделать программу более наглядной и обозримой. Макросы могут использоваться для создания собственного языка программированияиз команд, записанных пользователем. В программе на языке Ассемблер Вы можетевстретить:− Машинные команды,− Директивы Ассемблера− Макрокоманды и− Комментарии.Для использования макросов в программах на языке Ассемблер нужно:− Описать макрокоманды, дать определения макроса.− Выполнить вызов макрокоманды (макровызов)− Проверить правильность работы макрокоманды (проверить правильность генерации макрорасширения).Рассмотрим отдельно эти действия.18.2.

Описание макросовОписание макроса или макроопределение задается в следующем формате:<имя макроса> MACRO <список формальных параметров макросов>…<тело макрокоманды>…<имя макроса> ENDMТело макрокоманды состоит из обычных машинных команд, записанных в правилах синтаксиса Ассемблера, директив языка Ассемблер, команд включающих формальныепараметры макроса и специальных директив макрокоманд. Список формальных параметров описывается так:<список формальных параметров макросов>:=<формальный параметр>|, <список формальных параметров макросов ><формальный параметр>:= <имя параметра>Пример простой макрокоманды для печати символа на дисплей показан ниже:PUTCHAR MACRO SIMBOLPUSH AXPUSH DXMOV DL, SIMBOLMOV AH , 02HINT 021HPOP DXPOP AXPUTCHAR ENDMДанная макрокоманда сохраняет в стеке регистры AX и DX, выводит символ на дисплей ивосстанавливает значения регистров.

Хотя данная макрокоманда выглядит универсальной,2009 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”85при ее вызове возможны ошибки. Например, при задании в качестве параметра регистраАХ (например, макровызов – PUTCHAR AX) компилятор Ассемблера выдаст ошибку приобработке команды в макросе MOV DL, SIMBOL, так как размерности регистров не согласованы (DL – 1 байт и AX –два байта соответственно). Описания макрокоманд могутбыть сложными, из одной макрокоманды можно вызывать другие макрокоманды, создавая, таким образом, системы макрокоманд, которые могут в том числе подключаться избиблиотек.18.3.

Параметры макросов и макровызовыПараметры, задаваемые при описании макрокоманды (определении макрокоманды)называются формальными, а параметры, задаваемые при использовании макрокоманды(макровызове) называются фактическими. Вызов макрокоманды или макровызов задаетсятак:<имя макрокоманды> <список фактических параметров><список формальных параметров макросов>:=<формальный параметр>|, <список формальных параметров макросов ><формальный параметр>:= <имя параметра> | <пусто>Как видно из формального описания, при макровызове параметры могут быть пропущены, при этом запятая должна оставаться на месте. Вызов макрокоманды для предыдущего макроопределения может быть таким:PUTCHAR AL…PUTCHAR VAR…PUTCHAR ‘A’Если при вызове макрокоманды задается несколько параметров, то допускаетсяпропуск параметров:COMPARE VAR1, VAR2, VAR3…COMPARE VAR1, , VAR3…COMPARE , VAR2, VAR3…COMPARE VAR1, VAR2Если параметры при вызове опущены, то в самой макрокоманде нужно предусмотретьпроверку наличия конкретного фактического параметра, для чего используются специальные директивы условной компиляции.18.4.

Параметры по умолчаниюПри описании макрокоманды могут быть заданы значения параметров по умолчанию. Это выполняется следующим образом (в дополнение к формальному описанию заголовка макрокоманды):<формальный параметр>:= <имя параметра> |<имя параметра> = <значение по умолчанию> |<имя параметра> = REQТакая возможность существует не во всех макроассемблерах. Приведем пример:PUTCHAR MACRO SIMBOL=REQ , CR=<PER>В этом примере первый параметр является обязательным , а второй параметр имеет значение по умолчанию, которое используется в том случае, когда в макровызове параметр незадан.2009 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”8618.5.

МакрорасширенияПосле компиляции на место макровызова вставляются команды, полученные наоснове макрорасширения. Эти команды должны строго соответствовать синтаксису языкаАссемблер и логике работы программы. Макрорасширение вставляется автоматически иего можно увидеть в листинге программы. Для включения в листинг команд макрорасширения используются специальные директивы:− .LALL - получение в листинге всех макрорасширений− .SALL - подавление в листинге всех макрорасширений− .XALL – восстановление характеристик вывода листинга, заданного по умолчанию.− .LIST – включает печать исходного текста программы.− .XLIST – выключает всю печать исходного текста программы.Макрорасширения для наших примеров получим в виде:PUTCHAR AL1PUSH AX1PUSH DX1MOV DL, AL1MOV AH , 02H1INT 021H1POP DX1POP AXВ первой строке макрорасширения показан уровень расширения.

В нашем случае это “1”.Если в самой макрокоманде встречается другой макровызов, то эти строки макрорасширения будут помечены “2”, и так далее.PUTCHAR VAR1PUSH AX1PUSH DX1MOV DL, VAR1MOV AH , 02H1INT 021H1POP DX1POP AXВ этом случае в регистр DL заноситься переменнаяPUTCHAR AX1PUSH AX1PUSH DX1MOV DL, AX********* ERROR ***************1MOV AH , 02H1INT 021H1POP DX1POP AXКомпилятор фиксирует ошибку, так как регистры разной длины.PUTCHAR ’A’1PUSH AX1PUSH DX1MOV DL, ’A’1MOV AH , 02H1INT 021H1POP DX1POP AXВ последнем макрорасширении мы видим занесение в регистр константы.2009 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”8718.6.

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