Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по ВМСиС.doc
Скачиваний:
25
Добавлен:
05.06.2015
Размер:
2.31 Mб
Скачать

Содержание отчета

Для защиты лабораторной работы каждым студентом должен быть написан отчет о лабораторной работе, оформленный в отдельной тетради для лабораторных работ по курсу «Вычислительные машины, системы и сети», включающий тему, цель работы и содержащий следующие пункты:

  1. Общие сведения о числах формата BCD.

  2. Сведения о способе хранения отрицательных чисел в компьютере.

  3. Задания на занятие.

  4. Алгоритм работы программы (блок-схема или словесное описание).

  5. Листинг программы (смысловая часть).

  6. Результаты тестов по программам negativ1.exeиnegativ2.exe.

  7. Ответ на контрольный вопрос.

Контрольные вопросы

  1. Как хранятся в компьютере отрицательные числа?

  2. Укажите последовательность действий для преобразования отрицательного числа в двоичный вид.

  3. Укажите последовательность действий для преобразования отрицательного двоичного числа в десятичный вид.

  4. Что такое BCD-формат?

  5. Для чего нужны числа, представленные в BCD-формате?

  6. Чем отличаются упакованный и неупакованный BCD-формат?

Задание на занятие

  1. Написать программу, выводящую отрицательные числа двухбайтовым шестнадцатеричным представлением.

    1. десятичные числа, в диапазоне от –32 768 до –1, вводятся с клавиатуры;

    2. для вывода чисел можно использовать строку формата “%x”.

  2. Написать программу, выводящую отрицательные числа восьмибитовым двоичным представлением. Десятичные числа, в диапазоне от ‑127 до ‑1, вводятся с клавиатуры;

  3. Выполнить тест перевода отрицательных десятичных чисел в двоичный вид (negativ1.exe) и тест перевода отрицательных двоичных чисел в десятичный вид (negativ2.exe). Результаты тестов предъявить преподавателю и переписать в тетрадь для отчетов по лабораторным работам.

  4. Написать программу, осуществляющую перевод числа из десятичного формата в упакованный двоично-десятичный формат:

    1. число, вводимое с клавиатуры с помощью строки формата “%d”, должно быть в диапазоне от 0 до 9 999;

    2. полученное число в формате BCDвывести с помощью строки формата “%x”;

    3. внешний вид введенного и полученного числа должен совпадать.

  5. 1Написать программу на языке Си, осуществляющую сложение двух чисел в двоично-десятичном формате. Длина вводимых чисел до 15 десятичных знаков (т.е. диапазон чисел от 0 до 999 999 999 999 999).

  6. Сдать три (четыре*) программы преподавателю.

Лабораторная работа №6

Основы языка Ассемблер

Продолжительность: 8 часов.

Цель: Научиться основным командам языка ассемблер, общей структуре программы, транслировать исходные программы, компоновать исполняемые модули, а также изучить основные приёмы работы с программой Turbo Debugger компании Borland Soft.

Теоретическая часть

Язык ассемблера – это символическое представление машинного языка. Команды языка ассемблера непосредственно преобразуются в машинный код процессора, поэтому для того, чтобы стать хорошим программистом, необходимо хорошо представлять себе основные принципы работы компьютера.

Все процессы в машине на самом низком, аппаратном уровне приводятся в действие только инструкциями машинного языка. Реально на ассемблере пишут в основном программы, которые должны обеспечить эффективную работу с аппаратной частью. Иногда на ассемблере пишутся критичные по времени выполнения или расходованию памяти участки программы. Впоследствии они оформляются в виде подпрограмм и совмещаются с кодом на языке высокого уровня [5].

Процесс разработки программы на языке ассемблера включает следующие этапы:

  1. Ввод исходного текста программы (файл с расширением *.asmсоздаётся с помощью любого текстового редактора, не использующего специальные символы форматирования текста –ncedit,edit,turbo,bcи пр.)

  2. Создание объектного модуля (файл с расширением *.objсоздаётся с помощью транслятора)

  3. Создание загрузочного модуля (файл с расширением *.exeили *.comсоздаётся с помощью компоновщика)

  4. Отладка программы (исполняемые модули с расширением *.exeили *.comзагружаются в отладчик и контролируются программистом при исполнении)

При обнаружении ошибок на этапе отладки программистом вносятся изменения в исходный текст программы (см. этап 1) и всё начинается сначала.

Обратите внимание, если Вы создаете текст программы в редакторе, использующего кодировку Windows(Блокнот,WordPad,MicrosoftWordи др.), то символьные переменные, которые содержат русские буквы, в исполняемом модуле будут отображаться неверно.

Существует два основных пакета языка ассемблер:

  • "Макроассемблер" MASMфирмыMicrosoft;

  • "Turbo Assembler" TASM фирмы Borland.

В каждый из пакетов входит транслятор, компоновщик, средства отладки и другие вспомогательные программы. Мы будем использовать продукты фирмы Borland, которые расположены в папке "D:\BORLANDC\BIN\". Вот команды для последовательного прохода этапов разработки программы:

№ п/п

Команда

Описание

Результат

bc.exelab5.asm

создание и редактирование программы

текст программы на языке Ассемблер lab5.asm

tasm.exelab5.asm

трансляция в объектный модуль

объектный модуль lab5.obj

tlink.exelab5.obj

компоновка в исполняемый модуль

исполняемый модуль lab5.exe

td.exelab5.exe

запуск в отладчике

пошаговый просмотр выполнения программы