Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭВМ(шпоры).docx
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
185.5 Кб
Скачать

13. Программирование вычислений с целыми числами

Сопроцессор непосредственно обрабатывает обычные типы целых чисел, определяемые как слова (DW), двойные слова (DD) и квадрослова (DQ). Эти типы данных приводятся в соответствие с теми типами, которые определены для сопроцессоров: целочисленное слово (16 разрядов), короткое слово (32 разряда) и длинное целое (64 разряда).

Сегмент данных может содержать следующие целочисленные значения, предназначенные для обработки со­процессором:

INT1 DW 1Н ;ЦЕЛОЧИСЛЕННОЕ СЛОВО

INT2 DW 67 ;ЦЕЛОЧИСЛЕННОЕ СЛОВО

|NT3 DD 12345678H ;KOPOTKOE ЦЕЛОЕ

INT4 DD 9435 ;KOPOTKOE ЦЕЛОЕ

INT5 DQ 123456789ABCDEF0H ;ДЛИННОЕ ЦЕЛОЕ

INT6 DQ 7645231 ;ДЛИННОЕ ЦЕЛОЕ

ANS DQ ? ;ДЛИННОЕ ЦЕЛОЕ

Сопроцессор может считывать и возвращать данные в этом формате. Команды FIxxx принимают и воз­вращают в ячейки главной памяти данные целого типа в "целочисленном" формате. Мнемоника "I" означает, что сопроцессор будет принимать или передавать в главную память данные в формате целого числа в проти­воположность данным, закодированным в формате вещественных чисел.

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

Например, имеется Х1 и Х2.

FMUL X1, X2 – операнды перемножаются, значение передаётся первому числу.

FMUL X – сопроцессор перемножает операнд Х со значением, находящимся в вершине стека, значение помещается в вершину стека.

Для целых значений операции только с одним операндом.

FIMUL X

14.Прерывания

Прерывания - это готовые процедуры, которые компьютер вызывает для выполнения определенной за­дачи. Существуют аппаратные и программные прерывания. Когда вызывается прерывание, про­цессор оставляет свою работу, выполняет прерывание, а затем возвращается на прежнее место.

Программы обработки прерываний иногда называют драйверами прерываний. Драйвер – программа обработки прерывания.

Прерывания делятся на прерывания BIOSа и DOSa. Прерывания могут вызываться одно из другого. Прерывание имеет адрес.

Адреса программ прерываний называют векторами. Каждый вектор имеет длину 4 байта. Младшие 1024 байта памяти содержат векторы прерываний, таким образом, есть место для 256 векторов. Вместе взятые они называются таблицей векторов. Прерывания от 0 до ff.

От 0 до 1f – прерывания BIOS

От 20 до ff – прерывания DOS и Basic

15. Аппаратные и программные прерывания

Существуют аппаратные и программные прерывания.

Аппаратные прерывания инициируются аппара­турой, либо с системной платы, либо с карты расширения. Они могут быть вызваны сигналом микросхемы таймера, сигналом от принтера, нажатием клавиши от клавиатуры и множеством других причин. Аппаратные прерывания не координируются с работой программного обеспечения. Когда вызывается прерывание, про­цессор оставляет свою работу, выполняет прерывание, а затем возвращается на прежнее место. Для того, что­бы иметь возможность вернуться точно в нужное место программы, адрес этого места (CS:IP) запоминается на стеке вместе с регистром флагов. Затем в CS:IP загружается адрес программы обработки прерывания и ей передается управление.

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

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

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