Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Институт информационных технологий




МИНИСТЕРСТВО ОБРНАУКИ РОССИИ

ФГБОУ ВПО «ЧЕРЕПОВЕЦКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Институт информационных технологий

 


Кафедра математического и программного обеспечения ЭВМ

 

 

УКАЗАНИЯ К ВЫПОЛНЕНИЮ ЛАБОРАТОРНЫХ РАБОТ ПО ДИСЦИПЛИНЕ

«СИСТЕМНОЕ ПРОГРАММИРОВАНИЕ»

Учебно-методическое пособие

 

Направления подготовки бакалавров:

09. 03. 01 – Информатика и вычислительная техника

09. 03. 02 – Информационные системы и технологии

09. 03. 04 – Программная инженерия 

 

ЧЕРЕПОВЕЦ

 

Рассмотрено на заседании кафедры математического и программного обеспечения ЭВМ, протокол № 2 от 23 сентября 2013 г.

Одобрено учебно-методической комиссией Института информационных технологий ФГБОУ ВПО ЧГУ, протокол № 2 от 03. 10. 2013 г.

 

Составители:  к. т. н. Л. Н. Виноградова  

 

 

Рецензенты:  А. Л. Смыслова,  канд. техн. наук, доцент (ФГБОУ ВПО ЧГУ);  Ю. В. Веселов,  канд. техн. наук (ООО «Северсталь-инфоком Софт»)

 

 

Научный редактор: Е. В. Ершов,  докт. техн. наук, профессор

 

 

                                               

                                                © ФГБОУ ВПО  «Череповецкий  государст-

                                                                      венный университет», 2013

 

ВВЕДЕНИЕ

 

Данное учебно-методическое пособие содержит описание и порядок выполнения лабораторных работ по дисциплине " Системное программирование" и предназначено для изучения и практического освоения студентами УГСН 230000 языка низкого уровня Ассемблер.

Задания выполняются на IBM-совместимых персональных компьютерах типа PC, управляемых операционной системой WINDOWS 9x/2000/NT/XP.

Порядок выполнения лабораторной работы: ознакомиться с целью, теоретическим материалом и заданиями к работе, выполнить задания, ответить на контрольные вопросы.

После окончания работы студент оформляет отчет, который должен содержать следующее: титульный лист, цель работы, формулировку заданий, блок-схему алгоритма решения задачи, текст программы, описание набора тестовых данных, полученные результаты и выводы по работе.

Отчет представляется преподавателю для защиты лабораторной работы.

При выполнении лабораторных работ в компьютерном классе необходимо соблюдать общие правила техники безопасности.

 

 

I. Общие теоретические положения 

Средства компиляции программ на ассемблере и

примеры их использования

    Для компиляции программ, написанных на языке ассемблера, используются следующие программы:

1. транслятор Turbo Assembler (исполнительный файл TASM. EXE);

2. компоновщик Turbo Linker (исполнительный файл TLINK. EXE).

Транслятор выполняет ассемблирование программы – транслирует команды процессора в машинный объектный код и генерирует OBJ-модуль. Формат OBJ-модуля уже приближен к исполнительной форме, но еще не готов к выполнению. На этапе ассемблирования транслятором могут выдаваться ошибки и предупреждения. Появление ошибки прекращает работу транслятора и OBJ-модуль не генерируется – необходимо устранить ошибку и провести повторное ассемблирование программы. Предупреждения не прекращают работу транслятора, OBJ-модуль генерируется, но программа может выполняться некорректно из-за наличия каких-то логических ошибок в ней, на что и указывают предупреждения.

Компоновщик выполняет преобразование OBJ-модуля в исполнительный файл COM или EXE. Различие между этими файлами будет рассмотрено ниже. При использовании компоновщика имеется возможность объединить несколько OBJ-модулей в один исполнительный файл. Этот прием обычно используется при написании больших программ, состоящих из нескольких программных модулей. Также на этапе компоновки есть возможность подключить к программе какие-либо библиотеки.

Процесс подготовки программы к выполнению включает в себя ассемблирование программы с помощью транслятора Turbo Assembler и дальнейшую компоновку с помощью компоновщика Turbo Linker.

 

 

Исполнительный файл типа COM

    В исполнительном файле типа COM можно разместить только один физический сегмент. Поэтому при написании COM программы все команды и данные должны находиться в одном программном сегменте. При выполнении программы в единственном физическом сегменте располагается и стек. Стек «растет» сверху вниз – с конца физического сегмента к его началу. Размер программного сегмента с учетом возможного размера стека не должен превышать 64 Кб. В противном случае стек программы «налезет» на коды команд и данные, что может привести к некорректной работе программы. Размер COM файла не превышает 64 Кб, и в нем содержатся только машинные коды процессора и данные программы. Коды и данные физического сегмента COM файла размещаются не с нулевого смещения, а со смещения 100h (256 в десятичной с/с). С нулевого смещения располагается специальная структура данных объемом 256 байт, называемая префиксом программного сегмента. Обращение к данным и меткам в программе должно выполняться по сумме смещения переменной или метки и числа 256. Для этого служит директива ORG, задающая число, которое будет прибавляться ко всем смещениям, используемым для обращения к переменным и меткам программы. Это число используется только для прямой адресации, т. е. При обращении к переменным с непосредственным указанием их адресов. Формат директивы ORG следующий:

ORG < число>

Директива ORG указывается в программном сегменте перед первой командой или меткой. Пример программы типа COM:

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...