41895

ПРИНЦИПЫ ПРОГРАММНОГО УПРАВЛЕНИЯ ЭВМ. КОМАНДЫ MS DOS

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

Информатика, кибернетика и программирование

В зависимости от варианта ответа DOS реагирует на возникшую ошибку поразному: аварийное завершение выполнения программы или команды выдавшей запрос; R повтор операции; F завершение выполнения операции и возврат кода ошибки; программа продолжает выполняться. Временный приостанов выполнения команды или программы например вывода информации на экран дисплея осуществляется нажатием клавиши Puse. Общие положения Тестовые программы используются для идентификации конфигурации компьютера его системных ресурсов а также для его диагностики...

Русский

2013-10-26

683.51 KB

10 чел.

ЛАБОРАТОРНАЯ РАБОТА N 1. ПРИНЦИПЫ ПРОГРАММНОГО УПРАВЛЕНИЯ ЭВМ. КОМАНДЫ MS DOS

Цель работы - знакомство с командами операционной системы, реализующими программное управление работой персонального компьютра (ПК).

Необходимое для выполнения данной лабораторной работы оборудование и программное обеспечение:

  1.  IBM PC совместимая ПК.
  2.  Операционная системам Windows 9.х.

Общие положения

Общий  команд DOS, выполняемых операционной системой Windows:

Cmd_name [arg...]...[/key...]

(Имя-команды [аргумент...]...[/режим ...])

Примечание.

Элементы формата команд, показанные в квадратных скобках, являются необязательными, а сами квадратные скобки не являются элементом формата. Многоточие означает, что содержимое квадратных скобок может быть многократно повторено. Обязательным элементом команды является только имя. Аргументы и режимы используются не во всех командах, они могут либо опускаться совсем, либо иметь значение по умолчанию. Аргументы обычно определяют те объекты, с которыми имеет дело данная команда: имена дисков, каталогов, файлов, внешних устройств. Режимы определяют варианты выполнения команды и выбор ее возможностей: проверка правильности копирования файлов, способ вывода каталога на экран, способ форматирования диска и т.п. Режим может быть задан параметрами настройки, ключами, командной строкой и др. Каждый аргумент записывается непосредственно за символом слэш «/». Если аргументы и/или режимы в команде предусмотрены, но не указаны, то КП подставляет заранее определенные в DOS значения (подстановка «по умолчанию»).

Пример команды копирования файла (Prog.asm) на диск C:

copy Prog.asm c:/v

Аргументами команды являются: имя копируемого файла и имя дисковода. Prog.asm - имя файла на диске C:, режим — ключ V указывает, что осуществляется проверка правильности копирования.

Команды DOS вводятся или с клавиатуры, или из командного файла (.bat), и делятся на внутренние и внешние. Внутренние команды являются загружаемыми модулями командного процессора Command.com, автоматически загружаются и всегда находятся в оперативной памяти. Внешние команды поддерживаются файлами, которые могут находиться в любом каталоге на диске. При их запуске указывается спецификация файла — путь к файлу и его  имя.

Командная строка

Запросы на выполнение команд DOS и программ вводятся с клавиатуры в ответ на приглашение DOS и называются командными строками. В командную строку могут включаться имена команд, спецификации исполняемых файлов, аргументы и ключи. Нажатие клавиши Enter завершает командную строку. Если командная строка неверно задана (содержит ошибку) и не опознается командным процессором, на экран выдается соответствующее сообщение, командный процессор переходит в состояние ожидания ввода новой командной строки.

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

Например, если программа обращается к дисководу А: для чтения информации, а он не готов для обмена (не вставлен диск), то появится следующее сообщение:

Not ready error reading drive a:

Abort, Retry, Fail?_

(ошибка чтения из-за неготовности диска а:

Прервать, Повторить, Завершить?)

На запрос пользователь может дать один из трех вариантов ответа, нажав клавишу A (для Abort), R (для Retry), F (для Fail).

В зависимости от варианта ответа, DOS реагирует на возникшую ошибку по-разному:

A — аварийное завершение выполнения программы или команды, выдавшей запрос;

R — повтор операции;

F — завершение выполнения операции и возврат кода ошибки; программа продолжает выполняться.

Часто DOS выдает расширенный запрос на ошибочную ситуацию:

Abort, Ignore, Retry, Fail?

Ответ I (Ignore - игнорировать) означает продолжение операции; такой ответ может привести к искажению данных. Ответ А нужно давать в случае, если исправить ошибку невозможно. Ответ R нужно вводить, если устранена причина ошибки, например, приведен в готовность дисковод A: Ответ F можно использовать для анализа кода ошибки и выполнения действий по ее нейтрализации. Временный приостанов выполнения команды или программы (например, вывода информации на экран дисплея) осуществляется нажатием клавиши Pause. Для продолжения работы следует нажать любую клавишу.

Обычно командная строка занимает не более одной строки на экране дисплея. Если командная строка не размещается в одной строке дисплея, то возможны варианты. 

1. При достижении 80-й позиции в строке дисплея и введении каждого следующего символа вся строка сдвигается влево, причем первые символы командной строки становятся невидимыми.

2. При достижении конца строки на экране дисплея (или раньше) нажать клавиши Ctrl+Break; курсор перемещается на начало следующей строки дисплея, и можно продолжать ввод командной строки.

Командная строка, набранная на клавиатуре и отправленная на выполнение нажатием клавиши Enter, копируется в буфер командной строки. С помощью клавиш можно извлекать и редактировать содержимое этого буфера, повторно используя, в том числе и в модифицированном виде, предыдущую команду.

Редактирование командной строки выполняется при помощи клавиш Esc, Backspace и некоторых функциональных клавиш:

F1 — извлекает из буфера в командную строку один символ;

F3 — извлекает из буфера все его содержимое

Примечание. 

Следует иметь в виду, что функциональные клавиши обычно переопределяются (переназначаются) программными оболочками: Norton Commander, Windows, Shell и т.п. Поэтому использование этих клавиш в том качестве, в каком это описано выше, возможно, если программная оболочка не загружена.

Справочная информация о командах

Справочная информация обо всех командах DOS для ОС Windows 7 может быть получена по адресу:
http://technet.microsoft.com/ru-ru/library/cc772390(v=ws.10).aspx

Для других ОС используется команда Пуск, Справка и поддержка Главного меню, которая вызывает окно справки Windows. Выводится окно Help and Support, в строке поиска набрать Command-line reference A-Z для вывода общего списка команд MS DOS.

Краткую справку о комадах DOS можно получить в командной строке, которая является точкой входа для ввода компьютерных команд. Следует набрать имя нужной команды с ключем “/?”.

Например:

C:\Users\IlinaOP>copy/?

Копирование одного или нескольких файлов в другое место.

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B] источник

[+ источник [/A | /B] [+ ...]] [результат [/A | /B]]

источник     Имена одного или нескольких копируемых файлов

/A           Файл является текстовым файлом ASCII.

/B           Файл является двоичным файлом.

/D           Указывает на возможность создания зашифрованного файла

результат    Каталог и/или имя для конечных файлов.

/V           Проверка правильности копирования файлов.

/N           Использование, если возможно, коротких имен файлов, чьи имена не удовлетворяют стандарту

/Y           Подавление запроса подтверждения на перезапись конечного файла.

/-Y          Обязательный запрос подтверждения на перезапись конечного файла.

/Z           Копирование сетевых файлов с возобновлением.

/L           Если источник является символической ссылкой, копирование ссылки вместо реального файла, на который указывает ссылка.

Ключ /Y можно установить через переменную среды COPYCMD.

Ключ /-Y командной строки переопределяет такую установку.

Если имя файла на выходе не указано, DOS создает копию файла-источника в новом месте (с именем файла–источника).

Порядок выполнения работы

  1.  Изучить с помощью справочной системы формат (структуру) команд DOS:

 

Format

Форматирование носителя

Dir

Информация о папках и файлах

Tree

Дерево папок в графическом представлении

Copy

Работа с файлами (копирование)

Xcopy

Работа с папками и файлами (копирование)

Diskcopy

Работа с носителем

Type

Вывод содержимого файла

Print

Вывод содержимого файла

MkDir (md)

Создание папки

Del

Удаление файла

Remove (rd)

Удаление папки

Date

Работа с датой

Time

Работа со временем

  1.  Выполнить созданиеь дерева папок вида:

Студент

          Предмет

                       Сессия Осень

                       Сессия Весна

                       Контрольные и курсовые работы

          Интересы

                       Спорт

                       Литература

  1.  Создать в папке СессияОсень два текстовых файла путем консольного ввода - имена файлов Текст1.txt и Текст2.txt (содержание файлов - произвольное). При создании текстовых файлов с консоли ввод строки заканчивается нажатием клавиши ENTER, завершение ввода строк - клавишами CTRL + Z.
  2.  Осуществить слияние файлов Текст1.txt и Текст2.txt под именем Текст0.txt, поместить новый файл в папку СессияВесна.
  3.  Обеспечить перекомпирование всей ветви Предмет в папку Интересы.
  4.  Просмотреть структуру и характеристики папок и файлов.

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

Краткое изложение сведений, полученных при работе с обучающей программой.

Полный формат и пояснение изученных команд DOS.

Выполнить команды с разными ключами и записать особенности исполнения соответствующих режимов.


ЛАБОРАТОРНАЯ РАБОТА N 2. ТЕСТИРОВАНИЕ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА И ЕГО ОСНОВНЫХ УСТРОЙСТВ

Цель работы - изучение характеристик ПК и их важности для эффективной работы компьютераи их современного уровня.

Общие положения

Тестовые программы используются для идентификации конфигурации компьютера, его системных ресурсов, а также для его диагностики и оценки его относительной производительности.

Тестовые программы можно разделить на две группы:

  1.  Специализированные программы, ориентированные на анализ какой либо одной подсистемы компьютера. Например, широко используются программы для оценки производительности процессоров (MIPS), жестких дисков (HDD Speed), существуют программы тестирующие работу оперативной памяти, видеоконтроллеров, звуковых карт и др.;
  2.  Универсальные программы, позволяющие выполнять комплексный анализ всех подсистем компьютера. Одними из самых известных программ, используемых для тестирования аппаратных средств компьютеров, являются, например: Sisinfo, Checkit, PC-Config, Win Bench, Win Stone, Sandra и др.

Программа SysInfo, выполняющая тестирование и мониторинг также сех основных подсистем компьютера, входит в пакета утилит Нортона версии 7.0.

ИНСТРУМЕНТЫ ОПЕРАЦИОННОЙ СИСТЕМЫ

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

Командный процессор

driverquery— выводит список всех установленных драйверов устройств и их свойства, в том числе:

  1.  имя модуля (module name),
  2.  отображаемое имя (display name),
  3.  тип драйвера и дата сборки (driver link date).

Задается ключ /V для  отображения всей информации: статус (status) и состояние (state) драйвера, режим запуска, сведения об использовании памяти и путь в файловой системе, информация обо всех неподписанных драйверах. Ключ /Si позволяет отобразить свойства только подписанных драйверов.

systeminfo — информация о конфигурации системы, в том числе:

  1.  сведения о версии, типе и изготовителе операционной системы,
  2.  процессоре,
  3.  версии BIOS,
  4.  объеме памяти,
  5.  региональных стандартах, часовом поясе,
  6.  конфигурации сетевого адаптера.

nlsinfo — информация о региональных стандартах, включая:

  1.  язык по умолчанию (default language),
  2.  кодовую страницу Windows,
  3.  форматы отображения времени и чисел,
  4.  часовой пояс,
  5.  установленные кодовые страницы.

Эта команда доступна лишь в Windows Ser¬ver 2003 Resource Kit.

С помощью команд driverquery и systeminfo можно указать опрашиваемый удаленный компьютер.

Задание 1

1. Запустить командную строку - ПУСК, ВСЕ ПРОГРАММЫ, СТАНДАРТНЫЕ, КОМАНДНАЯ СТРОКА. Другой вариант: ПУСК, ВЫПОЛНИТЬ, в строке ввести команду вызова интерпретатора командной строки - cmd.

2. В окне командного процессора выпонить команду systeminfo, которая имеет следующий формат:

SYSTEMINFO

(результат вывести на экран)

SYSTEMINFO>имя_файла отчета1.txt

(результат вывести в текстовый файл).

СЛУЖЕБНАЯ ПРОГРАММА 

Операционная система Windows содержит ряд служебных программ, обеспечивающих выполнение специальных действий. В частности, при выполнении действий ПУСК, ВСЕ ПРОГРАММЫ СТАНЛАРТНЫЕ, СЛУЖЕБНЫЕ, СВЕДЕНИЯ О СИСТЕМЕ выводится окно, в котором указывается определеная категория для полчния информации о системе:

  1.  аппаратные ресурсы
  2.  компоненты
  3.  программная среда.

Задание 1

1. Просмотреть характеристики аппаратных ресурсов компьютера.

2. Просмотреть характеристики компонентов.

3. Подготовить отчет о конфигурации компьютера.

Утилита SysInfo

SysInfo предоставляет информацию о системной конфигурации компьютера, его основных компонентах и их характеристиках, а также позволяет  оценить сравнительную (относительно выбранных типовых моделей ПК) производительность компьютера в целом и отдельных его подсистем.

При работе утилиты на экране видеомонитора в диалоговом режиме с пользователем отображаются информационные кадры, содержащие интересующую пользователя информацию (при работе под управлением ОС Windows 2000  и ее последующими версиями для запуска программы приходится иногда несколько раз щелкать мышью кнопку «Пропустить» в появляющемся диалоговом окне).

Каждый экран имеет: 

  1.  общий заголовок — System Information,
  2.  верхнее меню для интерактивного произвольного доступа к любому информационному разделу в утилите,
  3.  название информационного раздела, отображаемого в кадре,
  4.  основную часть — информационный бокс раздела,
  5.  нижнее меню для последовательного просмотра кадров и их регистрации на принтере или в файле. 

В некоторых кадрах слева отображается линейка прокрутки, позволяющая перемещать кадр вверх и вниз по экрану для просмотра информации раздела, не помещающейся в одном кадре.

Переход от одного кадра к другому возможен как в заранее установленной последовательности с помощью командных кнопок (Next — следующий и Previous — предыдущий), расположенных внизу каждого кадра, так и в произвольном порядке по меню, расположенному в верхней строке кадра и содержащем основные разделы системной информации. Кроме кнопок Next и Previous в нижнем ряду каждого кадра имеется командная кнопка Print (печать), открывающая подменю, содержащее позиции:

Printer — обеспечивающая печать кадра (раздела) на принтере,

File — обеспечивающая запись кадра (раздела) в файл, имя которого указывается по запросу компьютера в следующем подменю (при этом, можно записать кадр в новый файл, перезаписать его в уже существующем файле (overwrite) и добавить в конец любого файла (append).

Верхнее меню содержит следующие разделы:

File (файл) — подменю команд для отображения на экране системных файлов конфигурации DOS, Norton Commander и Windows (Config.sys, Autoexec.bat, Ndos.ini, Win.ini, System.ini); для формирования и выдачи отчета, содержащего нужные информационные разделы; для выхода из утилиты. 

System (система) — подменю команд для отображения общих сведений о компьютере в целом и об основных его внешних устройствах.

Disks (диски) — подменю команд для выдачи информации о внешних запоминающих устройствах (дисках и дисковых накопителях).

Memory (память) — подменю команд для выдачи информации об оперативной памяти компьютера и ее логическом распределении.

Benchmarks (отметки уровней) — подменю команд для выдачи информации об относительной производительности компьютера и некоторых его подсистем.

Help (помощь) — подменю общей справочной информацией.

Рассмотрим кратко основные кадры утилиты и наиболее полезную информацию, в них содержащуюся.

Получение общей информации о компьютере

Первый кадр, появляющийся при запуске системы содержит раздел System Summary (общая информация о системе) - рис 1.

Рисунок 1 Информация о компьютере.

Computer — информация о компьютере (Computer Name — тип компьютера; Built-in BIOS — имя и дата выпуска встроенной базовой системы ввода-вывода BIOS2; Main Processor - тип центрального микропроцессора, используемого в компьютере; Math Co-Processor - тип математического сопроцессора, если он представлен отдельной микросхемой, либо указание на то, что он встроен в центральный микропроцессор (built in), или отсутствует совсем (none); Video Adapter - тип видеоадаптера; Mouse Type - тип графического указателя - мыши, если она подключена к компьютеру, или указание на ее отсутствие.

Disks — информация о дисковой памяти, в частности: Hard Disks — наличие и емкость накопителя на жестких дисках; Floppy Disks — наличие дисководов для гибких дисков и возможная максимальная емкость последних.

Memory — информация об основной памяти и ее логической структуре, в частности: DOS Memory — объем стандартной памяти, то есть объем доступной пользователю непосредственно адресуемой памяти; Extended Memory — объем дополнительной памяти, установленной на ПК; Expanded Memory — объем отображаемой памяти, установленной на ПК.

Other Info — прочая информация, в частности: Bus Nype - тип системной шины; Serial Ports - количество последовательных интерфейсных портов; Parallel Ports - количество параллельных интерфейсных портов; Keyboard Type - количество клавиш в блоке клавиатуры ПК; Operation System - тип и версия операционной системы, загруженной в компьютер.

Получение информации о видеосистеме

Перейти к следующему кадру, содержащему Video Summary (обзор видеосистемы), можно нажав кнопку Next. В информационном боксе кадра (рис 2) содержится:

Рисунок 2 Информация о видеосистеме.

Display - информация о видеомониторе, в частности: Video Display Adapter - тип адаптера видеомонитора; Monitor Type - тип видеомонитора; Current Video Mode - номер текущего видеорежима, цветность монитора, количество столбцов и строк на его экране.

Character - информация о параметрах отображения данных на экране монитора, в частности: Maximum Scan Lines - максимальное количество строк в графическом режиме; Character Size - размерность отображения символа в точках по ширине и высоте; CGA Cursor Emulation - способность видеоадаптера эмулировать (имитировать) курсор видеомонитора CGA; запись Enabled означает поддержку эмуляции, запись Disabled - невозможность эмуляции.

Memory - информация о памяти видеоадаптера, в частности: Video Memory - емкость памяти видеоадаптера; Video Segment Adress - начальный адрес сегмента (области) видеопамяти в адресном пространстве основной памяти ПК (в шестнадцатеричной системе счисления); Video Page Size - размер страницы экрана для видеорежима, объем памяти для хранения данных одного экрана.

Получение информации о прерываниях

Следующие экраны — Hardware Interrupts (аппаратные прерывания, рис 3) и Software Interrupts (программные прерывания, рис 4).

Рисунок 3 Информация об аппаратных прерываниях.

Рисунок 4 Информация о программных прерываниях

В информационных боксах кадров содержится списки, соответствено, аппаратных и программных прерываний ПК с информацией о номерах прерывания (Number), их вектор-адресах (Address), названиях прерываний (Name или Interrupt Name) и программных средствах, содержащих программы обработки прерываний. Для первоначального тестирования ПК эта информация обычно интереса не представляет; при необходимости более подробно о прерываниях, их видах и их назначении можно познакомиться в работах [2, 3].

Получение информации из CMOS-памяти

Кадр CMOS Values выводит информацию о CMOS памяти — энергонезависимом запоминающем устройстве, хранящем сведения о базовой конфигурации компьютера и текущем времени. 

Информационный бокс кадра (рис.5) содержит сведения о:

Hard Disks — наличие и тип первичного (Primary) и вторичного (Secondary) накопителей на жестких магнитных дисках; если второй НЖМД отсутствует, то стоит запись None; тип НЖМД обозначается кодом, по которому BIOS определяет число головок и цилиндров дисковода.

Рисунок 5 Информация из CMOS-памяти

Floppy Disks отражает сведения о наличии, типах и емкости накопителей на гибких магнитных дисках.

Installed Memory показывает информацию об основной памяти и ее укрупненной логической структуре.

CMOS Status информирует о корректности установок, сделанных в CMOS-памяти, то есть о соответствии записанной в нее информации реальной конфигурации оборудования ПК — строки Fixed Disk Controller (контроллер диска), Configured Memory (конфигурация памяти), Configured Equipment (конфигурация оборудования).

Если автоматические проверки, выполняемые при включении компьютера, подтверждают соответствие этой информации, то указываются термины OK или Correct. Кроме того, в этой области содержится информация о состоянии аккумулятора питания CMOS-памяти (CMOS Battery), системе поддержки реального времени (CMOS Time) и корректности контрольной суммы, определяющей достоверность информации в CMOS–памяти (Checksum).

Тестирование дисковой памяти

Кадр Disk Summary (обзор дисковой памяти) содержит общие сведения о физических и логических дисках компьютера. В информационном боксе кадра (рис. 6) содержатся сведения об именах логических дисков (Drive), их типе (Type), емкости (Size) и текущих каталогах (Default Directory). Тип логического диска, показываемый в этом кадре, имеет следующие основные обозначения: Floppy — гибкий диск(дополнительно указывается его форм-фактор в дюймах), Hard Disk — жесткий диск (дополнительно указывается его номер), CD ROM — оптический компакт диск, Available - незадействованный логический диск.

Рисунок 6 Обзор дисковой памяти

Кадр Disk Characteristics (характеристики дисков) позволяет получить детальную информацию о дисковой памяти компьютера. В верхнем правом углу информационного бокса кадра (рис.7) есть диалоговое меню, позволяющее выбрать логический диск, информацию о котором Вы хотите получить. 

Рисунок 7 Характеристики дисков

В кадре указывается также емкость (Size) выбранного логического диска. В области Logical Characteristics показаны  выбранного логического диска, в частности: 

Bytes per Sector — размер сектора в байтах, 

Sector per Cluster - число секторов в кластере, 

Number of Claster - общее число кластеров в области данных, 

Number of FAT — число копий таблицы размещения файлов (FAT),

FAT type — тип таблицы размещения файлов: 12, 16 или 32–битная,

Media Descriptor Byte — количество байт описания носителя, 

FAT Start Sector — номер первого сектора FAT и Sector Occupied — число секторов, занимаемых всеми экземплярами таблицы размещения файлов, 

Root DIR Start Sector — номер первого сектора корневого каталога и Sector Occupied — число секторов, занимаемых корневым каталогом, 

Data Start Sector — номер первого сектора области данных и Sector Occupied — число секторов, занимаемых областью данных.

В области Physical Characteristics (физические характеристики) показаны  физических дисков, в частности: Sides — число рабочих поверхностей диска, Tracks — число дорожек на поверхности диска, Sector per Track — число секторов на дорожке диска, Drive Number — системный номер драйвера, используемый при обращении к BIOS для работы с диском, Model — обозначение модели дискового накопителя. 

Кадр Partition Tables (таблица разделов жестких дисков) — рис. 8. содержит сведения о разделах всех имеющихся на компьютере жестких дисков (поиск и просмотр нужного раздела выполняется с использованием полосы прокрутки). 

Рисунок 8 Таблицы разделов жестких дисков

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

Получение информации об использовании основной памяти

Кадр Memory Summary (обзор использования памяти) обеспечивает отображение информации о наличии и использовании всех полей основной памяти ПК - рис. 9. Программа System Information проверяет наличный объем памяти, в этом кадре отображаются виды и объемы памяти, фактически обнаруженные программой в компьютере. 

Рисунок 9 Обзор использования памяти

В информационном боксе кадра Memory Summary имеются три области: 

DOS Usage — показывает объем стандартной памяти (DOS reports) и ее распределение, в частности выдается размер области памяти, занятой DOS и ее резидентными программами (DOS and resident programs) и размер свободной области, доступной для прикладных программ пользователя (available for application programs).

Overall — отображает информацию о наличии, емкости и диапазонах адресов всех видов оперативной памяти, а именно: main memory (стандартной), display memory (видео), extra memory (специальной), extended memory (дополнительной), expanded memory (отображаемой) памяти.

В области ROM BIOS Extensions are located at these segments — перечисляются все расширения BIOS, обнаруженные программой System Information, то есть описываются все области ПЗУ, содержащие управляющие программы. Эти области расположены в стандартном адресном пространстве и обращения к записанным в них программам осуществляются из BIOS, - поэтому эти области называются расширениями BIOS. 

Кадры Extended Memory (расширенная дополнительная память) и Expanded Memory (расширенная отображаемая память), если они в компьютере есть, показывают использование данного вида памяти, в частности.

Рисунок 10 Расширенная дополнительная память

В информационном боксе кадра (рис.10) имеются 4 области. В области Memory Usage указываются: Total memory — полная емкость расширенной памяти, Allocated — емкость занятой расширенной памяти, Available — емкость свободной расширенной памяти. Выводится информация о версии расширенной памяти (XMS Version), о версии драйвера (Driver Revision), занятости высокой памяти (High Memory Area) и др. В правой верхней области информационного бокса кадра сообщаются некоторые детали о выделенных блоках памяти, в частности, их размеры. В области Upper Memory Blocks показывается, в частности, занятость верхней памяти. 

Кадр DOS Memory Blocks (блоки памяти DOS) показывает, как распределены начальные сегменты стандартной памяти между файлами DOS (рис. 11). В левой части бокса приведены начальные шестнадцатеричные адреса (Address) блоков памяти (сегментов), содержащих файлы DOS (программы, данные, переменные окружения); правее указаны размеры файлов (Size) и их владельцы (Owner) - имена программ, драйверов и др.; в правой колонке приводится информация о категории и назначении владельцев (Type). 

Рисунок 11 Блоки памяти DOS

Кадр TSR Programm (программы, резидентные в памяти) показывает расположение в памяти программ, вызываемых в основную память для выполнения каких либо необходимых процедур и остающиеся в ней после завершения процедуры. Эти программы (TSR, Terminate and Stay Resident) часто занимают много места и мешают выполнению программ пользователя. 

В информационном боксе кадра (рис.12) показана информация о резидентных программах примерно того же содержания, что и относительно файлов DOS в предыдущем случае: приводится список TSR Programm, даются их адреса (Address), размеры (Size), их имена или владельцы (Owner), но вместо Type (что имело место для блоков DOS, здесь указываются связанные векторы прерываний (Hooked Interrupt Vectors) определяющие TSR программу.

Рисунок 12 Программы, резидентно находящиеся в памяти

При необходимости в режиме диалога можно получить более подробную информацию о TSR Programm, но для тестирования ПК она несущественна.

Получение информации о драйверах устройств ПК

Кадр Device Driver (драйверы устройств) в табличной форме отображает список всех драйверов, используемых операционной системой (рис. 13).

В информационном боксе кадра по каждому драйверу даны следующие сведения: Address — вектор–адрес драйвера, Name — имена логических устройств ПК, обслуживаемых драйвером, Description — описание (наименование и/или назначение) драйвера. 

Рисунок 13 Драйверы устройств

Тестирование быстродействия центрального процессора

Кадр CPU Speed (скорость центрального процессора) характеризует быстродействие микропроцессора тестируемого ПК по сравнению с другими типовыми моделями МП при выполнении дисконезависимых операций. Программа System Information определяет быстродействие микропроцессора по контрольным примерам и отображает результат на столбиковой диаграмме, удобной для восприятия. В информационном боксе кадра (рис.14) приведены четыре столбика диаграммы: верхний столбик, характеризует быстродействие микропроцессора тестируемой машины, нижние - типовые микропроцессоры ПК других моделей.

Рисунок 14  Скорость центрального процессора.

На диаграмме указаны типы всех микропроцессоров, их тактовая частота и индекс быстродействия — Computing Index. Если Ваш компьютер имеет режим Turbo, нажмите соответствующую кнопку и посмотрите, как влияет изменение тактовой частоты на быстродействие МП.

Тестирование быстродействия дисковой памяти

Кадр Disk Speed — скорость диска характеризует быстродействие жесткого диска тестируемого ПК по сравнению с широко распространенными дисками других типов (рис. 15). 

Рисунок 15  Скорость диска

Программа System Information определяет быстродействие жесткого диска по контрольным примерам и отображает результат на столбиковой диаграмме. В информационном боксе кадра приведены четыре столбика диаграммы: верхний столбик, характеризует быстродействие жесткого диска тестируемой машины, нижние — типовые НЖМД других моделей. На диаграмме указаны типы всех сравниваемых накопителей и индексы их быстродействия (Disk Index).

Тестирование общего быстродействия компьютера

Кадр Overall Performance Index — общий показатель производительности характеризует общую производительность тестируемого ПК по сравнению с другими моделями ПК, оснащенными ранее рассматривавшимися микропроцессорами и дисковыми накопителями (рис. 16).

Программа System Information определяет общую производительность ПК по контрольным примерам и отображает результат на столбиковой диаграмме. В информационном боксе кадра приведены четыре столбика диаграммы: верхний столбик, характеризует общую производительность тестируемой машины, нижние — производительность типовых машин других моделей. На диаграмме указаны микропроцессоры и НМЖД всех сравниваемых компьютеров и индексы их общей производительности (Overall Performance Index).

Рисунок 16  Общий показатель производительности ПК

Показатель Overall Performance Index объединяет в себе показатели Computing Index и Disk Index, облегчая сравнение тестируемого компьютера с другими ПК.

В последних кадрах программы System Information отображаются тексты системных файлов конфигурирования компьютера      Config.SYS и автозагрузки процедур Autoexec.BAT.

Если тексты этих файлов не выводятся в окнах программы Sys Info, их следует просмотреть отдельно с использованием текстового редактора, работающего с файлами .txt,  например, NC Edit или  Far Edit. 

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

  1.  Выполнить программу SysInfo в соответствии с вышеуказанными действиями.
  2.  Подготовить скриншоты экранов и комментарии к значению параметрам конфигурации собственного компьютера.


Программный комплекс SANDRA

Для изучения характеристик и конфигурации персонального компьютера, компьбтерных сетей используются специальные программы, к которым принадлежит и программный комплекс Sandra. Данная программа доступна для свободного скачиваия и использования (http://www.izone.ru/sys/diagnostics/sandra-screen.htm)

Цель лабораторной работы: получить информацию о характеристиках важнейших компонентов компьютера (процессоре, чипсете, видеоадаптере, портах, принтерах, звуковой карте, памяти, сети, процессах Windows, AGP, PCIe, соединениях ODBC, USB2, 1394/Firewire).

Порядок выполнения лабораторной работы:

  1.  Ознакомиться с информацией о программе Sandra.
  2.  Выполнить тестирование персонального компьютера с помощью программы Sandra.
  3.  Подготовить отчет о ходе выполнения лабораторной работе в виде файла Word, в отчете отразить основные этапы тстирования и полученные результаты, привести соответствующие диаграммы, пояснить заключение программы относительно производительности и эффективности конфигурации ПК.

SiSoftware Sandra (the System ANalyser, Diagnostic and Reporting Assistant) - набор утилит для системной диагностики и эталонного тестирования компьютера. Выдает обширную информацию относительно имеющихся аппаратных средств и установленного программного обеспечения. Имеется возможность сравнения производительности своего компьютера с другими.

Программа может работать с режиме клиент/сервер - в этом случае можно проанализировать не только локальный компьютер, но и все компьютеры локальной сети. Интерфейс - многоязычный. Последняя версия программы SiSoftware Sandra работает на персональных компьютерах (ПК) с установленной 32 и 64-разрядной ОС Windows.

Системный анализ и тестирование касается основных устройств ПК, таких как процессор, чипсет, видео адаптер, порты ввода/вывода, принтер, звуковая карта, память, сетевые особенности и др. Программа поддерживает множество источников для сбора информации в том числе: удаленные компьютеры, КПК, смартфонов, ADO/ODBC, базы данных или сохраненные отчеты системы. Все тесты оптимизированы для SMP (symmetric multiprocessing: симметричная многопроцессорность), компьютер содержит нескольких одинаковых процессоров или в одном процессе несколько ядер и SMT (Hyper-Threading), до 32/64 процессоров в зависимости от платформы.

SiSoftware позволяет выполнить ряд важных тестов применительно к новым видам оборудвания (новые процессоры Sandy Bridge, Cayman, Antilles, Fusion и т. д.). Тест Media Transcode проверяет производительность кодирования мультимедийных данных из одного формата в другой (кодирование видео из форматов WMV, MP4/H.264 в MP4/H.264 при использовании различных профилей (720p, 480p, планшет, смартфон и т. д.).

Тест GPGPU Cryptography, который измеряет скорость шифрования/дешифровки данных с использованием современных графических ускорителей, поддерживающих OpenCL, тест для замера скорости работы оптических приводов Blu-ray и др.

Начало работы в SANDRA

После запуска программы появляется окпно Совет дня (рис. 17), которое позволяет получить краткую иформацию о программе, ознакомиться с опциями модуля.

Рисунок 17

После закрытия окна следует ознакомиться с главным меню команд программы - рис. 18.

Рисунок 18

Имеется ряд вкладок, обеспечивающих различные режимы работы программы.

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

Вкладка. ИНСТРУМЕНТЫ - обеспечивает вызов доступных инструментов для тестирования ПК.

Другие вкладки (ЭТАЛОННЫЕ ТЕСТЫ, УСТРОЙСТВА, ПРОГРАММЫ, ПОДДЕРЖКА и ИЗБРАННОЕ) обеспечивают выполнение отдельных видов тестов.

В верхней части главного окна представлен набор кнопок для быстрого вызова команд:

  1.  Подключение - выбор объекта тестирования ()
  2.  Отключение объекта тестирования
  3.  Инструменты - дополнительные действия при работе с инструментами тестирования
  4.  Вид - настройка внешнего представления интерфейса программы.
  5.  Опции - для тонкой настройки программы (например, настройка опций работы программы, тематическое оформление интерфейса, выбор языка, очистка БД и др.).
  6.  Справка - сведения о выполнении определенных действий.

Задание 1

Ознакомиться с параметрами настройки для формирования отчетов по результатам диагностики.

1. Перейти на вклдку ИНСТРУМЕНТЫ, выполнить:

Обслуживание компьютера. Создать отчет о компьютере.

Мастер позволяет собрать данные из всех доступных модулей и составить отчет в различных форматах.

Возможные типы отчета:

  1.  Загрузить  из файла сценария - используется ранее созданный сценарий -  файл с расширним .sis, в котором уже сохранения  отчета.
  2.  Изпользовать  встроенного профиля
  3.  Создать сценарий и сохранить в нем  отчета
  4.  Выбрать  формирования отчета

Состав отчета задается путем выбора опций модуля.

1. Информация о системе - сводный отчет о всех компонентах

2. Материнская плата - многослойная печатная плата, на которой устанавливаются основные компоненты персонального компьютера

3. Устройства Plug&Play, поддерживающие тхнологию быстрого определения и конфигурирования устройств средствами операционной системы.

4. Конфигурация материнской платы, ее коспонентов.

5. Процессоры.

6. Шины и устройства - внутренние интерфейсы компьютера (системная шина, периферийные шины)

7.Управление электропитанием.

8. Системные ресурсы

9. Дисплеи и видеоадаптеры

10. Физические диски.

11. Устройства SCSI для подключения внешних устройств.

12. Принтеры и факсы.

13. Сканеры и камеры.

14. Порты ввода/вывода.

15. Игровые контролеры.

16. Аудиустройства.

17. Мыши и трекболы.

18. Клавиатура и планшеты.

19. Смарт и SIM-карты.

20. Сенсоры

21. Сетевые адаптеры

22. Сеть ЛВС

23. IP-сеть

24. Проигрыватели

Далее следует выбрать тесты из набора эталонных:

  1.  Индекс производительности - оценка производительности ПК.
  2.  Эталонные тесты для процессора
  3.  Арифметический тест процессора (на уровне арифметико-логического устройства и устройства FPU (Float Point Unit) для выполнения математических операций над вещественными числами.
  4.   Мультимедийный тест процессора.
  5.  Производительность криптографии.
  6.  Многоядерная эффективность (тестирование межядерных соединений).
  7.  Эффективность энергоснабжения.
  8.  Эталонные тесты для виртуальной машины.
  9.  Вычисления общего назначения
  10.  Графический процессор (рендринг, транскодирование, видеопамять)
  11.  Физические накопители (диски, файловые системы, съемные диски, оптические приводы и др.)
  12.  Контроллер памяти
  13.  Сеть (в том числе тестирование скорости соединений с Интернет, скорость работы Интернет)

Затем выбирается перечень программ, участвующих в диагностике:

  1.  Операционная система
  1.  Виртуальные компьютеры
  1.  Виртуальные машины и среды
  1.  Ключевые приложения
  1.  Приложения меню ПУСК
  1.  Использование памяти операционной системой
  1.  Процессы
  1.  Модули (библиотеки DLL)
  1.  Сессии (клиентские сеансы)
  1.  Службы и драйверы
  1.  Установленные приложения
  1.  Установленные процессы
  1.  Компоненты и объекты
  1.  Пользователи и группы
  1.  Криптография и сертификаты
  1.  Шрифты
  1.  Устройства мультимедиа
  1.  DirectX
  1.  OpenGL (сведения о видеоинтерфейсах)
  1.  Удаленный доступ
  1.  Логические диски
  1.  Поиск приложений
  1.  Источники данных
  1.  Типы файлов, зарегистрированные в системе
  1.  Переменные среды

В заключении настроек отчета указывается поддержка:

  1.  Статус сервера Sandra
  2.  Журнал событий
  3.  Дамп регистров оборудования
  4.  Дамп параметров реестра

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

Задание 2

Подготовить отчет в соответствии с выбранными опциями:

1. Указать состав устройств:

материнская плата, процессоры, шины и устройства, физические диски,

2. Выбрать эталонные тесты:

арифметический тест процессора, файловые системы

3. Укаазать состав программ для диагностики: операционная система

4. Поддержка: журнал событий

5. Ввести комментарий - фамилия студента, номер группы

6. Выбрать способ доставки - файл в формате .html, код UNICODE.

Указать имя файла отчета.

Задание 3.

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

Задание 4.

1.Прейти на вкладку Эталонные тесты.

2. Запустить тест Индекс производительности для сравнения производительности ПК с эталонными значениями параметров.

Результаты тестирования мют графическую интерпретацию - рис. 3:

Подробный график компонентов, на котором представлены значения показателей и лепестковая диаграмма с координатами:

  1.  общая производительность процессора, измеряемая в ГОПС (гигаопераций в секунду);
  2.  общая производительность памяти в Гигабайт в секунду;
  3.  общая мультимедийная производительность в Мегапикселях в секунду;
  4.  совокупная поизводительность в Мегапикселях в секунду;
  5.  общая производительность .NET в Гигаоперациях в секунду;
  6.  общая мультимедийная производительность .NET в Мегапикселях в секунду$
  7.   индес диска в Мегабайт в секунду;
  8.  общая производительность памяи вГигабат в секунду.

В нижнем окне выводятся комментарии программы к оценкам параметров.

Рисунок 19

Резуьтаты текста скопировать в буфер, содержание которого вставить в текстовый файл - кнопка Копировть в буфер (Ctrl +C).

SiSoftware Sandra

Экран

Соединение : Локальный компьютер

Арифметический тест процессора

Анализ...

Обобщенный индекс : 79.46ГOПС

Идентификатор результата : Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz (4C 8T 2.9ГГц Турбо, 2.9ГГц IMC, 4x 256Кб L2, 6Мб L3)

Скорость : 2894МГц

Емкость : 8единиц

Мощность : 45.00Вт

Успешно завершено : Да

Мультимедийный тест процессора

Анализ...

Обобщенный индекс : 4.27MПиксели/с

Идентификатор результата : Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz (4C 8T 2ГГц, 4x 256Кб L2, 6Мб L3)

Скорость : 1996МГц

Емкость : 1единиц

Мощность : 55.88Вт

Успешно завершено : Да

Арифметика .NET

Анализ...

Обобщенный индекс : 21.66ГOПС

Идентификатор результата : Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz (4C 8T 2.6ГГц Турбо, 2.6ГГц IMC, 4x 256Кб L2, 6Мб L3)

Скорость : 2595МГц

Емкость : 8единиц

Мощность : 45.00Вт

Успешно завершено : Да

Мультимедиа .NET

Анализ...

Обобщенный индекс : 23.11MПиксели/с

Идентификатор результата : Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz (4C 8T 2.8ГГц Турбо, 2.8ГГц IMC, 4x 256Кб L2, 6Мб L3)

Скорость : 2794МГц

Емкость : 8единиц

Мощность : 45.00Вт

Успешно завершено : Да

Пропускная способность памяти

Анализ...

Обобщенный индекс : 13.26Гб/с

Идентификатор результата : Intel Core (Sandy Bridge) Mobile DRAM Controller; 2x 3Гб Samsung M471B5773CHS-CH9 DDR3 SO-DIMM (1.33ГГц) PC3-10700 (9-9-9-24 4-33-10-5)

Скорость : 1334МГц

Емкость : 6144Мб

Мощность : 14.85Вт

Успешно завершено : Да

Физические диски

Анализ...

Обобщенный индекс : 71.38Мб/с

Идентификатор результата : WDC WD7500BPVT-24HXZT1 (750.2Гб, SATA300, 2.5", 5400рпм, 8Мб Кэш)

Скорость : 5400рпм

Емкость : 750.16Гб

Успешно завершено : Да

Арифметический тест GP (GPU/CPU/APU)

Анализ...

Обобщенный индекс : 103.15MПиксели/с

Идентификатор результата : AMD Radeon HD 6570M (400SP 650МГц 18% OC, 1Гб DDR3 1.6ГГц 128-бит)

Скорость : 650МГц

Емкость : 400единиц

Мощность : 20.00Вт

Успешно завершено : Да

Память GP (GPU/CPU/APU)

Анализ...

Обобщенный индекс : 10.24Гб/с

Идентификатор результата : AMD Radeon HD 6570M (400SP 650МГц 18% OC, 1Гб DDR3 1.6ГГц 128-бит)

Скорость : 1600МГц

Емкость : 1024Мб

Мощность : 20.00Вт

Успешно завершено : Да

Индекс производительности

Обобщенный индекс : 5.45КПТ

Интерпретация результатов : Большие значения индекса лучше.

Десятичный формат результатов : 1ГПТ = 1000МПТ, 1МПТ = 1000КПТ, 1КПТ = 1000ПТ, и т.д.

Идентификатор результата : Ann_Mike (Intel Core i7-2630QM CPU @ 2.00GHz; Intel Core Mobile DRAM Controller; 2x 3Гб Samsung M471B5773CHS; WDC WD7500BPVT-24HXZT1; AMD Radeon HD 6570M)

Успешно завершено : Да

Задание 5. 

Выполнить тестирование коммуникации с помощью теста Интернет-сркдинение для сравнения скорости соединения с Интернет-провайдером.

Пример отчета по тесту:

SiSoftware Sandra

Результаты эталонного теста

Скорость передачи данных : 27Кб/с

Интерпретация результатов : Большие значения индекса лучше.

Двоичный формат результатов : 1Гб(/с) = 1024Мб(/с), 1Мб(/с) = 1024Кб(/с), 1Кб(/с) = 1024 байт(/с), и т.д.

Результаты эталонного теста

Задержка данных : 63мс

Интерпретация результатов : Меньшие значения индекса лучше.

Десятичный формат результатов : 1с = 1000мс, 1мс = 1000мкс, 1мкс = 1000нс, и т.д.

Производительность/Скорость

Скорость передачи данных : 0.000Кб/с/кбит/с

Интерпретация результатов : Большие значения индекса лучше.

Задержка данных : 0.001мкс/кбит/с

Интерпретация результатов : Меньшие значения индекса лучше.

IP шлюз/форвардер

Наименование : Broadcom NetLink (TM) Gigabit Ethernet

Тип : Ethernet

Скорость приема : 100Мбит/с

Скорость передачи : 100Мбит/с

Разбивка теста

Идентификатор результата : Broadcom NetLink (TM) Gigabit Ethernet (Ethernet, 100Мбит/с)

Система : Lenovo IdeaPad Y560p (Lenovo KL3)

Платформа : x64

Наименование : stk-tct-cr1-vl-9.rascom.ru

IP адрес : 80.64.96.70

Текущая скорость передачи данных : 222.73кбит/с

Советы по увеличению производительности

Замечание 5008 : Для изменения тестов, нажмите Опции.

Замечание 5004 : Искусственный тест. Может не отражать с 'реальную' производительность.

Замечание 5006 : Сравнивайте результаты, полученные только с помощью одинаковых версий!

Совет 2 : Дважды щелкните по совету или нажмите Enter, выделив совет, для получения дополнительной информации. 

Задание 6.

Выполнить тестирование коммуникации с помощью теста Скорость Интернета для сравнения скорости соединения с другими Интернет-сетями - рис. 20.

Рисунок 20

Пример отчета по тесту:

SiSoftware Sandra

Результаты эталонного теста

Скорость передачи данных : 64Кб/с

Интерпретация результатов : Большие значения индекса лучше.

Двоичный формат результатов : 1Гб(/с) = 1024Мб(/с), 1Мб(/с) = 1024Кб(/с), 1Кб(/с) = 1024 байт(/с), и т.д.

Результаты эталонного теста

Задержка данных : 228мс

Интерпретация результатов : Меньшие значения индекса лучше.

Десятичный формат результатов : 1с = 1000мс, 1мс = 1000мкс, 1мкс = 1000нс, и т.д.

Производительность/Скорость

Скорость передачи данных : 0.000Кб/с/кбит/с

Интерпретация результатов : Большие значения индекса лучше.

Задержка данных : 0.002мкс/кбит/с

Интерпретация результатов : Меньшие значения индекса лучше.

IP шлюз/форвардер

Наименование : Broadcom NetLink (TM) Gigabit Ethernet

Тип : Ethernet

Скорость приема : 100Мбит/с

Скорость передачи : 100Мбит/с

Разбивка теста

Идентификатор результата : Broadcom NetLink (TM) Gigabit Ethernet (Ethernet, 100Мбит/с)

Система : Lenovo IdeaPad Y560p (Lenovo KL3)

Платформа : x64

Текущая скорость передачи данных : 267.76кбит/с

Download

Задержка данных : 305мс

Текущая скорость передачи данных : 123.27кбит/с

CNN

Web сервер : nginx

Текущая скорость передачи данных : 236.84кбит/с

LSE

Текущая скорость передачи данных : 232.67кбит/с

FeedBurner

Web сервер : GSE

Задержка данных : 189мс

Текущая скорость передачи данных : 186кбит/с

Deutsche Bank

Текущая скорость передачи данных : 193.4кбит/с

T-Mobile

Web сервер : "Webserver"

Текущая скорость передачи данных : 498.46кбит/с

MySpace

Web сервер : Microsoft-IIS/7.5

Задержка данных : 232мс

Текущая скорость передачи данных : 582кбит/с

GeoCities

Задержка данных : 338мс

Текущая скорость передачи данных : 61.23кбит/с

c|net

Задержка данных : 314мс

Текущая скорость передачи данных : 571.63кбит/с

Mixi

Web сервер : Apache

Задержка данных : 398мс

Текущая скорость передачи данных : 26.65кбит/с

DailyMotion

Web сервер : DMS/1.0.42

Задержка данных : 97мс

Текущая скорость передачи данных : 509.86кбит/с

Sprint

Web сервер : Apache/2.2.14 (Red Hat)

Текущая скорость передачи данных : 48.67кбит/с

ZDNet

Web сервер : Apache

Текущая скорость передачи данных : 380.6кбит/с

Schlund

Web сервер : Apache

Задержка данных : 98мс

Текущая скорость передачи данных : 151.32кбит/с

RapidShare

Задержка данных : 85мс

Текущая скорость передачи данных : 213.8кбит/с

Советы по увеличению производительности

Замечание 5008 : Для изменения тестов, нажмите Опции.

Замечание 5004 : Искусственный тест. Может не отражать с 'реальную' производительность.

Замечание 5006 : Сравнивайте результаты, полученные только с помощью одинаковых версий!

Совет 2 : Дважды щелкните по совету или нажмите Enter, выделив совет, для получения дополнительной информации.

Приложение 1.

Таблица 1 Список базовых терминов для технических средств обработки информации

processor (обработчик), процессор 

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

CPU (central processing unit , центральный блок обработки»), ЦП (центральный процессор)

главный и обязательно присутствующий процессор компьютера, обрабатывающий данные любого вида (в отличие от сопроцессоров).

coprocessor, сопроцессор

специализированный процессор (например, вещественный или периферийный), обрабатывающий данные только какого-то одного вида, но быстрее, чем это смог бы сделать ЦП, за счёт оптимизированного устройства. Может быть как отдельной микросхемой, так и частью ЦП

core, ядро

в одноядерных ЦП: вычислительная часть процессора, остающаяся после вычета вспомогательных структур (контроллеров шин, кэшей и др.),

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

SMP (symmetric multiprocessing: симметричная многопроцессорность)

одновременное присутствие и работа в компьютере нескольких одинаковых процессоров и/или ядер

mop, микрооперация, моп

RISC-подобная команда во внутреннем формате ЦП, исполняющая элементарную операцию. Команды CISC-ЦП переводятся в мопы, каждая простая команда транслируется в 1 моп, а сложная декодируется в несколько. Одна CISC-команда порождает в среднем более одного мопа

IPC (instructions per clock), команд за такт 

мера производительности конвейера, Пиковая величина IPC измеряется при выполнении потока команд или мопов, независимых друг от друга по данным, что позволяет по возможности осуществить их одновременное исполнение.

OPC (operations per clock), операций за такт 

величина, замеряющая операции исполняемых команд или мопов

IPC (instructions per clock), команд за такт

 мера производительности конвейера, или отдельного функционального устройства

CPI (clocks per instruction: тактов на команду)

 величина, обратная IPC

FLOPS (float operations per second: вещественных операций в секунду)

произведение максимальной устоявшейся частоты процессора на величину OPC для вещественных вычислительных команд. Применяется к ядру, а при умножении на число ядер — ко всему процессору, являясь в этом случае одной из его главных скоростных характеристик

CISC (complex instruction set computer: вычислитель с набором сложных команд)

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

RISC (reduced instruction set computer: вычислитель с набором сокращённых команд)

Архитектура процессора, который имеет небольшое число команд, исполняющих простые действия со значительными ограничениями по разрядности, местоположению и типу аргументов. Каждая команда исполняется за 1 такт, и процессору не нужен микрокод. Чаще всего команды имеют одинаковую длину (как правило, 4 байта) и неразрушающую кодировку операндов

SIMD (single instruction, multiple data: одна команда — много данных), векторность

парадигма параллелизма на уровне данных, применяется во всех современных архитектурах для удобной реализации высокоскоростной обработки, когда над большим объёмом данных требуется совершить одно действие

throughput, пропуск, ПС (пропускная способность)

обратная пропускная способность — значение CPI для отдельного фунционального устройства и исполняемого в нём мопа, либо для всей исполнительной стадии конвейера

port, порт

интерфейс для подключения плат-рсширений или устройств

ALU (arithmetic-logic unit), АЛУ, арифметико-логическое устройство

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

Виды АЛУ: SIMD, SSEm MMX

cache, кэш

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

chip, чип, микросхема

интегральный полупроводниковый прибор, заменяющий тысячи и миллионы отдельных (дискретных) элементов. Состоит из корпуса и одного или нескольких размещённых внутри кристаллов

socket, разъём

физический и электрический интерфейс для установки микросхемы на печатную плату с возможностью быстрой замены

process technology, техпроцесс

технологический процесс для массового производства микросхем. Характеризуется технормой, числом слоёв межсоединений, диаметром пластин, различными оптимизациями под скорость и/или энергоэффективность и пр.

CD (critical dimension: критический размер), технорма

измеряется в нанометрах (nm, нм), номинально равна минимальному полушагу линейно-регулярной структуры на кристалле, с некоторыми допущениями — удвоенной минимальной длине затвора транзистора и минимальной ширине дорожки

CMOS (complementary MOS: комплементарный МОП), КМОП

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

SRAM (static RAM: статическое ОЗУ), СОЗУ

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

Приложение 2. 

Таблица 2. Расшифровка некоторых аббревиатур отчета по тестированию ПК

Аббревиатура

Полное наименование

AC

Alternating Current

ACPI

Advanced Configuration and Power Interface

ACR

Advanced Communications Riser

AE

Applications Engineer

AFS

Andrew File System

AGP

Accelerated Graphics Port

AI

Artificial Intelligence

ALU

Arithmetic-Logic Unit

AM

Amplitude Modulated

AMD

Advanced Micro Devices, Inc.

AMD

Air Moving Device (aka fan)

AMI

American Megatrends Inc.

AMR

Audio Modem Riser

ANSI

American National Standards Institute

APIC

Advanced Programmable Interrupt Controller

APM

Advanced Power Management

ASCII

American Standard Code for Information Interchange

ASIC

Application Specific Integrated Circuit

ASPI

Advanced SCSI Programming Interface

AT

Advanced Technology

ATA

AT bus Attachment

ATAPI

ATA Packet Interface

ATDM

Asynchronous Time Division Multiplexing

ATM

Asynchronous Transfer Mode

ATX

AT eXtended

AUI

Attached Unit Interface

BBS

Bulletin Board System

BCC

Block Check Character

BCD

Binary Coded Decimal

BE

Back End

BEDO

Burst EDO

BiCMOS

Bipolar Complementary Metal-Oxide Semiconductor

BIOS

Basic Input / Output System

BMB

Baseboard Management Bus

BNC

Bayonet Nut Connector

BPS/bps

Bytes/bits Per Second

BSC

Binary Synchronous Communications

BSD

Berkeley Standard Distribution

BT

Base Transmit

BTU

British Thermal Units

CAD

Computer Aided Design

CAM

Computer Aided Manufacturing

CAM

Content Addressable Memory

CAM

Common Access Method

CAS

Column Address Strobe

CBX

Common Branch eXtender

CCD

Charge Coupled Device

CCITT

Consultative Committee of International Telephony and Telegraphy

CD

Carrier Detect

CDDI

Copper Distributed Data Interface

CDROM

Compact Disk Read Only Memory

CGA

Colour Graphics Adapter

CHS

Cylinder Head Sector

CISC

Complex Instruction-Set Computer

CLA

Carry Look-ahead Adder

CMOS

Complementary Metal-Oxide Semiconductor

CNR

Communications and Network Riser

CODEC

CP/M

Control Program / Monitor

CPI

Clocks Per Instruction

CPU

Central Processing Unit

CQFP

Ceramic Quad Flat Pack

CR

Carriage Return

CRC

Cyclical Redundancy Check

CRIMM

Continuity RIMM

CRQ

Command Response Queue

CRT

Cathode Ray Tube

CS

Chip Select

CSMA/CD

Carrier Sense Multiple-Access /with Collision Detect

CSR

Command Status Register

CST

Container Security Breach (aka door open)

CTS

Clear To Send

DAT

Digital Audio Tape

DBI

Dynamic Bus Inversion

DC

Direct Current

DCD

Data Carrier Detect

DCE

Data Circuit-terminating Equipment

DD

Double Density

DDC

Display Data Channel

DDR

Double Data Rate

DEC

Digital Equipment Corporation

DES

Data Encryption Standard

DHCP

Dynamic Host Configuration Protocol

DID

Direct Inward Dial

DIMM

Dual Inline Memory Module

DIN

Deutsche Industrie Norm (German)

DIP

Dual-In-line Package

DIS

Draft International Standard

DMA

Direct Memory Access

DMI

Desktop Management Interface

DOS

Disk Operating System

DP

Dual Processor

DPE

Data Parity Error

DPSK

Differential Phase Shift Keying

DRAM

Dynamic Random Access Memory

DRDOS

Digital Research Disk Operating System

DRM

Dual Retention Mechanism

DS

Double Sided

DSP

Digital Signal Processor

DSR

Data Set Ready

DTC

Data Terminal Controller

DTE

Data Terminating Equipment

DTMF

Dual-Tone Multi-Frequency

DTR

Data Terminal Ready

DVD

Digital Video/Versatile Device/Disk

EBCDIC

Extended Binary Coded Decimal Interchange Code

EC

Error Check

ECC

Error Check and Correction

ECL

Emitter-Coupled Logic

ECO

Engineering Change Order

ECP

Enhanced Communication Port

ECP

Extended Capabilities Port

ECU

EISA Configuration Utility

EDO

Extended Data Out RAM

EDPT

Enhanced Disk Parameter Table

EEPROM

Electrically Erasable Programmable Read Only Memory

EFI

Extensible Firmware Hub

EGA

Enhanced Graphics Adapter

EIA

Electronic Industries Association

EIDE

Enhanced Integrated Device Electronics

EISA

Enhanced Industry Standard Architecture

EMC

Electro-Magnetic Compatibility

EMF

Electro-Magnetic Force

EMI

Electro-Magnetic Interference

EMS

Expanded Memory Specification

EOF

End Of File

EOL

End Of Line

EOS

Electrical Over Stress

EPP

Enhanced Parallel Port

EPROM

Erasable Programmable Read Only Memory

ESCD

Extended System Configuration Data

ESD

Electro-Static Discharge

ESDI

Enhanced Small Devices Interface

FAT

File Allocation Table

FCC

Federal Communications Commission

FDD

Fixed / Floppy Disk Drive

FDDI

Fiber Distributed Data Interface

FDM

Frequency Division Multiplexing

FDX

Full-Duplex Transmission

FE

Front End

FEP

Front End Processor

FF

Form Feed

FIFO

First-In First-Out

FILO

First-In Last-Out

FM

Frequency Modulation

FPGA

Field Programmable Gate Array

FPM

Fast Page Mode RAM

FPU

Floating Point Unit

FRC

Functional Redundancy Checking

FRU

Field-Replaceable Unit

FSB

Front Side Bus

FSF

Free Software Foundation

FSK

Frequency Shifty Keying

FTP

File Transfer Program

FWH

Firmware Hub

GAS

Gallium Arsenide

GFLOPS

Billions of FLOating Point Operations Per Second (GigaFlops)

GNU

Gnu's Not UNIX

GUI

Graphical User Interface

GXB

Graphic eXpansion Bridge

HBA

Host Bus Adapter

HD

High Density / Hard Disk

HDD

Hard Disk Drive

HDX

Half-Duplex Transmission

HFS

Hierarchical File System

HPFS

High Performance File System

HS

Helical Scan

I/O

Input / Output

I2C

Intelligent Controller

IA

Intel Architecture

IB

In-Bound

IBM

International Business Machines Corporation

IC

Integrated Circuit

ICMP

Internet Control Message Protocol

IDC

Insulation Displacement Connector

IDE

Integrated Device Electronics

IEEE

Institute of Electrical and Electronic Engineers

IFB

I/O and Firmware Bridge

IMP

Interface Message Processor

IOAPIC

Input Output Advanced PIC

IPC

Inter Process Communication

IPX

Inter network Packet eXchange

IR

Infra-Red

IRQ

Interrupt ReQuest

ISA

Industry Standard Architecture

ISDN

Integrated Services Digital Network

ISO

International Standards Organisation

ITP

In-Target Probe

JFS

Journalised File System

kVA

KiloVolt-Amps

LAN

Local Area Network

LBA

Linear Block Array / Addressing

LCD

Liquid Crystal Display

LED

Light Emitting Diode

LF

Line Feed

LIM

Lotus/Intel/Microsoft's Expanded Memory Manager (EMS)

LRU

Least-Recently Used

LSB/lsb

Least Significant Byte/bit

LSI

Large Scale Integration

LVD

Low Voltage Differential

LUN

Logical Unit Number

MAN

Metropolitan Area Network

MB/Mb

Mega Bytes/bits

MBR

Master Boot Record

MCA

Micro Channel Architecture

MCGA

Multi-Colour Graphics Array

MCH

Memory Controller Hub

MCM

Multi-Chip Module

MDC

Memory Data Component

MDRAM

Multi-bank RAM

MEC

Memory Expansion Cards

MFLOPS

Millions of FLOating Point Operations per Second (MegaFlops)

MFM

Modified Frequency Modulated

MHz

MegaHertz

MICR

Magnetic Ink Character Recognition

MIDI

Musical Instrument Data Interface

MIMD

Multiple-Instruction Multiple-Data

MIPS

Millions of Instructions per Second

MISD

Multiple-Instruction Single Data

MMU

Memory Management Unit

MMX

Multi-Media Extensions

MNP

Microcom Network Protocol

MODEM

MOdulator / DEModulator

MOPS

Millions of Operations Per Second

MOS

Metal-Oxide Semiconductor

MP

Multi-Processor

MPP

Massively Parallel Processor

MPS

Multi-Processor System

MPT

Memory Protocol Translator

MSB/msb

Most Significant Byte/bit

MSDOS

Microsoft's Disk Operating System

MSI

Medium Scale Integration

MTBF

Mean Time Between Failure

MTH

Memory Translator Hub

N/C

No-Connect

NBS

National Bureau of Standards

NEMA

National Electrical Manufacturers Association

NFS

Network File System

NFU

Not-Frequently Used

NIC

Network Interface Card

NMI

Non-Maskable Interrupt

NMOS

Negatively doped Metal-Oxide Semiconductor

NOP

No OPeration

NRU

Not-Recently Used

NSF

National Science Foundation

NVRAM

NonVolatile Random Access Memory

OAP

Outside Awareness Panel (aka window)

OB

OutBound

OCR

Optical Character Recognition

ODI

Open Datalink Interface

OEM

Original Equipment Manufacturer

OS

Operating System

OSF

Open Software Foundation

OSI

Open Systems Interconnect

PAC

PCI AGP Controller

PAL/PLA

Programmable Array Logic / Logic Array

PAL

Processor Abstraction Layer

PB

Push Button

PBX

Private Branch eXtender

PC

Personal Computer, Program Counter

PCB

Printed Circuit Board

PCI

Peripheral Component Interconnect

PCM

Pulse Code Modulation

PCMCIA

Personal Computer Memory Card International Association

PE

Processor Element

PFC

Power Factor Correction

PFF

Page Fault Frequency

PGA

Professional Graphics Array

PGA

Pin Grid Array

PIC

Programmable Interrupt Controller

PIO

Programmed Input / Output

PIROM

Processor Information ROM

PLCC

Plastic Leaded Chip Carrier

PLL

Phase Locked Loop

PM

Preventive Maintenance

PME

Power Management Event

PMOS

Positively doped Metal-Oxide Semiconductor

PnP

Plug-and-Play

POST

Power On Self Test

PPP

Point-to-Point Protocol

PQFP

Plastic Quad Flat Pack

PROM

Programmable Read Only Memory

PSIPC

PCI Super I/O Integrated Peripheral Controller

PSTN

Public Switched Telephone Network

PTE

Page Table Entry

PXB

PCI eXpansion Bridge

PXE

Pre-Boot eXecution Environment

QAM

Quadrature Amplitude Modulation

QFP

Quad Flat Pack

QIC

Quarter Inch Cartridge

RAID

Redundant Arrays of Inexpensive Disks

RAM

Random Access Memory

RAMDAC

Random Access Memory Digital to Analogue Converter

RAS

Row Address Strobe

RCA

Radio Corporation of America

RCC

Routing Control Centre

RDRAM

Rambus DRAM

RFC

Request For Comments

RFI

Radio Frequency Interference

RI

Ring Indicator

RIMM

Rambus Inline Memory Module

RISC

Reduced Instruction-Set Computer

RLL

Run Length Limited

RMS

Root Mean Squared

RMW

Read Modify Write

ROM

Read Only Memory

RPC

Remote Procedure Call

RPM

Rotations Per Minute

RTC

Real Time Clock

RTS

Request To Send

SAL

System Abstraction Layer

SAM

Sequential Access Memory

SASI

Shugart Associates Standard Interface

SCI

Special Circumstance Instructions

SCSI

Small Computer Systems Interface

SD

Single Density

SDLC

Synchronous Data Link Control

SDRAM

Synchronous Dynamic RAM

SDRAM BDDR II

Bi-Directional Strobed DDR SDRAM

SDRAM DDR II

Double Data Rate SDRAM

SE

Systems Engineer

SEC

Single Edge Contact

SECC

Single Edge Contact Cartridge

SFF

Small Form Factor

SGRAM

Synchronous Graphics RAM

SIMD

Single-Instruction Multiple-Data

SIMM

Single Inline Memory Module

SIPP

Single Inline Pinned Package

SISD

Single-Instruction Single-Data

SLIP

Serial Line Internet Protocol

SMBUS

System Management Bus

SMD

Surface Mount Device

SMI

System Management Interrupt

SMP

Symmetric Multi-Processing

SMT

Surface Mount Technology

SMT

Symmetric Multi-Threading

SNA

System Network Architecture

SNR

Signal to Noise Ratio

SO/SOL

Small Out Line

SOIC

Small Outline Integrated Circuit

SPDIF

Serial Data Interface

SPOOL

Simultaneous Peripheral Operation On Line

SPT

Sectors Per Track

SPU

Single Processor Unit

SRAM

Static Random Access Memory

SS

Single Sided

SSE

Streaming SIMD Extensions

SSE2

Streaming SIMD Extensions 2

STDM

Synchronous Time Division Multiplexing

STN

Super Twisted Nematic

STR

Suspend To RAM

STU

Streaming Tape Unit

SVGA

Super Video Graphics Array

TCM

Trellis Code Modulation

TCP/IP

Transmission Control Protocol / Internet Protocol

TDM

Time Division Multiplexing

TI

Texas Instruments

TIA

Telecomm. Industry Association

TLB

Translation-Lookaside Buffer

TPI

Tracks Per Inch

TRANSISTOR

TRANSformer resISTOR

TSR

Terminate and Stay Resident

TTL

Transistor-Transistor Logic

TUV

Technischer Ueberwachuags Verein (German)

UAE

Unrecoverable Application Error

UART

Universal Asynchronous Receiver/Transmitter

UDP

User Datagram Protocol

UMB

Upper Memory Block

UPS

Un-interruptible Power Supply

USB

Universal Serial Bus

USL

UNIX System Labs

UUCP

UNIX to UNIX Copy Program

VBE

Video BIOS Extensions

VCR

Video Cassette Recorder

VESA

Video Enhanced Standards Association

VGA

Video Graphics Array

VID

Voltage ID

VLB

VESA Local Bus

VLIW

Very Long Instruction Word

VLSI

Very Large Scale Integration

VM

Virtual Memory

VME

Versa Module Euro-card

VRAM

Video Random Access Memory

VRT

Voltage Reduction Technology

VTR

Video Tape Recorder

WAN

Wide Area Network

WATS

Wide Area Telephone Service

WD

Western Digital

WOL

Wake-up On LAN

WORM

Write Once - Read-Many

WRAM

Window Random Access Memory

WS

Wait State

WXB

Wide eXpansion Bridge

XGA

eXtended Graphics Array

XMS

Extended Memory Specification

XOR

Exclusive-OR

XT

eXtended Technology

ZIF

Zero Insertion Force

Рисунок 21


ЛАБОРАТОРНАЯ РАБОТА N 3. ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ ОТЛАДЧИКА ПРОГРАММ DEBUG

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

Назначение и функциональные возможности отладчика программ DEBUG

DEBUG обеспечивает интерактивную отладку программ в формате .EXE, и .COM файлов. Обычно он используется для отладки исполняемых программ, полученных с языка уровня ассемблера. Он позволяет ассемблировать и исполняемые файлы .EXE и .COM, скомпилированные с языков более высокого уровня.

DEBUG позволяет:

  1.  отслеживать и управлять выполнением программ;
  2.  вносить изменения в отлаживаемую программу;
  3.  вводить небольшие программы на языке ассемблера, выполнять ассемблирование этих программ и создавать исполняемые программы с расширением .COM;
  4.  выполнять преобразование машинных 16-ричных кодов команд в формат языка ассемблера (деассемблирование);
  5.  отображать текстовые файлы в ASCII и 16-ричном форматах;
  6.  просматривать и изменять содержимое регистров памяти МП и ячеек основной памяти;
  7.  загружать информацию с дисковых накопителей в основную память и наоборот (считывать информацию с дисков и записывать на них);
  8.  осуществлять поиск конкретных данных в текстах сообщений и программ (с выдачей адреса их хранения);
  9.  просматривать регистр флагов с отображением мнемокодов значений этих флагов. Используемые в DEBUG мнемокоды значений флагов:

Флаг

Имя флага

Установлен

Сброшен

OF

Переполнение (да/нет)

OV

NV

DF

Направление (уменш/увел)

DN

UP

IF

Пр ерывания (вкл/откл)            

EI

DI

SF

Знак

(отриц/полож)

NG

PL

ZF

Нуль (да/нет)

ZR

NZ

AF

Вспомогательный перенос( да/нет)   

AC

NA

PF

Четность (чет/нечет)

PE

PO

CF

Перенос (да/нет)

SY

NC

Для вызова отладчика DEBUG следует набрать в командной строке команду debug и, если необходимо, имена файлов, с которыми мы будем работать, например: debug prog.exe. Приглашение к вводу команд: "-" . После завершения работы с DEBUG для выхода из него следует набрать команду q (Quit). После набора каждой команды нажимается ENTER.

Основные команды отладчика DEBUG 

a (assemble)

Создание двоичного кода процессоров 8086/8087/8088 непосредственно в памяти. Выполненная без параметров команда a начинает работу с точки последнего останова.

a [адрес]

адрес - задает адрес, по которому записаны инструкции на языке ассемблер. Параметр адрес принимает шестнадцатеричные значения без знака h.

Примечания

В Windows XP эта команда не используется. Она предназначена для обеспечения совместимости с файлами MS-DOS.

Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр можно пропустить. По умолчанию для команд debug: a, g, l, t, u и w адрес сегмента содержится в регистре CS. Для других подкоманд по умолчанию используется сегмент DS. Все числовые значения при этом представлены в шестнадцатеричном формате. Между именем сегмента и значением смещения следует вставлять двоеточие.

Примеры правильных адресов: CS:0100  и  04BA:0100

Команда a создает исполняемый машинный код из инструкций на языке ассемблера. Все числовые значения должны быть представлены в шестнадцатеричном формате и записаны как набор от 1 до 4 символов. В программе Debug.exe используется общее соглашение о том, что операнды, указывающие на адрес в памяти, заключаются в квадратные скобки ([ ]).

d (dump)

Просмотр содержимого заданного диапазона адресов памяти. Выполненная без параметров команда d выводит на экран содержимое 128 байт, начиная с конца диапазона адресов, заданного в предыдущей команде d.

d [диапазон]

диапазон - задание начального и конечного адреса или начального адреса и длины блока памяти для просмотра его содержимого.

Параметр диапазон используется в подкомандах debug для задания диапазона памяти. Параметр диапазон можно задать в одном из следующих форматов: начальный адрес и конечный адрес или начальный адрес и длина (обозначаемая l) диапазона. Например, оба следующих выражения задают диапазон из 16 байтов, начинающийся с адреса CS:100: cs:100 10f и cs:100 l 10.

Если используется подкоманда d, содержимое памяти выводится командой Debug.exe двумя частями: шестнадцатеричной (каждый байт представлен в шестнадцатеричном формате) и текстовой (каждый байт представлен символом ASCII). Непечатаемые символы отображаются точкой (.) в текстовой части. Каждая строка на экране представляет содержимое 16 байт со знаком тире между восьмым и девятым байтом. Все строки начинаются на 16-ти байтной границе.

Пример.

dcs:100 10f

Команда выводит содержимое диапазона в следующем формате:

04BA:0100 54 4F 4D 00 53 41 57 59-45 52 00 00 00 00 00 00.....

Каждая строка на экране начинается с адреса, который отстоит от адреса предыдущей строки на 16 байт (или на 8 байт для экрана с 40 колонками). Для каждой последующей подкоманды d, вводимой без параметров, Debug.exe выводит следующую часть сведений непосредственно за предыдущей. Чтобы вывести содержимое 20h байт, начиная с CS:100, введите следующую команду:

dcs:100 l 20

Чтобы вывести содержимое всех байт в диапазоне от 100h до 115h в сегменте CS, введите следующую команду:

dcs:100 115

e (enter)

Ввод данных в память по заданному адресу.

e адрес [список]

адрес - обязательный параметр. Адрес начала области памяти для ввода данных.

список - байтов, которые требуется ввести в память.

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

  1.  Заменить байт данных. Для этого введите новое значение. Если введенное значение не является допустимым шестнадцатеричным числом или содержит более двух цифр, Debug.exe не выводит на экран неверные или избыточные символы.
  2.  Перейти к следующему байту. Для этого нажмите клавишу ПРОБЕЛ. Для изменения данного байта введите новое значение после текущего. Если при нажатии клавиши ПРОБЕЛ пройдена 8-байтная граница, Debug.exe выводит на экран новую строку с новым адресом в начале строки.
  3.  Возвратиться к предыдущему байту. Для этого нажмите клавишу МИНУС. Для перемещения назад более чем на один байт нажмите эту клавишу несколько раз. При нажатии клавиши МИНУС Debug.exe выводит новую строку с текущим адресом и значением.
  4.  Остановить выполнение подкоманды e. Для этого нажмите клавишу ENTER. Это можно сделать в любой позиции курсора.

Если введен параметр список, подкоманда e последовательно заменяет существующие значения значениями из списка. При возникновении ошибки никакие значения не будут изменены.

Список может быть задан как шестнадцатеричными числами, так и строкой. При этом числа разделяются пробелами, запятыми или символами табуляции. Строки необходимо заключать в апострофы (т. е. 'строка') или кавычки (т. е. "строка").

Примеры

ecs:100

Debug.exe выведет содержимое первого байта в следующем формате:

04BA:0100 EB._

Чтобы заменить это значение числом 41, введите 41 в позицию курсора, как показано ниже:

04BA:0100 EB.41 

Последовательность байтов можно ввести в одной подкоманде e. Вместо нажатия клавиши ENTER после нового значения, нажмите клавишу ПРОБЕЛ. Программа Debug.exe выведет следующее значение. В данном примере, если клавиша ПРОБЕЛ нажата три раза, Debug.exe выведет на экран следующие значения:

04BA:0100 EB.41 10. 00. BC._

Чтобы заменить шестнадцатеричное значение BC числом 42, введите 42 в позицию курсора, как показано ниже:

04BA:0100 EB.41 10. 00. BC.42_

Чтобы изменить значение 10 на 6F, дважды нажмите клавишу МИНУС для возврата к адресу 0101 (значение 10). Программа Debug.exe выводит следующие сведения:

04BA:0100 EB.41 10. 00. BC.42-

04BA:0102 00.-

04BA:0101 10._

Введите 6F в позицию курсора для изменения значения, как показано ниже:

04BA:0101 10.6F_

Нажмите клавишу ENTER для завершения выполнения подкоманды e и возврата к приглашению программы debug.

Рассмотрим пример ввода строковой величины:

eds:100 "Это пример текста"

Эта строка будет занимать 24 байта, начиная с адреса DS:100.

f (fill)

Заполнение адресов в определенной области памяти заданными значениями.

f диапазон список

диапазон - задание начального и конечного адреса или начального адреса и длины области памяти, которую требуется заполнить.

список  - задание данных, которые требуется ввести.

Параметр диапазон используется в подкомандах debug для задания диапазона памяти. Параметр диапазон можно задать в одном из следующих форматов: начальный адрес и конечный адрес или начальный адрес и длина (обозначаемая l) диапазона. Например, оба следующих выражения задают диапазон из 16 байтов, начинающийся с адреса CS:100:

cs:100 10f

cs:100 l 10

Данные можно задать в шестнадцатеричном или текстовом формате. Данные, ранее находившиеся по данному адресу, будут удалены.

Список может состоять из шестнадцатеричных чисел или строки, заключенной в кавычки (т. е. "строка").

Примеры

Чтобы заполнить область памяти с 04BA:100 по 04BA:1FF определенными значениями (например, 42, 45, 52, 54, 41) и повторять этот набор, пока 100h байт не будут заполнены программой Debug.exe, введите следующую команду:

f04ba:100l100 42 45 52 54 41

g (go)

Выполнение загруженной программы. Запущенная без параметров подкоманда g начинает выполнение с текущего адреса в реестрах CS:IP.

g [=адрес] [точки_останова]

адрес - задание адреса в памяти, с которого требуется начать выполнение программы.

точки_останова - указание до 10 временных точек останова, которые могут быть заданы как часть подкоманды g.

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

Введите знак равенства (=) перед параметром адрес, чтобы отличить адрес от адресов точек останова (точки_останова). Выполнение программы будет остановлено в первой встретившейся точке останова, независимо от расположения этой точки останова в списке параметра точки_останова. Debug.exe заменяет код, находящийся в точках останова, на инструкции прерывания. Когда выполнение программы дошло до точки останова, Debug.exe восстанавливает код в точках останова и выводит на экран содержимое всех регистров, все флаги состояния и деассемблированную инструкцию, которая была выполнена последней. Debug.exe выводит те же сведения, которые получают при использовании полкоманды r (регистр) и указании адреса данной точки останова. Если программа не остановлена ни в одной точке, Debug.exe не заменяет коды прерываний первоначальными инструкциями.

Точки останова могут быть установлены только по адресам, содержащим первый байт кода операции 8086 (opcode). Если установлено больше 10 точек останова, выводится следующее сообщение:

bp Error

Указатель на стек, задаваемый пользователем, должен быть допустимым, а емкость стека должна быть не менее 6 байт для подкоманды g. Для перехода к тестируемой программе в подкоманде g используется инструкция iret. Debug.exe устанавливает указатель на стек пользователя, помещает туда пользовательские флаги состояния, значение регистра кодового сегмента и указатель на текущую команду. (Если заданный пользователем стек неверен или имеет недостаточный объем, возможен сбой в операционной системе). Debug.exe записывает код прерывания (т. е. 0CCh) в указанные точки останова или адреса.

Не перезапускайте программу при получении следующего сообщения:

Program terminated normally

Чтобы правильно запустить программу, перезагрузите ее с помощью подкоманд n (name) и l (load). Для получения дополнительных сведений о выполнении циклов, строковых инструкций, программных прерываний и процедур - подкоманда p (proceed), сведения о выполнении одной инструкции - подкоманда t (trace).

Примеры

Чтобы запустить текущую программу и выполнить ее до точки останова по адресу 7550 в сегменте CS, введите следующую команду.

gcs:7550

Debug.exe выведет на экран содержимое регистров и состояние флагов, а затем остановит подкоманду g.

Чтобы установить две точки останова, введите следующую команду:

gcs:7550, cs:8000

Если подкоманда g введена снова после остановки в точке останова, выполнение начнется с инструкции, следующей за точкой останова, а не с обычного адреса начала программы.

i (input)

Считывание и вывод на экран одного байта из указанного порта ввода.

i порт

порт - ввода адресом. Адрес может быть 16-битным значением.

Примеры

Введите следующую команду:

i2f8

Если находящаяся в порту величина равна 42h, Debug.exe считает ее и выведет в следующем виде:

42

l (load)

Загрузка файла или содержимого сектора диска в память. Выполненная без параметров подкоманда l загружает файл, указанный в командной строке программы debug, в память, начиная с адреса CS:100. В регистрах BX и CX указывается количество загруженных байт. Если имя файла не было задано в командной строке debug, используется файл, ранее заданный при вызове последней подкоманды n.

l [адрес]

l [адрес] [диск] [первый_сектор] [число]

адрес - области памяти, в которую требуется загрузить содержимое файла или сектора. Если параметр адрес не задан, используется текущий адрес в регистре CS.

диск  - диск, с которого считываются определенные сектора. Данный параметр задается числом: 0 = A, 1 = B, 2 = C и т. д.

первый_сектор - шестнадцатеричный номер первого сектора, содержимое которого требуется загрузить.

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

диск, первый_сектор и число используются только в том случае, когда необходимо загрузить содержимое определенных секторов, а не файл, указанный в командной строке debug или в последней подкоманде n (name).

Для загрузки задаваемого регистрами BX:CX числа байтов из файла на диске используется: l [адрес]. Для пропуска файловой системы и прямой загрузки указанных секторов используется: l [адрес] [диск] [первый_сектор] [число]. Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр могут быть пропущены.

При вызове подкоманды l с указанием параметра адрес Debug.exe загрузит файл или содержимое сектора диска в область памяти, начиная с адреса. При вызове подкоманды l со всеми параметрами Debug.exe загружает содержимое сектора диска, а не файла. Каждый сектор в указанном диапазоне считывается с диска, заданного параметром диск. Debug.exe начинает загрузку с первого_сектора и последовательно загружает сектора в память, пока не будет загружено заданное число секторов.

Для файлов с расширением .exe параметр адрес игнорируется. В этом случае Debug.exe использует загрузочный адрес, задаваемый в заголовке .exe файла. При загрузке заголовок отделяется от самого .exe файла, загружаемого в память, поэтому размер файла, указанный в заголовке, и фактически занимаемый размер в памяти будут различаться. Для просмотра .exe файла целиком он может быть переименован в файл с другим расширением и затем просмотрен в программе Debug.

В программе Debug.exe файлы с расширением .hex распознаются как файлы в шестнадцатеричном формате. Подкоманду l можно запустить без параметров для загрузки такого шестнадцатеричного файла, начиная с адреса, указанного в данном файле. Если подкоманда l запущена с параметром адрес, начальная точка загрузки определяется как сумма заданного адреса и адреса, содержащегося в шестнадцатеричном файле.

Примеры

debug

nfile.com 

Чтобы загрузить файл File.com, введите следующую команду:

l

Debug.exe загружает этот файл и выводит приглашение debug.

Чтобы загрузить содержимое 109 (6Dh) секторов диска C, начиная с логического сектора 15 (0Fh), в область памяти, начиная с адреса 04BA:0100, введите следующую команду:

l04ba:100 2 0f 6d

m (move)

Копирование содержимого одного блока памяти в другой.

m диапазон адрес

диапазон - начальный и конечный адрес или начальный адрес и длина области памяти, содержимое которой требуется скопировать.

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

Параметр диапазон используется в подкомандах debug для задания диапазона памяти. Параметр диапазон можно задать в одном из следующих форматов: начальный адрес и конечный адрес или начальный адрес и длина (обозначаемая l) диапазона. Например, оба следующих выражения задают диапазон из 16 байтов, начинающийся с адреса CS:100:

cs:100 10f

cs:100 l 10

Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр могут быть пропущены. Если адреса в копируемом блоке памяти заданы так, что в этот блок не записываются новые данные, то информация в этом блоке не изменяется. Если же операция копирования является перекрывающей, перекрывающиеся данные перезаписываются. (Операция копирования является перекрывающей, если два блока памяти имеют общую часть).

Подкоманда m выполняет перекрывающее копирование без потери данных в области назначения. Содержимое адресов, которые будут перезаписаны, копируется в первую очередь. Если данные копируются из старших адресов в младшие адреса, операция копирования начинается с младшего адреса исходного блока и продолжается в направлении старшего адреса. И наоборот, если данные копируются из младших адресов в старшие, копирование начинается со старших адресов исходного блока и продолжается в направлении младшего адреса.

Примеры

Чтобы скопировать содержимое адресов с CS:110 по CS:510, а затем с CS:10F по CS:50F и так далее, пока все содержимое адресов с CS:100 по CS:500 не будет скопировано, введите следующую команду:

mcs:100 110 cs:500

Чтобы просмотреть результаты, воспользуйтесь подкомандой d (dump), указав адреса, заданные в подкоманде m.

n (name)

Задание имени исполняемого файла для команд debug l (load) или w (write) или задание параметров для отлаживаемого исполняемого файла. Выполненная без параметров подкоманда n очищает текущие значения.

n [путь][исполняемый_файл]

n [параметры_файла]

Задание расположения и имени исполняемого файла для тестирования, параметров и ключей командной строки для тестируемого исполняемого файла.

Подкоманду n можно использовать двумя способами. Во-первых, для задания имени файла для последующих подкоманд l (load) или w (write). Если программа Debug.exe вызвана без задания имени файла для отладки, команда n имя_файла должна быть вызвана перед использованием команды l для загрузки файла. Имя файла форматируется соответствующим образом для контрольного блока файла (FCB) по адресу CS:5C. Во-вторых, подкоманда n может использоваться для задания параметров и ключей командной строки отлаживаемого файла.

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

Область памяти

Содержимое

CS:5C

Блок управления файлом (FCB) для файла 1

CS:6C

Блок управления файлом (FCB) для файла 2

CS:80

Длина строки команды n (в символах)

CS:81

Начало строки команды n

Первое имя файла, задаваемое командой n, размещается в блоке управления файлом по адресу CS:5C. Если задано второе имя, оно помещается в блок управления файлом по адресу CS:6C. Количество символов в командной строке команды n (кроме первого символа, n) сохраняется по адресу CS:80. Собственно командная строка n (снова без символа n) сохраняется, начиная с адреса CS:81. Эти символы могут быть любыми параметрами и разделителями, которые допустимо вводить с командной строки в Windows 2000.

Примеры

В этом примере запускается команда debug и загружается программа Prog.com для отладки. Чтобы указать два параметра для программы Prog.com и запустить эту программу, введите следующую команду:

debug prog.com

nparam1 param2

g

В этом случае подкоманда g (go) запускает программу так, как если бы она была запущена с командной строки в виде:

prog param1 param2

При тестировании и отладке создается среда времени исполнения для программы Prog.com.

В следующей последовательности команд первая подкоманда n задает имя файла File1.exe для последующей подкоманды l (load), которая загружает файл File1.exe в память. Вторая подкоманда n задает  для файла File1.exe. Наконец, подкоманда g запускает File1.exe так, как если бы с командной строки было бы введено File1 File2.dat File2.dat.

nfile1.exe

lnfile2.dat file3.dat

g 

После команды l во втором экземпляре команда n не используется. Если подкоманда w (write) используется во втором экземпляре подкоманды n, файл File1.exe (т. е. отлаживаемый) сохраняется под именем File2.dat. Чтобы этого не произошло, всегда вызывайте команду l или w сразу же после команды n в первой форме.

o (output)

Вывод байта в порт вывода.

o порт байт

порт - адрес порта вывода, 16-битное значение.

байт - значение байта, выводимого в порт.

Примеры

Чтобы отправить байт 4Fh в порт вывода по адресу 2F8h, введите следующую команду:

o2f8 4f

p (proceed)

Выполнение цикла, строковой инструкции, программного прерывания или процедур, а также вход в другую инструкцию. Выполненная без параметров команда p выводит список реестров и их текущих значений.

p [=адрес] [число]

адрес - инструкции, которая будет выполнена первой. Если адрес не указан, по умолчанию выполнение начнется с инструкции, задаваемой регистрами CS:IP.

число - количество инструкций, которые будут выполнены перед возвратом управления программе Debug.exe. По умолчанию используется значение 1.

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

Если в параметре адрес не указан сегмент, Debug.exe использует регистр CS тестируемой программы. Если параметр адрес опущен, выполнение программы начинается с адреса, указываемого регистрами CS:IP. Чтобы отличить параметр адрес от параметра число, перед адресом обязательно должен быть введен знак равенства (=). В случае если инструкция по заданному адресу не является циклом, строковой инструкцией, программным прерыванием или процедурой, подкоманда p работает также, как подкоманда t (trace).

Если в программе Debug.exe управление передано тестируемой программе с помощью команды p, выполнение продолжается до тех пор, пока цикл, строковая инструкция, программное прерывание или процедура не будут закончены или пока не будет выполнено заданное количество инструкций. Затем управление возвращается к Debug.exe.

После запуска подкоманды p Debug.exe выводит на экран содержимое регистров, флаги состояния и следующую инструкцию в деассемблированном виде.

Подкоманда p не может быть использована для отладки инструкций, содержащихся в ПЗУ.

Примеры

В этом примере тестируемая программа содержит инструкцию call по адресу CS:143F. Чтобы выполнить процедуру, указанную в call, и возвратиться в программу Debug.exe, введите следующую команду:

p=143f

Результаты программы Debug.exe будут выведены в следующем формате:

AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

DS=2246 ES=2246 SS=2246 CS=2246 IP=1443 NV UP EI PL NZ AC PO NC

2246:1442 7505 JNZ 144A 

q (quit)

Окончание работы программы Debug.exe без сохранения тестируемого файла и возврат в командную строку.

q

r (register)

Редактирование содержимого одного или нескольких регистров ЦПУ. Выполненная без параметров команда r выводит содержимое всех регистров и флагов из временного хранилище регистра, состояния всех всех флагов и декодированную инструкцию в текущей области.

r [регистр]

регистр - имя регистра, содержащего сведения, которые требуется вывести на экран.

Если задан регистр, Debug.exe выводит на экран его 16-разрядное значение в шестнадцатеричном формате и двоеточие в качестве приглашения. Если требуется изменить значение содержащееся в регистре, введите новое значение и нажмите клавишу ENTER. В противном случае нажмите клавишу ENTER для возврата к приглашению программы debug.

В следующей таблице перечислены допустимые регистры x86 для параметра регистр.

Ax

bp

bx

Cs

Cx

di

ds

Dx

Es

f

ip

Pc

Si

sp

ss

Если задан недопустимый регистр, выводится следующее сообщение: Ошибка: br

Если указать f вместо регистра, Debug.exe выводит на экран текущее значение каждого флага состояния в виде двухбуквенного кода и приглашение debug. Для изменения значения флага введите соответствующий двухбуквенный код, воспользовавшись следующей таблицей.

Флаг

Установлен

Снят

Переполнение

Ov

Nv

Направление

dn (уменьшение)

up (увеличение)

Прерывание

ei (включено)

di (выключено)

Знак

ng (отрицательный)

pl (положительный)

Ноль

zr

Nz

Добавочный перенос

ac

Na

Четность

pe (четный)

po (нечетный)

Перенос

cy

Nc

Новые значения флагов могут быть введены в любой последовательности. Между этими значениями не нужно вводить пробел. Чтобы завершить выполнение подкоманды r, нажмите клавишу ENTER. Флаги, новые значения для которых не вводились, останутся неизмененными.

При задании более одного значения для флага выводится следующее сообщение:

Ошибка: df

При вводе кода, не содержащегося в таблице, выводится следующее сообщение:

Ошибка: bf

В обоих случаях Debug.exe пропустит все значения, следующие после неверного ввода.

Когда запускается программа Debug.exe, сегментный регистр указывает на нижнюю границу свободной памяти, указатель инструкций устанавливается равным 0100h, все флаги состояния очищаются, оставшиеся регистры обнуляются, за исключением sp, который устанавливается равным FFEEh.

Примеры

Если текущее положение указателя инструкций равно CS:11A, выводятся следующие сведения:

AX=0E00 BX=00FF CX=0007 DX=01FF SP=039D BP=0000 SI=005C DI=0000

DS=04BA ES=04BA SS=04BA CS=O4BA IP=011A NV UP DI NG NZ AC PE NC

04BA:011A CD21 INT 21

Чтобы просмотреть только состояния флагов, введите следующую команду:

rf

Результаты программы Debug.exe выводятся в следующем формате:

NV UP DI NG NZ AC PE NC - _

Введите одно и несколько допустимых значений флагов с пробелами или без них. Например:

nv up di ng nz ac pe nc - pleicy

Debug.exe завершит выполнение подкоманды r и выведет приглашение debug. Для просмотра изменений воспользуйтесь командой r или rf. Программа Debug.exe выводит следующие сведения:

NV UP EI PL NZ AC PE CY - _

Нажмите клавишу ENTER для возврата к приглашению программы debug.

s (search)

Поиск в области памяти по шаблону из одного или нескольких байт.

s диапазон список

диапазон - начальный и конечный адреса области памяти, в которой будет производиться поиск.

список - шаблон из одного или нескольких байт или символьной строки для поиска.

Параметр диапазон используется в подкомандах debug для задания диапазона памяти. Параметр диапазон можно задать в одном из следующих форматов: начальный адрес и конечный адрес или начальный адрес и длина (обозначаемая l) диапазона. Например, оба следующих выражения задают диапазон из 16 байтов, начинающийся с адреса CS:100:

cs:100 10f

cs:100 l 10

Если используется параметр список, отделяйте значение каждого байта пробелом или запятой, а строки заключайте в кавычки (т. е. "строка"). Если список содержит несколько значений, выводится только первый адрес, в котором встречается данное значение. Если список содержит только одно значение, выводятся все адреса из указанного диапазона, в которых встречается данное значение.

Примеры

Чтобы найти все адреса в диапазоне от CS:100 до CS:110, содержащие значение 41, введите следующую команду:

scs:100 110 41

Результаты программы Debug.exe будут выведены в следующем формате:

04BA:0104

04BA:010D

Чтобы найти строку «Ph» в диапазоне от CS:100 до CS:1A0, введите следующую команду:

scs:100 1a0 "Ph"

t (trace)

Выполнение одной инструкции с выводом содержимого регистров, флагов состояния и декодированной формы выполняемой инструкции. При запуске подкоманды t без параметров выполнение начинается с адреса, указанного в регистрах CS:IP программы.

t [=адрес] [число]

адрес, с которого Debug.exe начнет выполнение инструкций.

число инструкций для выполнения.

Указанное значение должно быть шестнадцатеричным числом. По умолчанию значение равно 1.

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

Подкоманда t использует аппаратный режим трассировки микропроцессоров 8086 и 8088. Можно трассировать инструкции, хранимые в ПЗУ.

Примеры

Если текущая позиция указателя кода является 04BA:011A, Debug.exe выведет следующие сведения:

AX=0E00 BX=00FF CX=0007 DX=01FF SP=039D BP=0000 SI=005C DI=0000 DS=04BA ES=04BA SS=04BA CS=O4BA IP=011A NV UP DI NG NZ AC PE NC 04BA:011A CD21 INT 21

u (unassemble)

Деассемблирование байтов и просмотр соответствующего исходного кода, включая адреса и двоичные значения. Деассемблированный код выводится в формате, похожем на распечатку ассемблерного файла. Выполненная без параметров подкоманда u деассемблирует 20h байт (значение по умолчанию), начиная с первого адреса после адреса, использованного в предыдущей подкоманде u.

u [диапазон]

диапазон - начальный и конечный адрес или начальный адрес и длина участка двоичного кода, который требуется деассемблировать.

Параметр диапазон используется в подкомандах debug для задания диапазона памяти. Параметр диапазон можно задать в одном из следующих форматов: начальный адрес и конечный адрес или начальный адрес и длина (обозначаемая l) диапазона.

Примеры

Чтобы деассемблировать 16 (10h) байт, начиная с адреса 04BA:0100, введите следующую команду:

u04ba:100l10

Результаты программы Debug.exe выводятся в следующем формате:

04BA:0100 206472 AND [SI+72],AH

04BA:0103 69 DB 69

04BA:0104 7665 JBE 016B

04BA:0106 207370 AND [BP+DI+70],DH

04BA:0109 65 DB 65

04BA:010A 63 DB 63

04BA:010B 69 DB 69

04BA:010C 66 DB 66

04BA:010D 69 DB 69

04BA:010E 63 DB 63

04BA:010F 61 DB 61

Чтобы просмотреть сведения только об адресах с 04BA:0100 по 04BA:0108, введите следующую команду:

u04ba:0100 0108

Программа Debug.exe выводит следующие сведения:

04BA:0100 206472 AND [SI+72],AH

04BA:0103 69 DB 69

04BA:0104 7665 JBE 016B

04BA:0106 207370 AND [BP+DI+70],DH

w (write)

Запись файла или определенных секторов на диск. При запуске подкоманды w без параметров запись начинается с адреса CS:100.

w [адрес]

w [адрес] [диск] [первый_сектор] [число]

адрес - начальный адрес файла или части файла, который требуется записать на диск.

диск - диск назначения. Данный параметр задается числом: 0 = A, 1 = B, 2 = C и т. д.

первый_сектор - шестнадцатеричный адрес первого сектора для записи.

число - количество секторов, которые требуется записать.

Для записи количества байт, заданного в регистрах BX:CX, в файл на диске используется следующий команды:

w [адрес]

Для пропуска файловой системы и прямой записи указанных секторов используется следующий  команды:

w [адрес] [диск] [первый_сектор] [число]

Адрес состоит из двух частей: первая содержит буквенное обозначение сегментного регистра или адрес сегмента из четырех цифр, а вторая содержит значение смещения. Адрес сегмента или сегментный регистр могут быть пропущены. Имя файла на диске нужно задать при запуске программы Debug.exe или в последней вызванной подкоманде n (name). Оба эти метода правильно форматируют имя файла для блока управления файлом (FCB) по адресу CS:5C.

Сброс значений регистров BX:CX перед использованием команды w без параметров. Если используются подкоманды g (go), t (trace), p (proceed) или r (register), перед использованием команды w без параметров значения регистров BX:CX необходимо сбросить. Если файл был изменен, но имя, размер и начальный адрес не менялись, Debug.exe позволяет записать файл в его исходное расположение на диске. Файлы с расширениями .exe и .hex нельзя записать с помощью этой команды. Непосредственная запись в сектор диска является исключительно опасной, так как в этом случае не выполняется дескриптор файла Windows XP. Логическая структура диска может быть повреждена при вводе неверного значения.

Примеры

Чтобы записать содержимое области памяти, начиная с адреса CS:100, на диск B и собрать данные из 2Bh секторов, начиная с логического сектора диска под номером 37h, введите следующую команду:

wcs:100 1 37 2b

После окончания операции записи выводится приглашение программы debug.

xa (allocate expanded memory)

Выделение заданного количества страниц памяти EMS. Выполненная без параметров подкоманда xa проверяет наличие или отсутствие поддержки дополнительной памяти (EMS).

xa [число_страниц]

число_страниц памяти EMS. Размер страницы составляет 16 килобайт.

Система Windows XP не поддерживает память EMS. Для использования памяти EMS на компьютере должен быть установлен драйвер памяти EMS, поддерживающий версию 4.0 спецификации Lotus/Intel/Microsoft Expanded Memory Specification (LIM EMS). Если запрашиваемое количество страниц доступно, Debug.exe выводит сообщение о шестнадцатеричном номере созданного дескриптора. В противном случае выводится сообщение об ошибке.

Примеры

Чтобы выделить восемь страниц дополнительной памяти, введите следующую команду:

xa8

Если команда успешно выделит память, выводятся следующие сведения:

Создан дескриптор=0003

xd (deallocate expanded memory)

Освобождение дескриптора памяти EMS. Выполненная без параметров подкоманда xd проверяет наличие или отсутствие поддержки дополнительной памяти (EMS).

xd [дескриптор]

дескриптор - освобождаемый дескриптор.

Система Windows XP не поддерживает память EMS. Для использования памяти EMS на компьютере должен быть установлен драйвер памяти EMS, поддерживающий версию 4.0 спецификации Lotus/Intel/Microsoft Expanded Memory Specification (LIM EMS).

Примеры

Чтобы освободить дескриптор 0003, введите следующую команду:

xd 0003 

При успешном выполнении программы Debug.exe будет выведено сообщение:

Дескриптор 0003 освобожден 

xm (мар expanded memory pages)

Отображение логической страницы памяти EMS, соответствующей заданному дескриптору, в физическую страницу памяти EMS. Выполненная без параметров подкоманда xm проверяет наличие или отсутствие поддержки памяти EMS.

xm [лог_страница] [физ_страница] [дескриптор]

лог_страница - номер логической страницы памяти EMS, которая будет отображена в физическую страницу физ_страница.

физ_страница - номер физической страницы памяти EMS, в которую будет отображена логическая страница лог_страница.

дескриптор - задание дескриптора.

Система Windows XP не поддерживает память EMS. Для использования памяти EMS на компьютере должен быть установлен драйвер памяти EMS, поддерживающий версию 4.0 спецификации Lotus/Intel/Microsoft Expanded Memory Specification (LIM EMS).

Примеры

Чтобы отобразить логическую страницу 5 дескриптора 0003 в физическую страницу 2, введите следующую команду:

xm 5 2 0003

При успешном выполнении программы Debug.exe будет выведено сообщение:

Логическая страница 05 отображена на физическую страницу 02

xs (display expanded memory status)

Вывод сведений о состоянии памяти EMS.

xs

Для использования памяти EMS на компьютере должен быть установлен драйвер памяти EMS, поддерживающий версию 4.0 спецификации Lotus/Intel/Microsoft Expanded Memory Specification (LIM EMS). Результаты программы Debug.exe выводятся в следующем формате:

Для дескриптора xx выделено xx страниц

Физическая страница xx = Сегмент EMS xx

Выделено xx из xx страниц EMS

Выделено xx из xx дескрипторов EMS

Примеры

Чтобы вывести сведения о состоянии памяти EMS, введите следующую команду:

xs

Подкоманда xs выводит сведения в следующем виде:

   Handle 0000 has 0000 pages allocated

   Для дескриптора 0001 выделено 0002 страниц

   Физическая страница 00 = Сегмент EMS C000

   Физическая страница 01 = Сегмент EMS C400

   Физическая страница 02 = Сегмент EMS C800

   Физическая страница 03 = Сегмент EMS CC00

      Выделено  2 из 80 страниц EMS

      Выделено 2 из FF дескрипторов EMS

Перечень заданий

1. Изучить назначение и функциональные возможности отладчика программ DEBUG:

  1.  вызвать отладчик DEBUG 
  2.  посмотреть содержимое регистров МП (команда R с необходимыми опциями): AX, CX, SS, SP, CS, IP и других (всех сразу и нескольких по очереди);
  3.  записать все команды и информацию, выводимую на экран;
  4.  расшифровать полученные сообщения: структуру и содержание;
  5.  пояснить сообщения о состоянии флагов регистра F.

2. Посмотреть и записать содержимое некоторых ячеек ОП (команда D с необходимыми опциями) в ячейках с соответствующими векторами адресов посмотреть интересную информацию о компьютере.

Адреса:

f000:fffe(1 байт) — тип машины (ff—PC, fe—XT, fc—AT и др.);

ffff:05 (8 байт) — дата создания загруженной BIOS в формате mm/дд/гг;

0000:413 (2байт) — объем доступного пользователю ОЗУ (в Кб).

При написании отчета по лабораторной работе расшифровать и пояснить увиденную информацию, указать, к какому типу RAM или ROM относится просматриваемая ячейка.

3. Ввести информацию в некоторые регистры и ячейки памяти (команды R, E и F с необходимыми опциями):

  1.  ввести несколько различных чисел в регистры МП и ячейки памяти. Записать все поданные команды и вводимую информацию;
  2.  ввести в несколько последовательных ячеек памяти строкоую информацию: факультет, N группы, ФИО студентов и любой текст из 10—20 слов, предпочтительно на английском языке;
  3.  проверить правильность записи информации в указанные ячейки; посмотреть и записать вектор—адреса каждой ячейки и ту часть текста, которая в них находится.

Bнимание. Чтобы не портить основные файлы операционной системы и и не пытаться записать информацию в область ПЗУ использовать ячейки памяти в сегментах 1000—9FFF.

4. Осуществить поиск информации в тексте (команда S с необходимыми опциями). Последовательно указать 2–3 слова в разных местах введенного текста и записать полученные из машины вектор–адреса ячеек, содержащих эти слова.

5. Ввести ассемблерную программу и создать фрагмент программы с расширением .COM. Введите любой фрагмент ассемблерной программы, содержащий несколько строк, например:

mov ax,15

mov bx,5

add ax,bx

div bx

Для этого:

  1.  ввести команду –а;
  2.  после появления на экране вектор–адреса типа ХХХХ:0100 ввести первую строку программы (если смещение вектор–адреса не будет равно 0100, повторно ввести команду -а, но с адресом 100,т.е.:-а100);
  3.  после ввода очередной строки и нажатия клавиши ENTER, появляется следующий вектор–адрес;
  4.  ввести очередную строку программы, и так до конца программы;
  5.  после набора всех строк программы нажать клавишу ENTER два раза (1 раз— перевод строки, 2 раз— окончание набора программы). В результате будет сформирован фрагмент программы с расширением .COM;
  6.  записать всю программу с вектор–адресами команд.

6. Отладить и выполнить полученную программу в режиме трассировки: 

  1.  посмотреть содержимое всех регистров МП и первую команду программы ( команда R);
  2.  записать полученное сообщение;
  3.  выполнить первую и последующие команды программы в режиме трассировки (команда Т).

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

7. Записать отлаженную программу на диск: 

  1.  записать в регистр BX нуль, в регистр СХ — длину программы в байтах (длину программы рассчитать для записанной в предыдущем задании программы, как разность смещений последней и первой команд программы + длина последней команды );
  2.  присвоить программе имя: —n диск:prog1.com (работаем на дисководе диск);
  3.  ввести команду записи на диск:  –w;
  4.  покинуть Debug (команда –q) и посмотреть наличие программы на диске, используя команду DIR.

8. Загрузить программу в отладчик Debug:

  1.  загрузить Debug;
  2.  в отладчике ввести в регистр Cх длину программы, в регистр Bx — 0 (обнулить), объявить имя программы (–n диск:prog1.com) и ввести команду загрузки -L.

9. Деассемблировать программу (команда –u) 

Имея в виду, что Debug обычно загружает программу в память с вектор–адресом начальной ячейки CS:0100, набрать –u100 Lk, где k длина загруженной программы (или ее просматриваемой части). Записать и проанализировать структуру и содержание полученного сообщения.

10. Изменить команду в исполняемой программе:

  1.  выбрать подлежащую изменению команду, например, в prog1.com изменить команду add (сложение) на sub (вычитание);
  2.  изменить машинный код команды в соответствующей ячейке памяти, используя команду –e. Машинный код вновь используемой команды можно либо посмотреть в листингах прежних программ, либо специально ассемблировать и деассемблировать новую строку в программе;
  3.  выполнить измененную программу в режиме трассировки и записать все полученные сообщения с кратким их анализом;
  4.  записать новую программу под именем prog2.com на диск;
  5.  выйти из Debug и посмотреть наличие этой программы на диске;
  6.  выполнить команду DIR и записать все реквизиты файлов prog1.com и prog2.com, а также каких нибудь двух файлов с расширением  .TXT и .EXE.

11. Просмотр файлов в Debug.

Загрузить выбранный текстовый файл в отладчик Debug, в командной строке командного процессора Command.com   набрать Debug  путь\имя_файла.txt

Загрузить выбранный исполняемый файл в отладчик Debug, в командной строке командного процессора   набрать:
Debug  путь\имя_файла.exe

Используя команду D посмотреть ASCII—коды  и ASCII—символы  фрагмента загруженного текстового файла (примерно 200 ячеек). Записать и проанализировать их.

Используя команду D посмотреть  ассемблерный код  фрагмента программы с расширением .EXE  и пояснить его.

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

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

Отчет должен содержать:

  1.  краткие сведения об отладчике Debug;
  2.  описание всех процедур и экраны диалога по всем заданиям работы;
  3.  анализ полученных сообщений при выполнении заданий 2, 6, 9, 10, 11, 12.


ЛАБОРАТОРНАЯ РАБОТА N 4. 'ASSEMBLER 

Часть 1. Этапы формирования ассемблерной программы

Цель цикла работ - ознакомиться: с элементами программирования на языке ассемблера ПК, со структурой исполняемых .ЕХЕ машинных программ, с процессами ассемблирования и создания исполняемой машинной программы, с отладкой программ в среде отладчика DEBUG, получить навыки работы на профессиональной ПК . Изучить взаимодействие компонентов ПК при исполнении машинной программы и процедур прерывания. Познакомиться  с процедурами машинного перевода ASCII-кодов в двоичные коды и обратно.

Необходимые ресурсы:

  1.  Оборудование: IBM PC совместимая ПК. 
  2.  Программное обеспечение: MS DOS, транслятор-компилятор MASM; EDIT NC или иной текстовый редактор, формирующий файлы с расширением .TXT; загрузчик программ LINK; отладчик программ DEBUG. 

Порядок выполнения работ

 1. Ознакомиться с теоретическими вопросами выполнения заданий лабораторной работы: с элементами программирования на языке ассемблера ПК, с системой прерываний ПК и использованием прерываний в ассемблере, со структурой исполняемых .ЕХЕ машинных программ, с процессами ассемблирования и создания исполнимой машинной программы

 2. Выполнить задания. 

 3. Ознакомить преподавателя с результатами работы. Ее завершение по разрешению преподавателя . Получение задания на следующую работу. 

Перечень заданий

  1.  Ознакомиться с элементами программирования для ПК на языке ассемблера ( включая : структуру и назначение регистровой памяти МП, способы адресации ячеек основной памяти, основные прерывания BIOS и DOS, используемые при работе с клавиатурой, дисплеем и дисковой памятью).
  2.  Ознакомиться с процессами ассемблирования, редактирования связей и создания исполняемых машинных программ с расширением .ЕХЕ. 

Этапы формирования программы

1. Составление программы и ее ввод под каким-нибудь именем на диск (дискету).

При вводе программы используется какой-либо текстовой редактор, например редактор NC

2. Трансляция (ассемблирование) программы.

При использовании транслятора MASM вводится:

MASM c:prog.asm или просто MASM.

Появится запрос:

Surce filename [.asm]:     

; указать путь к файлу и имя файла

; (если оно не было указано ранее).

Object filename [prog.obj]:  

; если имя объектной программы

; (объектного модуля) другое, то

; следует его указать, иначе нажать

; клавишу ENTER (RETURN).

Source listing [nul.lst]:     

; если нужен листинг программы в

; машинных кодах, ввести имя

; дисковода, где его формировать,

; иначе - ENTER.

Cross-reference [nul.crf]:    ; если нужен листинг перекрестных

; ссылок программы, ввести имя

; дисковода, иначе - ENTER.

Альтернативный вариант вызова ассемблера:

MASM [c:]prog, c:, c:, c:

Примечание:

ЛИСТИНГ - распечатка, файл для распечатки. Листинг программы содержит программу исходную и в машинных кодах, а также обнаруженные при трансляции ошибки в программе; листинг перекрестных ссылок показывает имена переменных и номера строк программы, где эти переменные используются.

3. Компоновка объектного модуля (загрузка и редактирование связей).

Вводится:

LINK c:prog.obj  ;(или просто LINK)

Появится запрос:

Object modules [.obj]    

; указать имя файла .obj, если оно не                     ; было указано ранее.

Run file [prog.exe]       

; если имя исполняемой программы другое,

; то следует его ввести, иначе - ENTER.

List file [nul.map] ; следует ввести CON.

Libraries [  .lib]

; обычно - ENTER (если при редактировании

; дополнительных библиотек связей не                     

; требуется).

 Альтернативный вариант вызова загрузчика:

LINK [c:]prog.obj, c:, con

Примечание.

.map-файл содержит таблицу имен и размер сегментов, а также ошибки, обнаруженные при загрузке; ввод CON означает требование вывода их на экран дисплея.

4. Отладка программы (если есть необходимость). Можно использовать отладчик Debug. Вызов отладчика Debug:

DEBUG c:prog.exe.

5. Выполнение программы.

При наличии приглашения к работе MS DOS ввести имя программы:

c:prog[.exe]

Структура исходной программы на языке ассемблера для получения исполняемой программы .exe.

Операционная система MS DOS предъявляет некоторые обязательные требования к структуре .ASM-программы, предназначенной для последующего создания .EXE-программы:

  1.  программа может использовать 4 сегмента памяти, начальные адреса которых должны быть загружены в регистры микропроцессора: CS, SS, DS и ES, а сами сегменты в явном виде определены в программе в виде операторных скобок: имя_сегмента segment ... имя_сегмента ends (весии MS DOS 4.0 и выше допускают более простое указание сегментов в программе: имя_сегмента);
  2.  в программе должно быть указание: какие сегментные регистры закрепляются за используемыми сегментами памяти; при исполнении программы сегментные регистры CS, SS, ES в соответствии с этими указаниями загружаются автоматически;
  3.  сегмент данных DS в .EXE-программе не может быть загружен авто матически, поскольку он используется программой-загрузчиком (Link) для формирования начального адреса служебной области памяти - префикса программного сегмента (PSP), непосредственно предшествующего любой исполняемой программе.

Регистр сегмента данных DS должен быть инициирован принудительно – для этого следует в самом начале исполняемой .EXE-программы записать в стек вектор-адрес возврата к служебной области PSP: содержимое регистра DS и нулевое смещение, а затем в регистр DS загрузить адрес сегмента данных исполняемой программы.

Примечание. PSP - группа служебных слов в оперативной памяти, формируемая для каждой загружаемой программы пользователя и занимающая обычно 256 байт (100Н байт). При загрузке программы пользователя в ОЗУ автоматически формируется PSP, и ее начальный адрес записывается в регистр DS.

Обеспечить после завершения выполнения программы возврат к префиксу программного сегмента, оформив обращение к исполняемой программе в виде обращения к процедуре (главной процедуре, обязательно с атрибутом far) и поместив в конце программы команду возврата ret (выход из программы можно выполнить также используя прерывание 20H DOS или функцию 4C прерывания 21H DOS, но управление при этом передается не в PSP, а непосредственно в резидентную часть программы COMMAND.COM).

Типовая структура .ASM-программы

1. Имя программы:     

 TITLE prog.ASM        

; может быть комментарий назначения программы

2. Инициализация стековой памяти в сегменте стека:

STACKSEG segment stack

DW N dup(?)           

; меньше N=32 слов в стеке обычно

; задавать не следует

STACKSEG ends

3. Инициализация всех переменных в сегменте данных:

DATASEG segment

;задаются имена всех констант и переменных,

; их начальные значения и резервируется

; память под них

DATASEG ends

4. Назначения сегментных регистров в сегменте кодов:

CODESEG segment

assume CS:codeseg, DS:dataseg, SS:stackseg

5. Организация главной программной процедуры far

MAIN  proc  far

6. Запись адреса префикса программного сегмента (PSP) в стек:

push DS

sub AX, AX

push AX             

7. Инициализация содержимого регистра сегмента данных:

mov AX, dataseg

mov DS, AX

;при указании в команде в качестве операнда символического

;имени сегмента (dataseg) происходит пересылка начального

;адреса этого сегмента - неверно указывать offset dataseg

8. Текст программы пользователя в сегменте кодов:

;основной текст программы

9. Восстановление адреса PSP в DS:

ret   

10. Тексты используемых процедур

;если имеются процедуры near , используемые в данной программе (например, процедуры str2bin или bin2str), то записываются тексты этих процедур.

11. Закрытие главной процедуры main, сегмента кодов и конец программы:   

MAIN    endp  

CODESEG ends

end  MAIN

Итак, обобщенная структура программы:

title     prog.asm

stackseg segment

;задание поля памяти для стека

stackseg ends

dataseg  segment

;задание полей памяти для данных и

;определение всех констант и переменных

dataseg  ends

codeseg  segment

assume CS:codeseg, DS:dataseg, SS:stackseg

main    proc  far      

push DX

sub AX, AX

push AX

mov AX, dataseg

mov DS, AX

;основной текст программы

ret

;тексты ближних процедур

main    endp

codeseg ends

end  main

Пример программы

Задача расчета сложных процентов.

Капитал Q вкладывается в некоторое мероприятие, обеспечивающее ежегодный прирост капитала D%. Определить текущую величину капитала в течение первых N лет.

.ASM-программа для создания исполняемой .EXE-программы.

title      Raschet.asm       

;расчет сложных процентов

stacksg   segment  stack 'stack'

   dw      64 dup(?)

stacksg   ends

datasg    segment  'data'     

; задание переменных

VVQ db 'Введите величину начального капитала (до 64000)'

   db 10,13,'$'

VVD db 10,13,'Введите процент годового прироста'

   db 10,13,'$'

VVN db 10,13,'Введите количество расчетных лет'

   db 10,13,'$'

Q0 dw    ?

D  dw    ?

D1 dw     ?

N  dw     ?

I  dw    1

Q  dw    ?

buf db 5,0,0,0,0,0,0,0

viv1 db '  год       капитал'

    db 10,13,'$'

srb  db 14 dup(0),'$'      

sr   db 6 dup(0),'$'

srk  db 10,13,'$'

ft10 dw 1

ten  dw 10

sto  dw 100

datasg ends

codesg segment 'code'

main proc far

assume  CS:codesg, DS:datasg, SS:stacksg

push    DS

sub      AX,AX

push     AX

mov      AX,datasg

mov      DS,AX

mov     AH,9       ; запрос на ввод Q

mov     DX,offset VVQ

int       21H

mov      AH,0AH      ; ввод Q

mov      DX,offset buf

int       21H

call      str2bin

mov      Q0,DI

mov      AH,9       ; запрос на ввод D

mov      DX,offset VVD

int       21H

mov      AH,0AH      ; ввод D

mov      DX, offset buf

int       21H

call      str2bin

mov     D,DI

mov     AH,9       ; запрос на ввод N

mov     DX,offset VVN

int       21H

mov     AH,0AH      ; ввод N

mov     DX,offset buf

int      21H

call     str2bin

mov     N, DI

mov     AX,D

mov     D1,AX

add     D1,100       ; расчет D1=(1+D/100)*100

mov     AX, Q0       ; присвоение Q=Q0

mov     Q, AX

mov     ah,9      

mov     dx,offset viv1

int      21H      

rst:    mov     AX, Q       ; расчет Q=Q*D1

mul      D1

div      sto

mov     Q, AX

mov     AX,I

call      bin2str

mov     AH,9        ;вывод года

mov      DX,offset sr

int       21H

mov     AH,9        ;вывод пробела

mov      DX,offset srb

int       21H      

mov      AX,Q        ;вывод прибыли

call       bin2str

mov      AH,9       

mov      DX,offset sr

int       21H 

mov     AH,9        ;перевод строки

mov     DX,offset srk

int       21H

inc      I           ; I=I+1

mov     AX, I       ; сравнение I с N

cmp     AX, N

jle       rst        ; условный переход по I<=N

ret

bin2str  proc      near

mov      si,offset sr+5   

; процедура перевода двоичного

pr2:    sub      dx,dx       

;кода в код ASCII с предварительным

mov      [si],dl       ;обнулением поля sr -

dec       si            

cmp      si,offset sr     

ja        pr2         

mov      cx,10                  

mov      si,offset sr+5             

pr1:    xor       dx,dx                  

div       cx                   

or        dl,30h                 

mov      [si],dl                 

dec       si

cmp      ax,0                    

jne       pr1                   

ret                      

bin2str  endp                      

str2bin  proc      near        

; процедура перевода ASCII

mov      ft10,1       ; -кодов в двоичный код

xor       DI,DI

mov      cx,10                

lea       si,buf+1              

xor       bh,bh                

mov       bl,[buf+1]             

pr3:    mov      al,[si+bx]             

and       ax,0fh               

mul       ft10                

add        DI,ax

mov       AX,ft10

mul        ten                

mov       ft10,AX               

dec        bx                 

jnz         pr3                 

ret                     

str2bin  endp                    

main    endp

codesg  ends

end    main

Примечание. В качестве иллюстративного примера для сравнения сложности программ на языке ассемблера с программами на языке высокого уровня, ниже приводится без пояснений программа решения этой задачи на языке Бейсик:

    10 print "Расчет сложных процентов"

    20 input "Введите Q, D, N", Q, D, N

    30 D1=1+D/100

    40 I=1

    50 Q=Q*D1

    60 print I, Q

    70 I=I+1

    80 if I<=N then 50

    90 end

Основные сведения о листинге и его структуре

Листинг (распечатка) программы на ассемблере используется как при создании ассемблерных программ, так и в качестве источника информации для квалифированных программистов при отладке и оптимизации программ, написанных на языках высокого уровня. Ни один компилятор и его листинг не дает программисту такого количества полезной технической информации, как ассемблер. Ведь одна из основных целей использования языков высокого уровня - как раз желание избежать не очень существенных технических подробностей. Но если программист хочет разобраться с подробностями созданной программы, то большинство отладчиков могут распечатать эквивалент созданной объектной программы на языке ассемблера. Эти распечатки позволяют программисту оценить качество программы и являются весьма полезными при ее оптимизации.

Ниже приводятся .ASM-программа вычисления квадратного корня из вводимого по запросу числа и листинг этой программы.

Программа извлечения квадратного корня.

TITLE     SQR.ASM        ; Извлечение корня квадратного

stacksg segment para stack 'Stack'

; назначить область памяти для стека

dw       32 dup(32)

stacksg    ends

datasg     segment    para 'Data'

; определить данные

vv db  'введите аргумент n (до 64 тыс.) $'

viv db 10,13,'значение корня = $'

sr  db  3 dup(0)

db 13,10,'$'

buf db 5,0,0,0,0,0,0,0

n dw ?

e dw 1

a dw ?

b  dw ?

val dw ?

two  dw 2

datasg ends

codesg segment para 'Code'

; программный сегмент

assume cs:codesg,ds:datasg,ss:stacksg

begin     proc      far

push      ds

sub      ax,ax

push      ax

mov      ax,datasg

mov      ds,ax

mov      ah, 9

mov      dx,offset vv

int      21h

mov      ah, 0ah

mov      dx,offset buf

int      21h

call      str2bin

mov      dx,0

mov      ax,n

inc      ax

div      two

sub      dx,dx

mov      a,ax

iter:     mov      ax,n    

div      a      

add      ax,a    

mov      dx,0    

div      two     

sub      dx,dx   

mov      b,ax    

sub      ax,a    

cmp      ax,e    

jbe      met     

mov      ax,b    

mov      a,ax    

jmp      iter    

met:     mov      ah,9  

mov      dx,offset viv

int      21h    

call      bin2str  

mov      ah,9    

mov      dx,si   

int      21h    

ret       

bin2str    proc      near    

mov      cx,10   

mov      si,offset sr+2

mov      ax,b   

m1:      sub      dx,dx   

div      cx    

or       dl,30h  

mov      [si],dl  

dec      si   

cmp      ax,0  

jne      m1   

ret      

bin2str    endp     

str2bin    proc      near

mov      di,1  

mov      cx,0ah

mov      si,offset buf+1

sub      bh,bh    

mov      bl,[buf+1]

m2:      mov      al,[si+bx]

and      ax,0fh   

mul      di     

add      n,ax   

mov      ax,di   

mul      cx     

mov      di,ax   

dec      bx     

jnz      m2     

ret       

str2bin    endp

begin     endp

codesg     ends

end      begin

Листинг программы SQR.ASM.

Microsoft (R) Macro Assembler Version 5.10  3/19/94 23:44:19

SQR.ASM ; Извлечение корня квадратного        

TITLE SQR.asm ; Извлечение корня квадратного

0000   stacksg  segment para stack 'Stack'

              ; назначить область памяти для стека

0000 0020   [         dw  32 dup(32) 0020    ]

0040    stacksg  ends

0000    datasg  segment para 'Data'

              ; определить данные

0000 A2 A2 A5 A4 A8 E2  vv db 'введите аргумент n (до 64 тыс.)$'

A5 20 A0 E0 A3 E3  

AC A5 AD E2 20 6E  

20 28 A4 AE 20 36  

34 20 E2 EB E1 2E  

29 20 24   

0021 0A 0D A7 AD A0 E7  viv db  10,13,'значение корня = $'

A5 AD A8 A5 20 AA  

AE E0 AD EF 20 20  

3D 20 24   

0036 0003[        sr  db  3 dup(0)           

00   

 ]

003A 0D 0A 24         db  13,10,'$'          

003D 05 00 00 00 00 00  buf db  5,0,0,0,0,0,0,0       

00 00   

0045 0000         n  dw  ?              

0047 0001         e  dw  1              

0049 0000         a  dw  ?              

004B 0000         b  dw  ?              

004D 0000         val dw  ?         

004F 0002         two dw  2              

0051          datasg ends

0000          codesg segment para 'Code'

              ; программный сегмент

assume cs:codesg,ds:datasg,ss:stacksg

0000          begin  proc far

0000 1E            push ds

0001 2B C0           sub  ax,ax

0003 50            push ax

0004 B8 ---- R         mov  ax,datasg

0007 8E D8           mov  ds,ax

0009 B4 09           mov  ah, 9

000B BA 0000 R         mov  dx,offset vv

000E CD 21           int  21h

0010 B4 0A           mov  ah, 0ah

0012 BA 003D R         mov  dx,offset buf

0015 CD 21           int  21h

0017 E8 007D R         call str2bin

001A BA 0000          mov  dx,0

001D A1 0045 R         mov  ax,n

0020 40            inc  ax

0021 F7 36 004F R       div  two

0025 2B D2           sub  dx,dx

0027 A3 0049 R         mov  a,ax

002A A1 0045 R     iter:  mov  ax,n    

002D F7 36 0049 R       div  a      

0031 03 06 0049 R       add  ax,a    

0035 BA 0000          mov  dx,0    

0038 F7 36 004F R       div  two     

003C 2B D2           sub  dx,dx   

003E A3 004B R         mov  b,ax    

0041 2B 06 0049 R       sub  ax,a    

0045 3B 06 0047 R       cmp  ax,e    

0049 76 08           jbe  met     

004B A1 004B R         mov  ax,b    

004E A3 0049 R         mov  a,ax    

0051 EB D7           jmp  iter    

0053 B4 09       met:  mov  ah,9             

0055 BA 0021 R         mov  dx,offset viv        

0058 CD 21           int  21h             

005A E8 0064 R        call bin2str           

005D B4 09           mov  ah,9             

005F 8B D6           mov  dx,si            

0061 CD 21           int  21h             

0063 CB            ret                

0064         bin2str  proc near            

0064 B9 000A          mov  cx,10            

0067 BE 003A R         mov  si,offset sr+2       

006A A1 004B R         mov  ax,b             

006D 2B D2        m1:  sub  dx,dx            

006F F7 F1           div  cx              

0071 80 CA 30         or  dl,30h            

0074 88 14           mov  [si],dl           

0076 4E            dec  si              

0077 3D 0000          cmp  ax,0             

007A 75 F1           jne  m1              

007C C3            ret                

007D         bin2str  endp              

007D         str2bin  proc near

007D BF 0001          mov  di,1            

0080 B9 000A          mov  cx,0ah           

0083 BE 003E R         mov  si,offset buf+1       

0086 2A FF           sub  bh,bh            

0088 8A 1E 003E R       mov  bl,[buf+1]         

008C 8A 00        m2:  mov  al,[si+bx]         

008E 25 000F          and  ax,0fh           

0091 F7 E7           mul  di             

0093 01 06 0045 R       add  n ,ax            

0097 8B C7           mov  ax,di            

0099 F7 E1           mul  cx             

009B 8B F8           mov  di,ax            

009D 4B            dec  bx             

009E 75 EC           jnz  m2             

00A0 C3            ret             

00A1         str2bin  endp

00A1         begin   endp

00A1         codesg  ends

               end  begin

Segments and Groups:

N a m e      Length Align Combine Class

CODESG . . . . . . . . . 00A1 PARA NONE  'CODE'

DATASG . . . . . . . . . 0051 PARA NONE  'DATA'

STACKSG . . . . . . . . 0040 PARA STACK 'STACK'

Symbols:       

N a m e        Type  Value    Attr

A . . . . . . . . . . . L WORD 0049 DATASG

B . . . . . . . . . . . L WORD 004B DATASG

BEGIN . . . . . . . . . F PROC 0000 CODESG

Length = 00A1

BIN2STR . . . . . . . . N PROC 0064 CODESG Length = 0019

BUF . . . . . . . . . . L BYTE 003D DATASG

E . . . . . . . . . . . L WORD 0047 DATASG

ITER . . . . . . . . . . L NEAR 002A CODESG

M1 . . . . . . . . . . . L NEAR 006D CODESG

M2 . . . . . . . . . . . L NEAR 008C CODESG

MET . . . . . . . . . . L NEAR 0053 CODESG

N . . . . . . . . . . . L WORD 0045 DATASG

SR . . . . . . . . . . . L BYTE 0036 DATASG

Length = 0004

STR2BIN . . . . . . . . N PROC 007D CODESG Length = 0024

TWO . . . . . . . . . . L WORD 004F DATASG

VAL . . . . . . . . . . L WORD 004D DATASG

VIV . . . . . . . . . . L BYTE 0021 DATASG

VV . . . . . . . . . . . L BYTE 0000 DATASG

@CPU . . . . . . . . . . TEXT 0101h

@FILENAME . . . . . . . TEXT sqr3

@VERSION . . . . . . . . TEXT 510

  95 Source Lines

  95 Total  Lines

  28 Symbols

47690 + 382785 Bytes symbol space free

  0 Warning Errors

  0 Severe Errors

Формируемый при ассемблировании листинг (для его вызова используют макрокоманды MS DOS: TYPE или COPY) состоит из 2-х частей: из листинга программы и сводной информации о сегментах и идентификаторах программы.

Листинг программы содержит команды исходной ассемблерной программы и соответствующие им объектные коды в следующих форматах:

  1.  левый столбец: 16-ричное значение смещения адреса команды (счетчик команд - IP) от начала сегмента;
  2.  правая часть : содержит операторы и псевдооператоры ассемблера (команды и директивы программы);
  3.  в средней части объектные коды: для сегмента стека и сегмента данных числа, запоминаемые в соответствующих ячейках памяти; для сегмента команд это коды машинных команд МП , соответствующих операторам ассемблера.

Сводная информация о сегментах ( segments and groups ) и идентификаторах (name) дает подробную их характеристику.

В конце листинга приводятся сообщения об ошибках в программе.

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

листинг перекрестных ссылок указывает номер строки программы, в которой определен каждый идентификатор, и номер тех строк, в которых имеются на него ссылки (этот листинг можно получить, если на запрос ассемблера о Cross reference ввести имя файла prog (а не Nul.CRF - по умолчанию), при этом в основном листинге программы добавится столбец с номерами строк);

листинг распределения памяти содержит подробные сведения о сегментах всех блоков программы, объединяемых загрузчиком LINK (листинг содержится в файле prog.map).

Примечание. Если листинг объемный и не помещается целиком на экране дисплея, можно  приостановить его вывод одновременным нажатием клавиш Ctrl-NumLock (для продолжения вывода нажать любую клавишу); для получения распечатки листинга на принтере следует одновременно нажать клавиши Ctrl-PrtSc.

Часть 2. Создание исполняемого файла .exe

Порядок выполнения работы

1. Ввести готовую программу и создать програмный файл с расширением ASM (на дисководе C:). 

 Используя текстовый редактор NC (или любой другой редактор) построчно ввести текст приведенной ниже программы prog3.asm. 

TITLE  prog3.asm ;расчет факториала

stacksg  segment stack

    dw  32 dup(32)

stacksg  ends

datasg  segment

vv  db  'Введите аргумент M (не больше 7)$'

viv db  13,10,'Значение факториала $'

ii  dw  ?

ir  dw  1

sr  db  5 dup(0)

   db  13,10,'$'

ft10 db  1

buf db  2,0,0,0,0

datasg  ends

codesg  segment

assume cs:codesg,ds:datasg,ss:stacksg

start  proc far

push ds

sub  ax,ax

push ax

mov  ax,datasg

mov  ds,ax

 mov  ah,9 

 mov  dx,offset vv

 int  21h

 mov  ah,0ah

 mov  dx,offset buf

 int  21h

 call  str2bin

 rach:  mov  ax,ii

 mul  ir

 mov  ir,ax

 dec  ii

 cmp  ii,2

 jge  rach

 mov  ah,9

 mov  dx,offset viv

 int  21h

 call  bin2str

 mov  ah,9

 mov  dx,si

 int  21h

 ret

 bin2str  proc

mov  cx,10             

mov  si,offset sr+4       

mov  ax,ir             

m1:  sub  dx,dx             

div  cx              

or  dl,30h             

mov  [si],dl            

dec  si              

cmp  ax,0             

jne  m1              

ret                 

bin2str  endp              

 str2bin  proc  near

 mov  cx,10

 lea  si,buf+1

 xor  bh,bh

 mov  bl,[buf+1]

 m3: mov  al,[si+bx]

 and  ax,0fh

 mul  ft10

 add  ii,ax

 mov  al,ft10

 mul  cl

 mov  ft10,al

 dec  bx

 jnz  m3

 ret  

 str2bin  endp 

 start  endp

 codesg  ends

 end  start

Проверить и отредактировать программу, сформировать програмный файл для ассемблирования. 

2. Выполнить ассемблирование программы. Вызвать на исполнение программу ассемблера:C> MASM. На экране появится полное название программы ассемблера , ее версии и запрос на получение информации о файлах, участвующих в ассемблировании (в [..] предлагаются вводимые по умолчанию ответы): 

Source filename[.asm]:    

введите:C:prog3 (после ответа всегда нажимать ENTER).

Object filename[C:prog3.obj]:  нажмите C: и ENTER, если имя                          объектного файла то же.

Source listing [Nul.lst]:

введите C:prog3, (если имя файла тоже, указать C:), т.к. файл листинга программы будет нужен, иначе - ENTER. 

Cross reference[Nul.lst]:    

нажмите ENTER, т.к. файл листинга перекрестных ссылок не нужен (он создается только для сложных программ), но если листинг нужен, указать C: и ENTER. 

Если вы аккуратно выполнили предыдущие задания, то ассемблер завершит свою работу сообщением 

Warning errors   0

Sever errors   0

Это означает: предупреждений об ошибках и ошибок нет, возврат управления MS DOS. Если ассемблер выдаст сообщение об ошибках (для каждой ошибки указывается ее адрес-номер строки программы и характер ошибки), то исправьте исходную программу и заново ее оттранслируйте. 

3. Просмотр листинга программы. 

 Выведите файл листинга программы на дисплей:

C> copy С:prog3.lst, con или type С:prog3.lst

 Перепишите листинг программы себе в отчет, расшифруйте его структуру и содержание сообщений листинга программы. 

Если в листинге есть указания на обнаруженные в программе ошибки, следует устранить их. 

4. Создание исполняемой машинной .EXE программы.

Вызвать на исполнение программу-загрузчик LINK: С> link.

На экране появится полное название программы LINK, ее версия и запрос на получение информации о файлах, участвующих в создании исполняемого машинного файла и редактировании его связей: 

Object moduls[.obj]:   

введите С:prog3, т.к. у нас есть один объектный модуль.

 Run File [E:prog3.exe]:

нажмите ENTER или С:, если имя исполняемого файла то же.

 List File [Nul.map]:   

нажмите ENTER, т.к. листинг распределения памяти не нужен; если нужен - то С:

 Libraries [lib]:     

нажмите ENTER, т.к. дополнительные библиотечные файлы для редактирования связей не используются.

Если все указанные выше действия выполнены аккуратно, то будет создана исполняемая машинная программа prog3.exe. 

5. Выполнить программу prog3.exe. 

 Для запуска исполняемой .ЕХЕ программы достаточно просто набрать ее имя: С:\> C:\prog3 и нажать клавишу ENTER. 

 Теперь следует выполнить в режиме трассировки все команды программы, записать информацию выводимую на экран дисплея, а после окончания работы программы записать полученные результаты. Показать результаты выполнения программы (на экране дисплея) преподавателю.

6. Скопировать программы prog3.asm и prog3.exe на гибкий диск. 

7. Получить задание на следующую работу. Выключить ПК.  

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

Отчет должен содержать:

  1.  текст исходной ассемблерной программы prog3.asm с выделением основных ее структурных элементов, в том числе и необходимых для формирования исполняемой .ЕХЕ программы; 
  2.  экран диалога и описание основных процедур, выполненных при ассемблировании программы (с указанием допущенных ошибок); 
  3.  трассировку 7 – 10 команд программы в DEBUG и пояснениями выполняемых команд и их результатов;
  4.  листинг программы с расшифровкой его структуры и сообщений в разделе листинга программы. 


Часть 3. Ассемблерная программа

Порядок выполнения работ

  1.  Разработать алгоритм решения задачи, в которой используется математические функции вида:

или  

В качестве f(x) использовать многочлены тип:

Значение переменной Х изменяется от   Хn    до  Хk    с шагом Хs.

В индивидуальном задании изменяются степень, знаки и коэффициенты у компонентов многочлена.

  1.  Предусмотреть:
  2.  ввод начального значения — Хn;
  3.  ввод конечного значения — Хk;
  4.  ввод шага (приращения) значения — Хs.
  5.  вывод результатов расчета (Y) (это может  быть однократнй вывод — в конце программы, либо в виде таблицы, содержащей колонки: номер шага, значение Х, значение Y. Вывод строк таблицы выполняется в каждом цикле программы перед очередным изменением Х).
  6.  Разработать ассемблерную программу решения задачи.
  7.  Выполнить отладку программы с использованием отладчика DEBUG.
  8.  Создать файл исполнимой программы с расширением .EXE.
  9.  Выполнить программу в автоматическом режиме.
  10.  Деассемблировать программу (используя DEBUG) и записать полученный листинг.
  11.  Показать все результаты работы преподавателю.

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

  1.  постановка задачи, алгоритм и ассемблерная программа ее решения;
  2.  описание всех выполняемых процедур и экраны диалога по всем заданиям работы;
  3.  листинг программы и его анализ;
  4.  результаты выполнения программы и их анализ;
  5.  замечания и предложения по содержанию и методике выполнения работы.

 


Часть 4. Изучение процедур преобразования ascii-кода в двоичный код (STR2BIN) и двоичного кода в код ASCII (BIN2STR).

Краткие пояснения

При вводе-выводе информации в ПК используется ASCII-код ее представления. Преобразование ASCII-кода в двоичный код обычно используется после ввода информации с клавиатуры при необходимости выполнения над этой информацией каких либо арифметических преобразований (выполнять арифметические операции непосредственно над ASCII-кодами в ПК существенно сложнее).

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

  1.  преобразование ASCII-кода выполняется справа налево, начиная с крайнего правого байта;
  2.  в каждом байте ASCII-кода обнуляется левый полубайт (зона), в правом полубайте каждого байта остается, таким образом, двоичный код очередной десятичной цифры числа (формируется очищенный от "троек" распакованный двоично-десятичный код числа);
  3.  цифры (байты) полученного кода умножаются, соответственно, на 1, 10, 100, 1000 и так далее, и полученные произведения складываются.

Программа STR2BIN, выполняющая рассматриваемое преобразование, приведена ниже (преобразуемый ASCII-код находится в поле buf, которое служит буфером при вводе информации с клавиатуры и, соответственно, описывается в сегменте данных как:     

buf db M,0,0,0,...0

где M - максимальное количество вводимых символов; сформированное двоичное число записывается в поле valn).

str2bin  proc  near

mov  di,1            

mov  cx,0ah           

mov  si,offset buf+1       

sub  bh,bh            

mov  bl,[buf+1]         

m2:    mov  al,[si+bx]         

and  ax,0fh           

mul  di             

add  valn ,ax            

mov  ax,di            

mul  cx             

mov  di,ax            

dec  bx             

jnz  m2             

ret             

str2bin  endp

Преобразование двоичных кодов в коды ASCII обычно применяется перед выводом десятичных чисел, соответствующих этим двоичным кодам, на экран монитора или на принтер.

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

  1.  двоичное число, а затем получающиеся частные от деления последовательно делятся на десять до тех пор, пока очередное частное не станет равным нулю;
  2.  остатки от деления записываются в правые полубайты последовательных байтов справа налево, левые полубайты этих байтов – зоны заполняются кодом 0011 ("тройками").

Процедура BIN2STR, выполняющая рассматриваемое преобразование, приведена ниже (примечание: преобразуемое двоичное число находится в поле valb; полученный M-разрядный ASCII-код этого числа в поле sr).

bin2str  proc near            

mov  cx,10             

mov  si,offset sr+M-1       

mov  ax,valb             

m1:    sub  dx,dx             

div  cx              

or  dl,30h             

mov  [si],dl            

dec  si              

cmp  ax,0             

jne  m1              

ret                 

bin2str  endp              

Перечень заданий

Выполнить пошаговую трассировку в отладчике Debug процедур Str2bin и Bin2str, задав при этом ASCII-код двухзначного десятичного чмсла на входе процедуры Str2bin и семизначное двоичное число на входепроцедуры Bin2str.

По результатам трассировки построить блок-схемы алгоритмов  работы процедур.

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

  1.  Назначение процедур Str2bin и Bin2str.
  2.  Листинги трассировки не менее двух циклов процедур с пояснениями выполненных команд.
  3.  Блок-схемы алгоритмов выполнения процедур.


ЛАБОРАТОРНАЯ РАБОТА № 5. СЕТЕВЫЕ ПРОТОКОЛЫ ИНТЕРНЕТ И ЛОКАЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ 

Цель работы – изучение протоколов сетей Интернет и локальных вычислительных сетей (ЛВС).

Необходимые ресурсы:

  1.  Компьютер типа  IBM PC,  
  2.  Программное обеспечение (Interhet Explorer, операционная система  Windows)
  3.  Сети Интернет и ЛВС.

Общие положения

IP-адресация 

Передача сообщений в Интернет основана на том, что каждый компьютер сети имеет индивидуальный адрес – IP-адрес. Этот адрес выражается одним 32-разрядным числом, имеющим две смысловые части. 32-разрядный IP-адрес представляется в виде: xxx.xxx.xxx.xxx (десятичное число x может меняться от 0 до 255 – максимального значения восьмиразрядного двоичного числа).

Например: 128.10.2.30 – десятичная форма представления IP-адреса,

10000000 00001010 00000010 00011110 – двоичная форма представления этого же адреса.

В сети Интернет различные глобальные сети делятся по классам:

  1.  класс А - большие сети общего пользования, первый октет определяет номер сети, три последующие октета – номер узла;
  2.  класс В - сети среднего размера, два первых октета определяют номер сети, два оставшихся – номер узла;
  3.  класс С - сети малого размера, три первых октета определяют номер сети и последний октет – номер узла.

Класс

Диапазон значений первого октета

Общее количество сетей

Максимальное количество узлов в каждой сети

А

1 – 126

126

16 777 214

В

128 – 191

16 382

65 534

С

192 – 223

2 097 150

254

Задание 1. Просмотр сведений о сетевых подключениях компьютера с помощью ОС Windows

Выполнить команду ПУСК, Панель управления, Сети и Интернет, Просмотр состояния сети и задач.

Рисунок 1

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

Задание 2. Установление параметров сетевых протоколов (команда ipconfig)

  1.  Запустить командную строку.
  2.  Выполнить команды:
  3.  ipconfig /all - получить сведения
  4.  ipconfig /allcompartments - получить сведения

В отчете указать:

  1.  имя компьютера,
  2.  тип узла,
  3.  характеристики адаптера беспроводной локальной сети,
  4.  параметры подключения по локальной сети (IPv6-адрес канала, IPv4-адрес канала),
  5.  маску подсети,
  6.  основной шлюз и параметры DHCP- и DNS-серверов,
  7.  состояние NETBIOS через TCP/IP.

Примечание.

DHCP - Dynamic Host Configuration Protocol, протокол динамической конфигурации узла. Это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Данный протокол работает по модели «клиент-сервер». Для автоматической конфигурации компьютер-клиент на этапе конфигурации сетевого устройства обращается к серверу DHCP и получает от него нужные параметры.

DNS - Domain Name System, система доменных имён, используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись).

NetBIOS - Network Basic Input/Output System — протокол для работы в локальных сетях на персональных ЭВМ типа IBM/PC, соответствует интерфейсу сеансового уровня, а в качестве транспортного протокола использует TCP и UDP. NetBIOS обеспечивает: регистрацию и проверку сетевых имен; установление и разрыв соединений; связь с гарантированной доставкой информации; связь с негарантированной доставкой информации; поддержку управления и мониторинга драйвера и сетевой карты.

TCP/IP - cтек протоколов Transmission Control Protocol/Internet Protocol, набор сетевых протоколов разных уровней модели сетевого взаимодействия DOD. Стек протоколов TCP/IP включает в себя протоколы четырёх уровней: прикладного (application), транспортного (transport), сетевого (network), канального (data link). Стек является независимым от физической среды передачи данных.

Краткая информация о команде ipconfig

Команда ipconfig служит для отображения всех текущих параметров сети TCP/IP и обновления параметров DHCP и DNS:

ipconfig [/allcompartments] [/? | /all |

/renew [адаптер] | /release [адаптер] |

/renew6 [адаптер] | /release6 [адаптер] |

/flushdns | /displaydns | /registerdns |

/showclassid адаптер |

/setclassid адаптер [идентификатор_класса] ]

/showclassid6 адаптер |

/setclassid6 адаптер [идентификатор_класса] ]

Где адаптер - имя подключения (можно использовать знаки подстановки

* and ?, см. примеры)

Параметры:

/?               Вывод данного справочного сообщения

/all             Вывод подробных сведений о конфигурации.

/release         Освобождение адреса IPv4 для указанного адаптера.

/release6        Освобождение адреса IPv6 для указанного адаптера.

/renew           Обновление адреса IPv4 для указанного адаптера.

/renew6          Обновление адреса IPv6 для указанного адаптера.

/flushdns        Очистка кэша сопоставителя DNS.

/registerdns     Обновление всех DHCP-аренд и перерегистрация DNS-имен

/displaydns      Отображение содержимого кэша сопоставителя DNS.

/showclassid     Отображение всех допустимых для этого адаптера идентификаторов классов DHCP.

/setclassid      Изменение идентификатора класса DHCP.

/showclassid6    Отображение всех допустимых для этого адаптера идентификаторов классов DHCP IPv6.

/setclassid6     Изменение идентификатора класса DHCP IPv6.

По умолчанию отображается только IP-адрес, маска подсети и стандартный шлюз для каждого адаптера, для которого выполнена привязка к TCP/IP. Если для параметров Release и Renew не указано имя адаптера, то аренда IP-адреса для всех адаптеров, для которых существуют привязки к TCP/IP, будет освобождена или обновлена. Если для параметра SetClassid или SetClassid6 не указан идентификатор класса, то существующий идентификатор класса будет удален.

Задание 3. Проверка IP-адресов

При возникновении неполадок связи можно воспользоваться командой ping для проверки IP-адреса назначения и вывода результатов этой проверки на экран. Команда ping сообщает, ответил ли опрошенный узел и сколько времени прошло до получения ответа. Если при доставке пакета узлу назначения произошла ошибка, команда ping выводит сообщение об ошибке.

  1.  Запустить командную строку.
  2.  Выполнить команды:
  3.  Проверка наличия маршрута между локальным компьютером и узлом сети:
    ping IP_адрес

Выполнить указанное действие для: www.mail.ru, www.finec.ru, www.yandex.ru

  1.  Проверить правильность настройки TCP/IP на локальном компьютере:
    ping 127.0.0.1
  2.  Проверить наличие в сети другого компьютера, указав его IP-адрес
    ping
    IP_адрес_локального_узла

Примечание.

IP-адрес локального компьютера является допустимым и правильно отображается на вкладке Общие диалогового окна Свойства протокола Интернета (TCP/IP) - Пуск, Панель управления, Сеть и Интернет, Центр управления сетями и общим доступом.

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

  1.  Задать размер пакетов, число отправляемых пакетов и срок жизни пакета (TTL), запись маршрута и установка флага запрещающего фрагментацию пакетов:
    отправить 2 пакета по 1000 байт по
    IP-адресу 85.142.33.19

  ping -n 2 -l 1000 85.142.33.19

  1.  Задать большее время ожидания для узла 85.142.33.19 - 5000 мс (5 сек):

ping 85.142.33.19 –w 5000

  1.  Отправить точке назначения 85.142.33.19 пять сообщений с эхо-запросом, каждое из которых имеет поле данных из 1000 байт:
           ping -n 5 -l 1000 85.142.33.19
  2.  Отправить точке назначения 85.142.33.19 сообщение и записать маршрут из 4 переходов:
           ping -
    r 4 85.142.33.19
  3.  Отправить сообщения точке назначения 10.0.99.221 и задания свободной маршрутизации для точек назначения 10.12.0.1-10.29.3.1-10.1.44.1:
           ping -j 10.12.0.1 10.29.3.1 10.1.44.1 10.0.99.221

Краткая информация о команде ping

Команда ping служит для отправки сообщений с эхо-запросом по протоколу ICMP. Выполняется проверка соединений на уровне протокола IP с другим компьютером, поддерживающим TCP/IP.

После каждой передачи выводится соответствующее сообщение с эхо-ответом.

Команда ping имеет следующий синтаксис:

ping [-t] [-a] [-n <число>] [-l <размер>] [-f] [-i <TTL>] [-v <TOS>]
[-
r <число>] [-s <число>] [[-j <список узлов>] | [-k <список узлов>]]
[-
w <тайм-аут>] [-R] [-S <адрес источника>] [-4] [-6] конечный_узел

Параметры

-t конечный_узел - проверка связи с указанным узлом до прекращения,

-a конечный_узел - определение имен узлов по адресам.

-n <число> - число отправляемых запросов эха.

-l <размер> - размер буфера отправки.

-f - установка в пакете флага, запрещающего фрагментацию (только IPv4).

-i <TTL> - задание срока жизни пакетов.

-v <TOS> - задание типа службы (только IPv4. Этот параметр недоступен и не влияет на поле TOS в заголовке IP).

-r <число> - запись маршрута для указанного числа прыжков (только IPv4).

-s <число> - отметка времени для указанного числа прыжков (только IPv4).

-j <список_узлов> - свободный выбор маршрута по списку узлов (только IPv4).

-k <список_узлов> - жесткий выбор маршрута по списку узлов (только IPv4).

-w <тайм-аут> - тайм-аут для каждого ответа (в миллисекундах).

-R -использование заголовка для проверки также и обратного маршрута (только IPv6).

-S <адрес источника> - используемый адрес источника.

-4 - принудительное использование протокола IPv4.

-6 - принудительное использование протокола IPv6.

Выполнить указанные команды. Результаты выполнения в виде скриншотов поместить в отчет.

Задание 4. Трассировка маршрутов

Команда tracert (Trace Route) используется для трассировки маршрутов, определения пути, по которому IP-датаграмма доставляется по месту назначения. Маршрут определяется путем анализа ICMP-сообщений «Time Exceeded», отправленных промежуточными маршрутизаторами. Команда tracert выводит упорядоченный список ближних интерфейсов маршрутизаторов, возвративших ICMP-сообщение об истечении времени.

С помощью tracert можно оценить время приема и передачи информации на отдельных участках сети и выявить "узкие места".

  1.  Запустить командную строку.
  2.  Выполнить команды:
  3.  Показать маршрут от компьютера к серверу www.microsoft.com
  4.  Показать маршрут от компьютера к серверу www.itec.finec.ru
  5.  Выполнить трассировку пути к узлу www.itec.finec.ru и предотвратить разрешение каждого IP-адреса в имя:
    tracert -d
    www.itec.finec.ru
  6.   Выполнить трассировку пути к узлу www.itec.finec.ru и использовать узлы 10.12.0.1-10.29.3.1-10.1.44.1 для свободной маршрутизации:
    tracert -j 10.12.0.1 10.29.3.1 10.1.44.1
    www.itec.finec.ru

Краткая информация о команде tracert

  1.  tracert имя_хоста 

tracert [-d] [-h максЧисло] [-j списокУзлов] [-w таймаут]
[-R] [-S адресИсточника] [-4] [-6] конечноеИмя

Параметры:

-d - без разрешения в имена узлов.

-h максЧисло - максимальное число прыжков при поиске узла.

-j списокУзлов - свободный выбор маршрута по списку узлов (только IPv4).

-w таймаут - таймаут каждого ответа в миллисекундах.

-R - трассировка пути (только IPv6).

-S адресИсточника - используемый адрес источника (только IPv6).

-4 - принудтельное использование IPv4.

-6 - принудительное использование IPv6.

конечноеИмя

Для каждого посещенного при трассировке хоста выводится его имя, IP-адрес и время ответа. Если хост "завис" или перегружен, вместо времени ответа выводится символ '*'.

Задание 5. Команды сети NET

Команда net позволяет получить подробную информацию о состоянии и настройках сети, имеет множество параметров, узнать о которых можно набрав в командной строке Windows net help.

net [accounts | computer | config | continue | file | group | help | helpmsg | localgroup | pause | session | share | start | statistics | stop | time | use | user | view ]

1. net user

Команда обеспечивает определение учетных записей пользователей, зарегистрированных для работы в сети, вывод списка пользователей:

Краткая информация о команде net user

net user [имя_пользователя [пароль | *] [параметры]] [/DOMAIN]

имя_пользователя {пароль | *} /ADD [параметры] [/DOMAIN]

имя_пользователя [/DELETE] [/DOMAIN]

имя_пользователя [/TIMES:{время | ALL}]

2. net use

Команда net use обеспечивает вывод информации обо всех подключениях компьютера, управляет постоянными сетевыми соединениями.

  1.  Запустить командную строку.
  2.  Выполнить команду net use.

Краткая информация о команде net use

net use [{имя_устройства | *}] [\\имя_компьютера\ресурс[\том]] [{пароль | *}]] [/user:[имя_домена\]] [/user:[имя_домена_с_точкой\]имя_пользователя] [/user: [имя_пользователя@имя_домена_с_точкой] [/savecred] [/smartcard] [{/delete | /persistent:{yes | no}}]

net use [имя_устройства [/home[{пароль | *}] [/delete:{yes | no}]]

net use [/persistent:{yes | no}] Имя_устройства 

Задает имя ресурса при подключении или имя устройства при отключении. Имена устройств: имена для дисковых устройств - от D: до Z:, для принтеров - от LPT1: до LPT3:.

\\имя_компьютера\имя_ресурса - указывает имя сервера и общего ресурса. Имя компьютера может иметь длину от 1 до 15 знаков.

\том  имя тома системы NetWare.

пароль для подключения к общему ресурсу.

/user  - другое имя пользователя для подключения к общему ресурсу.

имя_домена - имя другого домена.

имя_пользователя - для подключения.

имя_домена _с_точкой - полное имя домена, в котором присутствует учетная запись пользователя.

/savecred  - сохранение учётных данных для дальнейшего использования.

/smartcard - необходимость считывания учетных данных со смарт-карты для сетевого подключения.

/delete - отменяет указанное сетевое подключение (* - для отменены всех сетевые подключения).

/persistent:{yes | no} - управляет постоянными сетевыми подключениями.

/home - подключение пользователя к его основному каталогу.

net help команда  названной команды net.

3. net statistics

Команды выводит статистические сведения о работе рабочей станции или сервера, активных подключениях TCP, портов, прослушиваемых компьютером, статистику Ethernet, таблицы маршрутизации IP, статистику IPv4 (для протоколов IP, ICMP, TCP и UDP) и IPv6 (для протоколов IPv6, ICMPv6, TCP через IPv6 и UDP через IPv6). Запущенная без параметров, команда nbtstat отображает подключения TCP.

Краткая информация о команде net stat

Команда выводит сведеня

net stAT NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p протокол] [-r] [-s] [-t] [интервал]

-a -отображение всех подключений и ожидающих портов.

-b - отображение исполняемого файла, участвующего в создании каждого подключения, или ожидающего порта.

-e - отображение статистики Ethernet. Может применяться вместе с параметром -s.

-f - отображение полного имени домена (FQDN) для внешних адресов.

-n - отображение адресов и номеров портов в числовом формате.

-o - отображение кода (ID) процесса каждого подключения.

-p протокол - отображение подключений для протокола, задаваемых этим параметром. Допустимые значения: TCP, UDP, TCPv6 или UDPv6.

-r - отображение содержимого таблицы маршрутов.

-s - отображение статистики протокола.  

-t - отображение текущего подключения в состоянии "offload".


ЛАБОРАТОРНАЯ РАБОТА № 6. ОЗНАКОМЛЕНИЕ С НОВЕЙШИМИ КОМПЬЮТЕРНЫМИ ТЕХНОЛОГИЯМИ И РАЗРАБОТКАМИ ПУТЕМ ПОИСКА  ИНФОРМАЦИИ В СЕТИ ИНТЕРНЕТ

Цель работы - ознакомление с последними достижениями в области компьютерных технологий и разработок.

Необходимые ресурсы

  1.  Компьютер типа  IBM PC,  программа Interhet Explorer и сеть Интернет.
  2.  Средства просмотра и поиска информации в сети Internet по   технологиям WWW

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

  1.  по тематическим указателям
  2.  в посвященных компьютерным разработкам и технологиямсетевых сайтах, просматриваемых с помощью браузеров,
  3.  по ключевым словам, помещенным в поле ввода справочно-поисковых систем.

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

Например, микропроцессоры типа VLIW и перспективы их развития, системные чипсеты материнских плат для новых микророцессоров и их основные , последовательные интерфейсы (USB, Serial ATA и др.), их характеристики  и перспективы использования, устройства “дисковой” флеш-памяти, современные дисковые накопители, протоколы передачи данных, используемые в современных модемах, разработки фирмы Intel в компьютерных технологиях и т.д.

Перечень заданий

1. Выполнить поиск заданной информации по тематическим указателям в нескольких популярных сайтах, имеющих адреса:

www.ixbt.com

www.ferra.com

www.harddisk.ru 

www.3dnews.ru

www.overclockers.ru

www.alldrivers.ru 

www.submarine.ru 

www.pcbase.ru 

www.atlant.ru/comar 

www.wapa.com (на английском языке),

www.osp.ru 

www.hardnsoft.ru 

www.freeware.ru 

и др.по желанию. 

Просмотреть не менее 5 сайтов, включая первый.

2. Выполнить поиск нужной информации по ключевым словам в поисковых системах:

Яндекс (http://www.yandex.ru),

Рамблер (http://www.rambler.ru) и др. (по желанию).

Для перехода в нужный сайт или в выбранную поисковую систему следует ввести в адресную строку браузера адрес нужного объекта и щелкнуть мышкой кнопку “Переход” (в некоторых браузерах - “Поиск”). Возможный вариант – выбор объекта из списка, открываемого щелчком мыши по стрелочке, расположенной в адресной строке браузера справа.

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

1. По каждому варианту поиска информации кратко описать процедуру поиска. Кратко указать специфику и особенности интерфейса каждого использованного сайта.

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

Отчет представить в виде рукописи (или распечатки) и электронной   копии (на дискете) наиболее информативных файлов Интернета.


Оглавление

ЛАБОРАТОРНАЯ РАБОТА N 1. ПРИНЦИПЫ ПРОГРАММНОГО УПРАВЛЕНИЯ ЭВМ. КОМАНДЫ MS DOS 1

Общие положения 1

Командная строка 2

Справочная информация о командах 3

Порядок выполнения работы 4

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

ЛАБОРАТОРНАЯ РАБОТА N 2. ТЕСТИРОВАНИЕ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА И ЕГО ОСНОВНЫХ УСТРОЙСТВ 6

Общие положения 6

ИНСТРУМЕНТЫ ОПЕРАЦИОННОЙ СИСТЕМЫ 6

Командный процессор 6

СЛУЖЕБНАЯ ПРОГРАММА 8

Утилита SysInfo 8

Получение общей информации о компьютере 10

Получение информации о видеосистеме 11

Получение информации о прерываниях 12

Получение информации из CMOS-памяти 13

Тестирование дисковой памяти 14

Получение информации об использовании основной памяти 17

Получение информации о драйверах устройств ПК 21

Тестирование быстродействия центрального процессора 22

Тестирование быстродействия дисковой памяти 23

Тестирование общего быстродействия компьютера 24

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

Программный комплекс SANDRA 26

Начало работы в SANDRA 27

Задание 1 29

Задание 2 31

Задание 3. 32

Задание 4. 32

Задание 5. 36

Задание 6. 37

Приложение 1. 41

Приложение 2. 44

ЛАБОРАТОРНАЯ РАБОТА N 3. ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ ОТЛАДЧИКА ПРОГРАММ DEBUG 60

Назначение и функциональные возможности отладчика программ DEBUG 60

Основные команды отладчика DEBUG 61

a (assemble) 61

d (dump) 62

e (enter) 63

f (fill) 64

g (go) 65

i (input) 67

l (load) 67

m (move) 69

n (name) 70

o (output) 71

p (proceed) 72

q (quit) 73

r (register) 73

s (search) 75

t (trace) 76

u (unassemble) 76

w (write) 77

xa (allocate expanded memory) 79

xd (deallocate expanded memory) 79

xm (мар expanded memory pages) 80

xs (display expanded memory status) 80

Перечень заданий 81

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

ЛАБОРАТОРНАЯ РАБОТА N 4. 'ASSEMBLER 85

Часть 1. Этапы формирования ассемблерной программы 85

Порядок выполнения работ 85

Перечень заданий 85

Этапы формирования программы 86

Типовая структура .ASM-программы 88

Пример программы 90

Часть 2. Создание исполняемого файла .exe 103

Порядок выполнения работы 103

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

Часть 3. Ассемблерная программа 108

Порядок выполнения работ 108

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

Часть 4. Изучение процедур преобразования ascii-кода в двоичный код (STR2BIN) и двоичного кода в код ASCII (BIN2STR). 110

Краткие пояснения 110

Перечень заданий 112

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

ЛАБОРАТОРНАЯ РАБОТА № 5. СЕТЕВЫЕ ПРОТОКОЛЫ ИНТЕРНЕТ И ЛОКАЛЬНЫХ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ 113

Общие положения 113

IP-адресация 113

Задание 1. Просмотр сведений о сетевых подключениях компьютера с помощью ОС Windows 114

Задание 2. Установление параметров сетевых протоколов (команда ipconfig) 115

Краткая информация о команде ipconfig 116

Задание 3. Проверка IP-адресов 117

Краткая информация о команде ping 118

Задание 4. Трассировка маршрутов 119

Краткая информация о команде tracert 120

Задание 5. Команды сети NET 121

1. net user 121

2. net use 121

3. net statistics 123

ЛАБОРАТОРНАЯ РАБОТА № 6. ОЗНАКОМЛЕНИЕ С НОВЕЙШИМИ КОМПЬЮТЕРНЫМИ ТЕХНОЛОГИЯМИ И РАЗРАБОТКАМИ ПУТЕМ ПОИСКА  ИНФОРМАЦИИ В СЕТИ ИНТЕРНЕТ 124

Перечень заданий 124

2 Находящится в ПЗУ и обеспечивает взаимодействие операционной системы с компьютером.


 

А также другие работы, которые могут Вас заинтересовать

3542. Открытие и развитие нового производства на примере ООО Ариран 706 KB
  Хотя планирование успешно применяется в корпорациях и компаниях развитых стран мира уже столетия и считается необходимой предпосылкой эффективного и стабильного бизнеса, в России при переходе к рыночным отношениям оно оказалось практи...
3543. Тенденции развития печатной техники 342.84 KB
  Тенденции современного рынка печатной продукции оказали большое влияние и на развитие полиграфической техники. Всем понятно, что типографии будут приобретать то оборудование, которое позволит им успешнее работать на рынке в сложившейся ситу...
3544. СМИ как инструмент PR в условиях региона (на примере города Брянска) 1.48 MB
  Актуальность исследования. Одной из основных форм PR-деятельности является подготовка текстовых материалов для целевой общественности и для СМИ. PR-материалы любой организации создаются с целью продвижения информации для достижения понимани...
3545. Реконструкция газоочистных устройств ТЭЦ г. Анжеро-Судженск 2.9 MB
  Энергия – это движущая сила любого производства. Тот факт, что в распоряжении человека оказалось большое количество относительно дешевой энергии, в значительной степени способствовало индустриализации и развитию общества. Топливно-энер...
3546. Холодная штамповка 142.5 KB
  Холодная штамповка - одна из самых прогрессивных технологий получения заготовок, ;а в ряде случаев и готовых деталей изделий машиностроения, приборостроения, радиоэлектронных и вычислительных средств. По данным приборостроительных и ма...
3547. Машины для дробления, сортировки и мойки каменных материалов 131 KB
  Строительные машины в настоящее время неотъемлемая часть в любой сфере косвенно или прямо связанной со строительством. Позволяют улучшить и проконтролировать качество строительства. Ускорить сроки строительства. Облегчить труд человека в ка...
3548. Основные пути увеличения прибыли на предприятии ООО Гриант 114.5 KB
  Основную цель деятельности любого производителя (фирмы, делового предприятия) составляет максимизация прибыли. Возможности её получения ограничены, во-первых, издержками производства и, во-вторых, спросом на произведенную продукцию. Произво...
3549. Понятие социальной группы. Классификация групп 77 KB
  Понятие социальной группы. Классификация групп Общество – это не просто совокупность отдельных людей. Среди больших социальных общностей классы, социальные слои, сословия. Каждый человек принадлежит к какой-либо из этих социальных групп или мож...
3550. Теории экономического цикла и их эволюция 136 KB
  Новые реалии экономики побуждают к некоторому переосмыслению многих, казалось бы, вполне устоявшихся трактовок теоретических проблем. Одна из них циклы и кризисы. Сегодня их объяснение освобождается от политизированных оценок, в частности о...