Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ntjhbz_igjhs.docx
Скачиваний:
22
Добавлен:
17.09.2019
Размер:
82.25 Кб
Скачать

3. Типы класса – имена, фиксированные (code, data, stack).

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

Синтаксис:

<имя группы> GROUP<список сегментов>

ASSUME указывает TurboAssembler'у, в значении какого сегмента усатанавливается данный сегментный регистр.

ASSUME CS:_CODE – такая запись обязательна.

_____________________

Современная память содержит несколько видов памяти.

Внешняя память относится к внешним устройствам ПК и используется для долговременного хранения информации. Представлена разнообразными видами ЗУ (накопители на жёстких и гибких магнитных дисках). Характерны большие объемы и медленное обращение, малая скорость.

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

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

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

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

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

КЭШ – буферная, недоступная для пользователя быстродействующая память, автоматически используемая компьютером для ускорения операций с информацией, хранящейся в более медленно действующих ЗУ. В процессе работы отдельные блоки ОП копируются в КЭШ. Когда ЦП обращается за командой или данными, сначала он их ищет в КЭШ и если находит, то быстро извлекает. Если не находит, то содержимое КЭШ обновляется новыми данными из ОП. КЭШ бывает 1 и 2 рода. КЭШ 1 рода находится в кристалле процессора, а КЭШ 2 рода подключается внешне к материнской плате.

_____________________

30) Базовая система ввода/вывода bios. Прерывания операционной системы dos. Средства

MS-DOS для работы с внешними устройствами( основные функции).

Программа, управляющая основными прерываниями в системе до загрузки ОС, располагается в ПЗУ и называется BIOS.

При включении компьютера CS(fffffff0) и IP(0) устанавливаются на адрес ПЗУ.

- Тестирует и определяет различные порты для подключения внешних устройств.

- формирует с 0-ого адреса памяти таблицу адресов прерывания.

- Выполняет команду int 11h - запрос списка присоединения оборудования

- int 12h – определение размера физической памяти

- обращается к диску, являющемуся загрузочным для загрузки ОС.

BIOS обслуживает прерывания 0-20, остальные - ОС.

Int 4 - при переполнении ОП

5 – печать содержимого экрана

8 – системный таймер

9 - клавиатура

A,B,C,D – прерывания с жёсткого диска

0E – с гибкого диска

Всё ПО ПЗУ BIOS разделено на:

TEST – анализирует наличие и работоспособность внешних устройств

POST – устанавливает драйверы и загружает ОС.

Прерывания ос

К ним относятся прерывания 21h<, в основном это набор резидентных драйверов периферийных устройств компьютера.

Int 20h – функция выхода из прерывания.

Наибольшее кол-во функций находится в int21h, такие как:

00 – завершение программы, аналогично 20h

01-0С – ввод с клавиатуры

0D-0E – работа с дисководом

0F-16 – чтение и запись файлов с использование блока управления

2A-2D – установка даты

3C-40 – открытие/закрытие, чтение и запись файла с использованием файлового дескриптора.

31) Программы .COM и .EXE формата (структура, размер). Префикс программного сегмента(PSP). Чтение параметров командной строки в PSP.

Программы .com и .exe форматов – исполняемые программы. COM всегда меньше по объему, чем EXE-формате. Программы типа com являются односегментными. Это и программа, и данные, и стек размещаются в одном сегменте.

Программы типа exe состоят из 2-х частей:

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

Собственно загрузочный модуль.

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

Заголовок имеет минимальный размер 512 байт.

Программа типа com не имеет заголовка, что обеспечивает более эффективную ее работу.

Hello.exe 550 байт

Hello.com 25-30 байт

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

В com место под префикс программного сегмента (PSP) резервирует программист, начиная программу директивой ORG 100h. Таким образом PSP включается в область сегмента программы.

Любая программа содержит специальную таблицу PSP, имеющую размер 256 байт.

В exe место под PSP не резервируется. Он пристраивается к программе в процессе загрузки.

Указатель стека на конец сегмента. Граница между программой и стеком условна.

Основа вирусов – засорение стека.

Префикс программного сегмента (PSP)

Префикс состоит из 256 (100h) байт.

00 – int 20 – выход из подпрограммы.

02 – общий размер доступной памяти (кратное 16)

0Аh-0Dh – содержимое вектора прерывания по завершению программы.

0Еh – содержимое вектора прерывания по Ctrl/C

12h-15h -------//-------- по критической ошибке.

2Сh-2Dh – сегментный адрес блока памяти с окружением данного процесса

Окружение – информация о процессе.

80h-FFh – хвост команды или дисковая область передачи данных

На PSP указывает регистр ES. По адресу ES: [80h] находится количество байт, содержащееся в хвосте без учёта символа <Enter>

32) Клавиатура и программирование клавиатурных операций.

Входные линии подключаются к Х0 – Х 3 клавиатурного процессора, выходящего Y0 – Y3. Устанавливается по очереди, на каждой из вертикальных линий, уровень напряжений = 0. Клавиатурный процессор опрашивает состояние горизонтальных линий. Если нажатых клавиш нет, уровень напряжений на всех горизонтальных линий = 5 В. Если нажать клавишу, то соответствующие вертикальные и горизонтальные линии замкнутся. В момент t, когда на этой вертикальной линии устанавливается 0, на соответствующей горизонтальной тоже 0. Наличие 0 на горизонтальной линии фиксируется процессором, и по соотношению номера горизонтальных линий и времени определяется номер горизонтальной линии. Номер клавиши однозначно связан с распайкой клавиатурной матрицы (сканкод). Клавиатурный процессор сканирует клавиатуру для поиска клавиши. Этот код преобразуется процессором в ASCII-код. Если нажать клавишу и не отпускать её, выполняется функция автоповтора, когда периодически в ПК посылается код. Для работы с клавиатурой используются порты 60 h и 61h. С их помощью можно осуществить режимы работы клавиатуры.

Режим автоповтора 0F3h. Затем байт, определяющий характеристики клавиатурного режима

Для программирования управляющих светодиодов (Caps lock, Num Lock, Scroll Lock) используется команда 0Edh. Затем посылается байт с указанием номера светодиода.

Биты

0 вкл. Scroll Lock

1 Num Lock

2 Caps Lock

Процесс взаимодействия системы с клавиатуры выглядит так:

25

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]