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

13. Вывод информации на экран. Видеорежимы. Видеопамять

Вывод на экран

В текстовом режиме:

1. Функция DOS int 21h

2. Функция BIOS int 10h

3. Прямой доступ к видео памяти

Всё что выводится на монитор находится в памяти. Для того что бы вывести данные на монитор они должны быть занесены в память В000:0000h -//- B800:FFFFh всё что находится в этой памяти немедленно пересылается на экран. Для отображения каждого символа используется 2 байта инфы. Младший байт хранит код символа, старший атрибуты. мет RGB мет RGB начало фон конец цвет символа.

Графический режим

Прерывание 10h также позволяет переключать графические режимы

Номера режимов:

11h 640x480 2 цветов

12h 640x480 16 цветов

13h 320x200 256 цветов

14. Строковые команды. Префиксы повторения.

Все команды для работы со строками считают, что строка-источник находится по адресу DS:SI (или DS:ESI), то есть в сегменте памяти, указанном в DS со смещением в SI, а строка-приемник — соответственно в ES:DI (или ES:EDI). Кроме того, все строковые команды работают только с одним элементом строки (байтом, словом или двойным словом) за один раз. Для того чтобы команда выполнялась над всей строкой, необходим один из префиксов повторения операций

• Префикс: REP

• Назначение: Повторять

префиксы для операций над строками. Любой из префиксов выполняет следующую за ним команду строковой обработки столько раз, сколько указано в регистре ЕСХ (или СХ, в зависимости от разрядности адреса), уменьшая его при каждом выполнении команды на 1. Кроме того, префиксы REPZ и REPE прекращают повторения команды, если флаг ZF сброшен в 0, и префиксы REPNZ и REPNE прекращают повторения, если флаг ZF установлен в 1. Префикс REP обычно используется с командами INS, OUTS, MOVS, LODS, STOS, а префиксы REPE, REPNE, REPZ и REPNZ — с командами CMPS и SCAS. Поведение префиксов не с командами строковой обработки не определено.

Все команды для работы со строками считают, что строка-источник находится по адресу DS:SI (или DS:ESI), то есть в сегменте памяти, указанном в DS со смещением в SI, а строка-приемник — соответственно в ES:DI (или ES:EDI). Кроме того, все строковые команды работают только с одним элементом строки (байтом, словом или двойным словом) за один раз. Для того чтобы команда выполнялась над всей строкой, необходим один из префиксов повторения операций

• Префикс: REP

• Назначение: Повторять

префиксы для операций над строками. Любой из префиксов выполняет следующую за ним команду строковой обработки столько раз, сколько указано в регистре ЕСХ (или СХ, в зависимости от разрядности адреса), уменьшая его при каждом выполнении команды на 1. Кроме того, префиксы REPZ и REPE прекращают повторения команды, если флаг ZF сброшен в 0, и префиксы REPNZ и REPNE прекращают повторения, если флаг ZF установлен в 1. Префикс REP обычно используется с командами INS, OUTS, MOVS, LODS, STOS, а префиксы REPE, REPNE, REPZ и REPNZ — с командами CMPS и SCAS. Поведение префиксов не с командами строковой обработки не определено

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 если нечетное

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