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

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

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

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

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

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

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

Пример простейшей программыВ этом разделе мы предварительно рассмотрим простейшую (возможно, первуюдля Вас) программу на языке Ассемблер и все необходимые действия в режиме командной строки, которые нужно выполнить для получения исполнимой программы.Программа выводит на экран один символ (буква “А”) и корректно завершает работу. Программу будем готовить в режиме командной строки с использованием системыпрограммирования TASM (Turbo Assembles – СП можно найти на сайте). Для полученияготовой программы нужно выполнить следующие действия:− Подготовить исходный текст программы, для этого необходимо использовать любойтекстовый редактор, но ввод символов необходимо выполнять в формате ANSI илиASCII.

Рекомендую использовать программу ASM_ED.EXE – есть на сайте.− Выполнить компиляцию программы с помощью компилятора TASM и получить листинг программы.− Выполнить редактирование связей с помощью редактора связей TLINK.− Выполнить программу в режиме командной строки.− Проверить выполнение программы с помощью отладчика TD.2.1. Исходный текст программы на АссемблереВведем текст программы, расположенный ниже, и сохраним файл с названием“FIRST.ASM” в каталоге, где расположена система программирования TASM. Данныйфайл называется также исходным текстом программы, исходным модулем или ее “распечаткой”.

Ввод текста можно вводить в любом текстовом редакторе, даже в notepad, ноимейте в виду, что ввод для Ассемблера должен осуществляться однобайтовыми символами и должен включать служебные символы. Поэтому ввод текста в MS WORD недопустим. Обратите внимание, что в исходном тексте программы форматирование текста (пробелы перед строками) выполняет сам программист.MYCODE SEGMENT 'CODE'ASSUME CS:MYCODE, DS:MYCODELET DB 'A'START:; Загрузка сегментного регистра данных DSPUSH CSPOP DS; Вывод одного символа на экранMOV AH, 02MOV DL, LETINT 21H; Ожидание завершения программыMOV AH, 01HINT 021H; Выход из программыMOV AL, 0MOV AH, 4CHINT 21HMYCODE ENDSEND STARTВ нашем примере СП TASM располагается по адресу (в каталоге):C:\BORLANDC\TASM.2010 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”112.2.

Компиляция и листинг программ АссемблераДалее нужно перейти в режим командной строки и запустить программу на компиляцию:C:\BORLANDC\TASM>tasm.exe /l /zi /c first.asm↵Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland InternationalAssembling file:Error messages:Warning messages:Passes:Remaining memory:first.asmNoneNone1414kПримечание.

Символ “↵” не будет появляться на экране. Более подробно парамет-ры запуска компилятора TASM.EXE мы рассмотрим ниже.Если при компиляции обнаружены ошибки, например, Вы ошиблись в названиикоманды Ассемблера (я сознательно заменил в программе команду PUSH на командуPASH), то в поток командной строки будет выведено сообщение с номером строки текста,в которой была обнаружена ошибка и ее причина на английском языке (см. ниже – выделено жирным):C:\BORLANDC\TASM>tasm /l /zi first.asm↵Turbo Assembler Version 3.1 Copyright (c) 1988, 1992 Borland InternationalAssembling file:first.asm**Error** first.asm(6) Illegal instructionError messages:1Warning messages: NonePasses:1Remaining memory: 414kТекст сообщения об ошибке - “Illegal instruction” означает “недопустимаякоманда”.

Если при запуске компилятора задан параметр “/z”, то будет распечатана тастрока, в которой была обнаружена ошибка (см. ниже).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: 414kПараметр запуска компилятора “/l”, заставляет ассемблер сформировать специальный документ – листинг программы. Если не указано другого имени, листинг формируется с названием файла исходного текста программы и расширением - *.lst. Листинг форматируется компилятором Ассемблера и содержит много полезной информации для программиста (описание листинга смотри ниже).

Листинг, полученный в нашем случае будетиметь вид:Turbo AssemblerPage 1first.asmVersion 3.124/02/09 12:46:17122010 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”10000230000400015гистра данных DS60001700028ран9000310000511000A1213000C14000E15001016001217410E1FPUSH CSPOP DS; Вывод одного символа на эк-B4 022E: 8A 16CD 21MOV AH, 02MOV DL, LETINT 21H; Выход изпрограммыMOV AL, 0MOV AH, 4CHINT 21HMYCODE ENDSEND START0000rB0 00B4 4CCD 21Turbo AssemblerPage 2Symbol TableSymbol Name??DATE??FILENAME??TIME??VERSION@CPU@CURSEG@FILENAME@WORDSIZELETSTARTGroups & SegmentsMYCODEMYCODE SEGMENT 'CODE'ASSUMECS:MYCODE, DS:MYCODELET DB 'A'START:; Загрузкасегментного ре-Version 3.1Type24/02/09 12:46:17ValueText"24/02/09"Text"first"Text"12:46:17"Number 030AText0101HTextMYCODETextFIRSTText2ByteMYCODE:0000#3 10NearMYCODE:0001#4 17Bit Size Align Combine Class160012 ParanoneCODEВ листинге также фиксируются ошибки, причем в том месте, где их определилкомпилятор (Обращу Ваше внимание на то, что это совсем не обязательно то место, гдедействительно встретилась ошибка).

Фрагмент листинга с ошибкой:…5; Загрузкасегментного регистраданных DS6PASH CS**Error** first.asm(6) Illegal instruction70001 1FPOP DS8; Вывод одного символа на экран132010 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”….В конце листинга также дается перечень ошибок, которые были обнаружены…Error SummaryPASH CS**Error** first.asm(6) Illegal instructionРезультатом правильной работы компилятора будет формирование в текущем каталоге (у нас - C:\BORLANDC\TASM) объектного модуля с именем файла “FIRST.OBJ”.Проверить его наличие можно с помощью команды DIR, не выходя из режима команднойстроки. Например:C:\BORLANDC\TASM>dir first.obj↵Том в устройстве C имеет метку SYSTEMСерийный номер тома: D08B-21A4Содержимое папки C:\BORLANDC\TASM24.02.200913:23354 FIRST.OBJЕсли компиляция завершена с ошибками, то объектный модуль не формируется инужно вернуться к этапу синтаксической отладки исходного модуля.

После успешнойкомпиляции можно приступить к следующему этапу редактированию связей и созданиюисполнимого модуля.2.3. Редактирование связей и его результатыНа самом деле операция редактирования связей важна для многомодульных программ, то есть, программ, состоящих из нескольких объектных модулей. Но правила таковы, что даже для программ состоящих из одного модуля эту стадию опустить нельзя.Нужно также учитывать, что на этой стадии формируется исполнимый модуль программыв виде *.EXE или *.СОМ файлов. Для запуска редактирования связей нужно запуститьутилиту TLINK следующим образом:C:\BORLANDC\TASM>tlink.exe /v /l /m first.obj↵Turbo Link Version 5.1 Copyright (c) 1992 Borland InternationalWarning: No stackПримечание.

Символ “↵” не будет появляться на экране. Более подробно параметры запуска редактора связей TLINK.EXE мы рассмотрим ниже. Предупреждение“Warning: No stack ” выдается по причине отсутствие явного описания сегмента стека впрограмме на Ассемблере.При таком завершении редактора связей исполнимый модуль типа *.EXE будетпостроить, а его формирование можно проверить командой DIR. Например:C:\BORLANDC\TASM>dir first.exe↵Том в устройстве C имеет метку SYSTEMСерийный номер тома: D08B-21A4Содержимое папки C:\BORLANDC\TASM24.02.200914:20990 FIRST.EXEЕсли при редактировании возникают ошибки, то их содержание и место появляетсяна дисплее.C:\BORLANDC\TASM>tlink /v /l /m first↵Turbo Link Version 5.1 Copyright (c) 1992 Borland InternationalError: Undefined symbol VAR in module FIRST.ASMWarning: No stack2010 год 2 курс 4-й семестр Большаков С.А.“Системное программирование”14В этом случае команда обращается к внешней переменной (из другого модуля), нопри редактировании связей ссылка на нее не была найдена.

При редактировании связеймы можем получить специальный файл (*.map) содержащий информацию о редактировании и возможные ошибки. Такой файл создается при задании параметра “/m”. такой файлназывается картой редактирования (map) и играет большую роль при создании многомодульных программ и их отладки. Ниже приведен пример такого файла с включеннойошибкой.Start StopLength Name00000H 00016H 00017H MYCODEAddressPublics by NameAddressPublics by ValueClassCODELine numbers for first.obj(FIRST.ASM) segment MYCODE7 0000:00018 0000:000210 0000:00030000:000512 0000:000A14 0000:000C15 0000:00110000:001317 0000:0015Error: Undefined symbol VAR in module FIRST.ASMProgram entry point at 0000:0001Warning: No stack1116При правильном завершении редактирования связей ошибки должны отсутствовать:Start StopLength Name00000H 00016H 00017H MYCODEAddressPublics by NameAddressPublics by ValueClassCODELine numbers for first.obj(FIRST.ASM) segment MYCODE7 0000:00018 0000:000210 0000:00030000:000512 0000:000A14 0000:000C15 0000:00110000:001317 0000:0015Program entry point at 0000:0001Warning: No stack11162.4.

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