КАТЕГОРИИ: Архитектура-(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 загрузить в AН атрибут символа ‘ 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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |