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

15. Организация циклов, условных и безусловных переходов

Безусл. переходы в асм. осущ. с помощью команды jmp mylabel; mylabel - метка куда перейдет. jmp - исп-ет 16 битное смещение элементов если задать. mov bx,wl;---jmp bx- преходпо содержимому регистра bx. jmp [wl] - аналогично. jmp можно использовать для перехода в другой сегмент но нужно делать перегрузку cs:ip. Сущ сл. переходы:1)типа short (короткий переход) — если адрес перехода находится в пределах от -127 до +128 байт от команды JMP; 2) типа near (ближний переход) — если адрес перехода находится в том же сегменте памяти, что и команда JMP; 3)типа far (дальний переход) — если адрес перехода находится в другом сегменте. Дальний переход может выполняться и в тот же самый сегмент, если в сегментной части операнда указано число, совпадающее с текущим значением CS; 4)переход с переключением задачи — передача управления другой задаче в многозадачной среде.

Условные переходы осущ. переход по заданному адресу в случае выполнения условия, задаваемого состоянием флагов процессора.

Код команды Реальное условие Условие для CMP

JA CF = 0 и ZF = 0 если выше

JNBE если не ниже или равно

JAE если выше или равно

JNB CF = 0 если не ниже

JNC если нет переноса

JB если ниже

JNAE CF = 1 если не выше или равно

JC если перенос

JBE CF = 1 и ZF = 1 если ниже или равно

JNA если не выше

JE ZF = 1 если равно

JZ если ноль

JG ZF = 0 и SF = OF если больше

JNLE если не меньше или рав

JGE SF = OF если больше или равно

JNL если не меньше

JL SF <> OF если меньше

JNGE если не больше или равн

JLE ZF = 1 и SF <> OF если меньше или равно

JNG если не больше

JNE ZF = 0 если не равно

JNZ если не ноль

JNO OF = 0 если нет переполнения

JO OF = 1 если есть переполнение

JNP PF = 0 если нет четности

JPO если нечетное

16. Мультимодульные программы.

Рассмотрим пути создания программ из нескольких модулей.

Каждый компилируется по отдельности, затем компоновщик объединит в одну программу.

3 директивы:

• public

• extrn

• global

public [язык] метка [, [язык] метка…]

Определяет метки программы, которые будут доступны в других программах.

.data

public my_equ, my_var

my_equ equ 25

my_var dd 12345678h

.code

public my_proc

my_proc proc …

extrn определение [, определение…]

определение = [язык] метка:тип[:количество повторений]

Определяет какие метку будут взяты из другого модуля.

Тип: ABS (константа), BYTE, WORD,…, FAR, NEAR, PROC

global определение [, определение…]

Объединяет функции public и extrn.

.data

global my_out:dataptr, my_in:word …

my_in dw 10

.code

global my_out_code:near, my_in_code:far

my_in_code proc far …

call my_out_code

17. Обработчики прерываний и резидентные программы.

Посредством прерывания работы микропроцессора можно приостанавл. работу текущей программы и осущ. запуск другой программы.Прерывания: 1)Внешние;2)Внутренние. Каждому прерыв. ставятся в соотв. 4-х байтный вектор с номером 0<n<255. Все векторы можно размещать по порядку в младш. килобайте памяти. Любой из них задает точку входа или старт адрес программы для обслуж. треб ситуации. В виде сегмент. прогр:смещ. прогр. Внешн прер. вызываются на входе INTR(запрос маскируемого прерывания и на NMI(немаскер. прерывание). Если признак I в регистре флаг = 0, сигнал на входе INTR не распознается и прерывание не происх. При I=1 и налич сигнала INTR возник маскируемое прерывание. Действие кот. будет при этом выполн.:1) На вход INTR - поступ. запрос прерывание;2) Послед. действия определ. допустимой ситуацией:а) ожид. завершение текущей команды; б)-||- сл. команды;в) запрос обраб во время вып. текущей команды.---В нек случаях сигнал INTR распазн только при б).--Имеются 2 случ. когда в): 1..При строковых командах с повторением.2.. При вып. команды wait. 3) Микропроц. выраб. 2 сигнала подтверждения INTX. 4) По шине адресов/данных в микропроц. передается байт с номером n прерываний. 5) Текущее содерж. регистра признаков и регистра CS и IP загруж. в стек. В стек загруж. IP соответ. смещениюкоманды перед которой возникло прерыв. 6) Признаки I,T сбрасываются в 0.7)В CS:IP загруж. содержимое вектора n. 8) Выполн. программа обработки прерывания. 9) В конце обработки прерыв. команда iret восстан. знач. регистра IP,ES и FL.10)Прерванная программа продолж. свое выполнение.

Внутренне прерывание возникает либо при появлении некоторых микро сигналов внутри микропроцессора либо по команде внутри программы

+cм 18

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