Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ответы на типичные вопросы по лабораторным

.doc
Скачиваний:
16
Добавлен:
20.06.2014
Размер:
43.01 Кб
Скачать

Ответы на часто задаваемые вопросы

к лабораторным работам по организации ЭВМ

ЛР №1

  1. Какие общие команды бывают у разных процессоров?

Команды передачи данных, передачи управления, арифметическо-логические команды.

  1. Какой регистр в программе изменяется чаще всего?

Чаще всего изменяется регистр IP – счетчик команд. Увеличивается на 1 после каждого байта команды и каждого операнда команды.

  1. Есть ли команды, при выполнении которых не меняется значение ни одного регистра?

Нет, регистр команд и счетчик команд (IP) изменяются после каждой команды

  1. Есть ли команды, при выполнении которых не меняется значение ни одного регистра кроме регистра команд и счетчика команд?

Да, к примеру:

nop

mov ax,ax

ЛР №2

  1. После какой команды первый раз меняется содержимое видеопамяти?

mov ax, 0720h

mov cx, 80*25

rep stosw << после этой – заполнение экрана пробелами

  1. После какой команды включается динамик?

in al, 61h

or al, 00000011b

out 61h, al << вот после этой

  1. Выключится ли динамик после завершения программы, если в программе он не выключается?

Нет, не выключится.

  1. Различна ли будет длина сигнала на процессорах с разной частотой?

Да, т.к. команды выполняются с различной скоростью.

ЛР №3

  1. Какие существуют способы адресации?

Способы адресации

Операнд

Адрес операнда

Регистр

1-2. Неявная или регистровая

5. Косвенная

Команда

3. Непосредственная

4. Прямая

Строка таблицы — это местоположение объекта (регистр или команда). Столбец — тип объекта (собственно операнд или его адрес). Пересечение дает способ адресации. Соответствие способа адресации и местонахождения операнда таково:

  • 1-2 — регистр;

  • 3 — память команд;

  • 4 — память данных или внешнее устройство;

  • 5 — память данных, стек или внешнее устройство.

Надо отметить, что явно или неявно в команде может быть указано имя регистра как с самим операндом, так и с его адресом. Однако, название "неявная адресация" используется только применительно к первому случаю.

  1. Подчеркните все строки с прямой/косвенной/непосредственной/регистровой/смешанной адресацией

  1. Подчеркните все команды, при выполнении которых меняется регистр флагов

Регистр флагов изменяется при всех логических командах (or, and, xor ..), алгебраических (add, dec, mul, inc, dec … ) , операции со стеками (push, pop) и циклы (loop).

ЛР №4

  1. В какой момент процессор узнает адрес глобальной таблицы дескрипторов?

;загружается регистр GDTR значением одноименной переменной

lgdt fword ptr gdtr

  1. Где происходит заполнение глобальной таблицы дескрипторов?

За это отвечают следующие строки:

;Глобальная таблица дескрипторов

GDT label byte

db 8 dup(0) ;дескриптор 0

CS16Dsc db 0FFh,0FFh,0,0,0,10011010b,0,0 ;дескриптор 1

CS32Dsc db 0FFh,0FFh,0,0,0,10011010b,11001111b,0 ;дескриптор 2

DS32Dsc db 0FFh,0FFh,0,0,0,10010010b,11001111b,0 ;дескриптор 3

SS32Dsc db 0FFh,0FFh,0,0,0,10010010b,11001111b,0 ;дескриптор 4

VSegDsc db 0FFh,0FFh,0,80h,0Bh,10010010b,11001111b,0 ;дескриптор 5

GDT_l = $-GDT ;длина GDT

  1. Что за переменная - idtr_real – где объявляется и что содержит?

Объявляется в следующей строке:

idtr_real dw 3FFh,0,0

Первый байт равен лимиту стандартного лимита регистра дескриптора прерываний (1024 байта – 3FFh), последний –

  1. Чем отличаются строки:

CS32Dsc db 0FFh,0FFh,0,0,0,10011010b,11001111b,0 ;дескриптор 2

DS32Dsc db 0FFh,0FFh,0,0,0,10010010b,11001111b,0 ;дескриптор 3

Строки отличаются 4-м битом 5–го байта, если он равен 1, то дескриптор описывает сегмент кода, если 0 – сегмент данных.