- •Ответы на зачет по оспо
- •Активные и пассивные методы обеспечения гарантоспособности по.
- •Алфавит языка ассемблер и типы операндов.
- •Арифметические действия на языке Ассемблер.
- •Архитектура памяти процессоров i386: системные регистры.
- •Архитектура процессоров i386: виды адресации.
- •Архитектура процессоров i386: регистровый состав.
- •Архитектура процессоров i386: сегментация памяти, сегментные регистры, их дескрипторы.
- •Виды и стили элемента управления ListBox.
- •Виды и стили элемента управления ComboBox.
- •Виды файловых систем cd.
- •Виды файловых систем.
- •Диверсификация и n-кратный просчет.
- •Д ирективы резервирования памяти в ассемблере.
- •Директивы сегментации в ассемблере: Model.
- •Директивы сегментации в ассемблере: Segment.
- •Жизненный цикл по.
- •Задачи, решаемые программистами различных уровней.
- •Защитное программирование.
- •Инкапсуляция данных в объектах.
- •Источники ошибок в программных средствах.
- •Категории специалистов, занятых разработкой и сопровождением по.
- •Классификация программных продуктов.
- •Команды вызова процедур на языке Ассемблер.
- •Команды организации циклов на языке Ассемблер.
- •Команды передачи управления на языке Ассемблер.
- •1. Безусловный переход.
- •2. Условный переходы.
- •Л огическая организация файла.
- •Логические действия на языке Ассемблер.
- •Место процессов контроля и диагностики в операционной системе.
- •Методы, свойства, процедуры класса.
- •Механизмы вызова функций Windows.
- •Монтирование и дефрагментация в файловых системах.
- •Наследование классов и объектов.
- •Обработка событий манипулятора типа "мышь".
- •Объекты в оболочке Windows: стили и сообщения.
- •Объекты и классы: основные понятия.
- •Операции с динамической памятью.
- •Основные опции транслятора и линковщика.
- •Основные функции и стили EditControl.
- •Основные функции и стили RadioButton.
- •Основные функции и стили ScrollBar.
- •Основные функции и стили линеек скроллинга.
- •Основы программирования на ассемблере: арифметические и логические действия.
- •Основы программирования на ассемблере: получение кодов нажатых клавиш и вывод их на экран.
- •Регистры флагов в процессоре ix86.
- •Синхронный режим чтения и записи файлов.
- •Служебный регистр управления режимом адресации в процессоре ix86.
- •Состав и функции элементов управления Windows.
- •Способ реализации вытесняющей многозадачности.
- •Способ реализации кооперативной многозадачности.
- •Способы ассоциации файлов (способы идентификации типа файла).
- •Способы оценки надежности по.
- •Структура программы на ассемблере. Формы Бэкуса-Наура.
- •Таксономия гарантоспособности.
- •Тест на герметичность. Виды контроля программных текстов.
- •Технология ole.
- •Типы данных в ассемблере.
- •Типы инструментальных программных систем. Преимущества и недостатки.
- •У правление памятью в процессорах i386: получение линейного адреса, общая структура преобразования логических адресов в физические.
- •Файлы в unix.
- •Физические дефекты и внесенные неисправности; виды внесенных неисправностей.
- •Функция обработки событий wm_command.
Арифметические действия на языке Ассемблер.
Команды инкремента и декремента
Предназначены для быстрого увелечения/уменьшения на единицу регистровых операндов.
Inc BX = add BX,1
Dec BX = sub BX,1
Разрядность операции определяется типом операнда, который может быть 8,16,32-разрядный.
Команды сложения и вычитания
Add позволяет выполнить сложение регистровых и других операндов.
ADD DL,AH
ADD DL,10
Оба операнда двухадресных команд должны иметь одинаковую разрядность.
Аналогично операция вычитания SUB.
Умножение и деление.
В ядре процессора Intel MUL перемножает 8,16-биотвые операнды, создавая при этом 16,32-разрядные произведения. Для данной инструкции требуется указать только один операнд второй операнд должен находится в аккумуляторе. Старшая часть произведения будет размещаться в регистре D, а младшая в регистре A.
Пример: 5*8
MOV AL,5
MOV BH,8
MUL BH
MUL – беззнаковая команда.
IMUL – знаковая. В этом случае знаковый разряд операндов в процедуре умножения не участвует, а служит лишь для вычисления знака результата.
DIV – беззнаковое деление. Выполняет деление 16-разрядного на 8-разрядный операнды. В результате частное записывается в регистр AL, а остаток в регистр AH. Делитель всегда регистр DL, делимое – AX.
Пример: 51/10
MOV AX,51
MOV DL,10
DIV DL
;AL = 5, AH = 1.
IDIV - знаковое деление.
Архитектура памяти процессоров i386: системные регистры.
Данные регистры предназначены для организации работы ОС. Бывают следующих типов:
Управляющие(CR0,CR2,CR3 и др)
CR0 – разрешает защищённый режим, управляет страничной организацией памяти, управляет работой сопроцессора.
CR2 – содержит виртуальный (линейный) адрес при обращении к которому возникла ситуация отсутствия страницы в памяти.
CR3 – содержит адрес размещения таблицы страниц.
Отладочные(DR0-DR3)
Содержит 4 независимых точки останова(условия вызова отладочного прерывания)
DR7 – регистр управления отладкой, в него заносятся типы точек останова(память/порт)
DR6 – регистр состояния отладки, содержит описание последней точки останова.
Тестовый регистр страничной организации
TR6 – содержит виртуальный адрес, используемый страничными устройствами
TR7 – содержит физический адрес, используемый для тестирования устройства.
Регистры защищённого режима.
IDTR – содержит базу и размер таблицы векторов прерываний.
GDTR – содержит базу и размер таблицы глобальных дескрипторов.
LDTR – содержит селектор сегмента таблицы локальных дескрипторов.
TS – содержит селектор сегмента, в котором располагается TSS для текущей задачи.
Для передачи управления от задачи к задаче используется специальный стек TSS, расположенный в основной памяти.
Архитектура процессоров i386: виды адресации.
Операнды - объекты, на которые действуют инструкции или директивы, либо это объекты, которые определяют или уточняют действие инструкция или директив.
Возможна следующая классификация операндов:
постоянные (непосредственные) операнды - число, строка имя или выражение, имеющие
некоторое физическое значение. При этом операнд не должен зависеть от места
расположения программы в памяти (неперемещаемый операнд).
адресные операнды.
перемещаемые операнды.
счетчик адреса, регистровый операнд, базовый и индексный операнды, структурные операнды, записи.
Постоянные (непосредственные) операнды - это число, строка имя или выражение, имеющие некоторое фиксированное значение. При этом операнд не должен зависеть от места расположения программы в памяти.
Адресные операнды - задают физическое положение операндов в памяти с помощью указания двух составляющих адреса: сегмента и смещения, пример: MOV AX, OOOOh
MOVDS,AX
MOV AX, DS: OOOOh
Перемещаемые операнды - это любые символьные имена представляющие адреса памяти, не привязанные жестко к расположению физической памяти. Сегментная составляющая адреса перемещаемого операнда в момент компиляции неизвестна и будет определена только после загрузки исполняемого файла в память для исполнения, пример: .DATA
DATA SEGVENT ; определяем сегмент с именем DATA
MAS DW 25 DIR(O) ; резервируем строку в памяти
CODE SEGMENT
LEA SI, MAS ; ДУФ - команда загрузки регистра SI
Счетчик адреса - это специфический вид операнда, эквивалентный смещению адреса соответствующего той строке, в которой расположен его символ ($). При использовании
данного типа операнда программист должен самостоятельно контролировать длину команд. В процессе компиляции данный символ или выражение с его участием будет заменено на постоянное значение, пример: JMP $+3 ; длина команды 2 байта
CLD ; длина команды 1 байт
MOVAL, lh
Регистровый операнд - в качестве такого операнда используется один из регистров общего назначения.
