Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Задание к лабораторной работе



1. Посмотрите и запишите в протокол содержимое оперативной памяти по абсолютному (физическому) адресу:

· 413 (запишите значение слова по этому адресу и соответствующее ему значение размера основной (стандартной) памяти). Объясните результат.

-d 0:413 280 (16)

280 (16) -> 1010000000 (2)

· FE000h (серийный номер компьютера и информацию о BIOS).

Fe000

-d F000: E000 -d FDFF0:00010 -d Fd00:1000

· FFFF5h (дата BIOS вашего компьютера)

-d ffff:5

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

Первое число – (9)

Втрое число – (Буква Д = 1000 0100 (2), отрицательно 0111 1011+1=0111 1100 (2)) в 16-ричной будет (7с)

Сумма 9+7с ==== 0085 ======== 1* 2^7 + 1* 2^2 + 1* 2^0=133

Разность 9-7с ==== ff8d ======== 65421

3. Запишите в регистр AX первое число (из задания 2), а в регистр BX - второе (из задания 2). Введите в оперативную память в сегмент кода (смещение 100) машинную команду 01d8. Посмотрите на экране и запишите в протокол ее ассемблерную форму. Выполните эту команду, результат переведите в десятичную форму.

предварительно проверили, чтобы в регистре IP (счетчик команд) было число 0100,

r ax

r bx

e 100

e 101

AX=0085, следовательно машинный код 01d8 означает сложения значений из регистров AX и BX. AX в десят. виде = 128.

4. Введите в оперативную память в сегмент кода (смещение

100) набор команд ассемблера для распечатки символа на экране - первой буквы вашей фамилии. Для получения кода буквы можно воспользоваться утилитой DOS tabl.exe. Проверьте программу в DEBUG. Затем запишите ее на диск в виде.COM-файла. Чему равен размер программы? Запустите ее на выполнение из DOS.

Вводим a 100, затем

mov AH, 02; системная функция 02 - вывод символа на экран

mov DL, 84; ASCII-код буквы "Д"

int 21h; прерывание для вывода "Д"

int 20h;выход из программы.

Вводим g предварительно проверив, чтобы в регистре IP (счетчик команд) было число 0100.

И на экран выводится буква "Д"!

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

n first.com,

затем предварительно нужно записать 0 в регистр BX, а размер программы (в байтах) - в регистр CX.

r bx 'Enter' 0

r cx 'Enter' 8

W - запись программы на диск. После выполнения инструкции "W" на диске в директории C:\Documents and Settings\[ ] появился файл с расширением.COM - точная копия введенной в оперативную память программы. Эту программу можно запустить непосредственно из DOS.

5. Просмотрите содержимое регистров микропроцессора до начала выполнения задания 4 и после его завершения и выпишите их в протокол. Какую функцию выполняет каждый из регистров?

вводим r. На экран выводится содержимое всех регистров. Разница до выполнения первого упражнения и после – изменяется значение в последней строчке:

           
до - 1553:0100 add [bx+si], al          
после - 1553:0100 B402   MOV AH,02  
               
                           

по команде a (адрес отсутствует; при старте отладчика по традициям, восходящим к CP/M, он устанавливается равным 100h) Debug переходит в режим приема программы в мнемониках ассемблера.

Набираемая нами программа копирует содержимое точки останова из байта с номером 106 в свободный байт 109 через регистр микропроцессора al [5]. В «подопытном» байте памяти 106 поместим однобайтовую инструкцию nop (нет операции), которая отличается тем, что ничего не делает. Наконец, завершается программа командой INT 20, которая, как мы уже знаем, организует по завершении программы выход в операционную систему. Заметим, что для прекращения набора нажатием <Enter> вводится пустая строка (см. строку с адресом 109).

Далее по команде u (аргумент снова пропускается) для контроля выводится результат набора. Обязательно обратите внимание на то, каково будет в вашем случае содержимое ячейки 109, поскольку именно туда позднее попадет копия точки останова.

Запустим программу командой g. Появившийся на экране текст свидетельствует о том, что программа проработала и завершилась нормально. Проверим результат, набрав u100: байт с номером 109 приобрел значение 90 – не что иное, как код команды nop. Мы не увидели ничего неожиданного – произошло обычное копирование байта.

Самое интересное начинается дальше. Введем команду g=100 106, которая расшифровывается так: запустить программу с адреса 100, установив в качестве контрольной точки адрес 106. Программа выполнится, и остановка произойдет в контрольной точке 106: это видно из последней выведенной строки, где всегда отображается команда, которая будет исполняться следующей. Но зато содержимое адреса 109 теперь уже не 90, а CC, что является именно кодом команды INT 3.

Разработайте с помощью Debug программу, выполняющую вывод на экран текстового сообщения и последующее вычисление выражения Y=[(X1+X2)X3-X4]/X5:
где XI - Х5 - десятичные целые числа, взятые в соответствии с номером вашего варианта из таблицы.
Структура выходного сообщения программы:
"Программа вычисления выражения Y=[(X1+X2)X3-X4]/X5, где Х1=..., Х2-=..., Х3=..., Х4-.., Х5=..."
Вместо точек должны выводиться заданные числа (в шестнадцатеричной системе).
Результат вычисления выражения программа помещает в регистры АХ и DX. Поэтому этот результат можно наблюдать только при запуске программы из DEBUG (при возврате в DOS содержимое регистров теряется).
Результат выполнения работы оформляется в виде *.соm - файла.

Лабораторная работа 2. Планирование работы процессора

(Задание выполняется на дисциплинах, выданных преподавателем на лабораторных занятиях)

Цель работы Изучение и исследование некоторых алгоритмов и способов планирования заданий (с учетом требований к памяти и внешним устройствам) в мультипрограммной вычислительной системе.

Общие сведения о планировании заданий

Функцией службы управления процессом является распределение аппаратных ресурсов центрального процессора.

Можно выделить следующие компоненты этой службы:

– планировщик заданий,

– планировщик задач (планировщик процессов).

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

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

Планировщик заданий выбирает, какие задания и в какой последовательности должны поступать на обработку (своего рода «макропланировщик»).

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

В случае мультипрограммирования планировщик заданий выбирает несколько заданий из множества всех представленных и вводит их в систему. Для каждого задания формируется таблица задания JCB (Job Control Block). Пример таблицы задания приведен на рис. 1.

Идентификатор задания –
Количество шагов –
  приоритет – объем памяти – число внешних устройств –
предполагаемое время выполнения –
признаки выполнения задачи –
. . N  
  признаки выполнения задачи –

Рис. 1. Таблица задания.

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

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

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





Дата публикования: 2014-12-11; Прочитано: 1347 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...