Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лабораторная работа № 2. w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12,w13,w14,w15: word;




Begin

Begin

Var

b1,b2: byte;

w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12,w13,w14,w15: word;

l1,l2,l3,l4,l5,l6: longint;

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

procedure summa;

b1:=b1+b2;

end;

procedure raznost;

b1:=b1-b2;

end;

Определить с помощью операторов seg и offset сегментные и относительные адреса переменных b1, b2, w1, w2 а также процедур summa и raznost. Записать значения сегментных и относительных адресов (раздельно) в двухбайтные переменные w1 - w12. Например,

mov AX, seg b1 загрузка сегментного адреса переменной b1 в AX;

mov BX, offset b1 загрузка относительного адреса переменной b1 в ВX;

mov w1, AX сохранение сегментного адреса в переменной w1;

mov w2, BX сохранение относительного адреса в переменной w2.

Записать в двухбайтовые переменные w13, w14, w15 значения регистров CS, DS, ES соответственно. Например

mov w13,CS сохранение значения сегментного регистра CS в w13;

mov w14,DS сохранение значения сегментного регистра DS в w14;

mov w15,SS сохранение значения сегментного регистра SS в w15.

Значения переменных w1 - w15 вывести на экран монитора с помощью стандартных процедур Pascal writeln, например:

writeln('w1=',w1); вывод значения пременной w1 на экран монитора.

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

1.3.2. Исследование прямой адресации памяти на примере работы с видеобуфером. Вывести на экран монитора произвольный алфавитно-цифровой символ в позицию в соответствие с номером варианта (см. табл. 1.1).

Таблица 1.1.

Варианты заданий для работы с видеобуфером

№ варианта                                        
№ строки                                        
№ столбца                                        

 

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

off=N*80*2+М*2,

где N – номер строки экрана при нумерации строк от 0 до 24.

M – номер столбца на экране при нумерации столбцов от 0 до 79.

Фрагмент программы, выводящей символ С в 12 строку экрана и 20 столбец (off=12*160+40=1960) приведен ниже:

mov AX, 0B800h загрузить в АХ сегментный адрес видеобуфера;

mov ES, AX настроить ES на сегментный адрес видеобуфера;

mov AL, 'А' загрузить в AL код символа ‘ C ’;

mov AH, 00001111b загрузить в атрибут символа ‘ C ’;

mov BX, 1940 загрузить в BX смещение (номер позиции) символа ‘ C ’;

mov ES:[BX], AX вывод на экран символа ‘ С ’ белого цвета на черном фоне.

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

1.3.3. Получение практических навыков при работе с портами ввода/вывода. В ПЭВМ типа IBM PC/AT энергонезависимая память CMOS используется для хранения конфигурации аппаратных средств. Эта память состоит из набора ячеек (размером в байт), доступ к которым выполняется через порты ввода/вывода с адресами 70h и 71h.

Процедура чтения данных из ячейки CMOS состоит из 2–х шагов:

– запись в выходной порт с адресом 70h номера ячейки, из которой необходимо считать информацию;

– считывание содержимого данной ячейки из входного порта с адресом 71h.

Необходимо получить информацию об объеме установленной в ПЭВМ основной оперативной памяти из ячеек СMOS 15h и 16h:

mov AL, 15h загрузить в регистр АL номер ячейки CMOS 15h;

out 70h, AL отправить в порт 70h микросхемы CMOS номер ячейки;

in AL, 71h считать из порта 71h микросхемы CMOS ячейку № 15h;

mov byte ptr w, AL записать в младший байт с содержимое ячейки № 15h;

mov AL, 16h загрузить в регистр АL номер ячейки CMOS 16h;

out 70h, AL отправить в порт 70h микросхемы CMOS номер ячейки;

in AL, 71h считать из порта 71h микросхемы CMOS ячейку № 16h;

mov byte ptr w+1,AL записать в старший байт с содержимое ячейки № 16h.

В результате выполнения данного фрагмента переменная w будет содержать объем (в килобайтах) основной оперативной памяти, установленной в ПЭВМ. Вывод значения переменной w на экран целесообразно проводить с использованием стандартных процедур Borland Pascal writeln.

Записать в отчет текст и результаты работы программы необходимо.Полный текст программы определения объема установленной основной оперативной памяти в ПЭВМ приводится в Приложении 3.

1.4. Содержание отчета:

В отчете необходимо привести следующее:

Характеристики лабораторной вычислительной системы.

Исходные модули и результаты выполнения разработанных программ.

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

 

1.5. Контрольные вопросы и задания:

1. Каковы основные особенности архитектуры вычислительных систем на базе МП і80х86 в реальном режиме?

2. Перечислить регистры микропроцессора і80х86 и указать их функциональное назначение.

3. Пояснить распределение адресных пространств памяти и устройств ввода/вывода в МП і80х86.

4. Объяснить сущность механизма сегментации адресов при обращении к памяти.

5. Привести и пояснить сегментную структуру программы.

6. Перечислить основные команды МП і80х86 при обращении к памяти и портам ввода/вывода.




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 502; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.