Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
8. СИСПРОГ-госы.doc
Скачиваний:
2
Добавлен:
26.08.2019
Размер:
230.91 Кб
Скачать

Переходы

  1. Безусловный и оператор SHORT

JMP op

Операнд указывает адрес перехода, т.е. адрес команды, кот.будет выполнена след-ей.

Способы указания адреса:

  1. с пом.прямого перехода (команда короткого и длинного перехода. SHORT – предупредить ас-р, что переход будет короткий).

  2. косвенный переход

Указ-ся не сам адрес перехода, а то место, где нах-ся этот адрес.

  1. Команды сравнения и условного перехода

CMP op1, op2

Команда эквивалентна команде вычитания, только рез-т никуда не записывается.

Условный переход:

Jxx <метка>

E - равно

N – не или отрицание

G – больше (для чисел

L – меньше со знаком)

A – больше (для чисел

B – меньше (без знака)

  1. Команды управления циклом

  • LOOP

Тело надо повторить N –раз. В кач-ве счетчика исп-ся CX. Цикл выполняется хотя бы 1 раз.

  • LOOPE

Цикл по счетчику и пока =

  • LOOPZ

Цикл по счетчику и пока 0

Из последних 2-х возможен досрочный выход.

Логические команды:

  1. отрицание NOT op

  2. конъюнкция AND op1,op2

  3. дизъюнкция OR op1, op2

  4. исключающее ИЛИ XOR op1, op2

Команды сдвига:

1. команды логич.сдвига

SHL op, CL

SHR op, CL

2. Арифметич.сдвиги

SAL op1, op2

SAR op1, op2

3. Циклические сдвиги

ROL op,1

ROR op,1

Упакованные данные – такие данные, кот.помещаются сразу несколько в 1 ячейку, т.е. размещение данных ведется на уровне битов.

Массивы

Описываются по директивам определения данных с использованием конструкции повторения данных. Все элементы массива принято описывать с нулевого.

X DW 30 DUP(?) ; массив от 0 до 29

A DD N DUP (M DUP (?)) ; массив размера N на M

Адрес элемента массива:

X[i] = X + 2*i = X + TYPE(X)*i

Исполнительный адрес

Аисп = (A+[BX])mod 2^16

СТРУКТУРЫ

Составной объект, занимающий неск-ко соседних ячеек памяти. Компоненты стр-ры наз-ся полями и могут быть разного типа. Доступ к полям осущ-ся по имени.

Описание типа стр-ры:

<имя типа> STRUC

<описание поля>

<описание поля>

<имя типа> ENDS

Описание типа стр-ры носит чисто информативный хар-р и может размещаться в любом месте программы, но обязательно до описания переменных этого типа. Описание переменной:

Имя перем_имя типа<нач знач>

ПРОЦЕДУРЫ Группа команд, кот. решает некот.подзадачу и кот. организована таким образом, что ее можно использовать любое кол-во раз и из любых мест, наз-ся подпрограммой.

Подпрограмма может размещаться в конце сегмента команд за командой FINISH, в начале сегмента команд перед командой, с кот. должно начинаться управление, в отдельном сегменте команд. Описание:

<имя проц>PROC<пар-ры>

<тело проц-ры>

<имя проц>ENDP

Вызов проц-ры: СALL <имя проц>

  1. Защищенный режим процессора Intel 80386: страничная адресация, переключение контекста, использование возможностей защищенного режима различными ос.

С помощью введенных 4-х уровней привилегий (0,1,2,3) в 386+ введен принцип мандатного ограничения доступа. При исполнении процесса ему присваивается текущий уровень привилегии (изначально предполагается, что ядро ОС – 0 уровень, пользовательское приложение – 3 уровень, 1 и 2 уровни на усмотрения ОС). При вызове процедур или при переходе между сегментами разрешается использовать код, имеющий более высокий уровень привилегии, при этом уровень привилегии текущего процесса не изменяется. Если необходимо изменение (повышение обычно уровня привилегии), то используются шлюзы переходов. При вызове подобного прерывания меняется уровень привилегии процесса, процесс переходит на другой сегмент, стек. И дополнительно имеется возможность скопировать несколько стековых кадров из стека вызвавшего в стек вызываемый.

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

В процессорах 80386 преодолено жесткое ограничение на длину непрерывно сегмента памяти и составляет теперь 64Кбайта. В защищенном режиме 32 разрядных процессоров оно отодвинулось до 4Гбайт. Процессоры могут работать в 2 режимах: Real address mode – режим реальной адресации, полностью совместим с 8086(этом режиме возможна адресация до 1мб); Protected Virtual Address mode – защищенный режим (в этом режиме возможна адресация до 4гб физической памяти).

Страница в 80386 имеет длину 4к байт. Этот размер находится в согласии с промышленной тенденцией к увеличению длины страниц и ведет к увеличению производительности по двум направлениям. Во-первых, он обеспечивает хорошее отношение показаний страниц в кэш при данном объеме кэш-памяти. Во-вторых, 4кбайтов являются эффективным размером блока для дисковых передач.

80386 включает страничный механизм, устанавливая бит PG в управляющем регистре 0 при помощи привилегированной команды. Когда страничный механизм включен, процессор транслирует линейный адрес в физический адрес, используя страничные таблицы. Страничные таблицы являются частью таблиц дескрипторов сегментов. Так же как таблицы дескрипторов сегментов задачи определяют ее логическое адресное пространство, страничные таблицы задачи определяют ее линейное адресное пространство. Аналогично супер-мини-эвм и большим эвм страничные таблицы 80386 организованы по принципу двухуровневой иерархии. Каждая задача может иметь справочник системных таблиц. Системный регистр CR3 процессора 80386 (база справочника системных таблиц) указывает на справочник страничных таблиц работающей задачи. Процессор обновляет регистр CR3 при каждом переключении задачи, получая новый адрес задачи из TSS(сегмент состояния задачи) новой задачи. Справочник страничных таблиц имеет длину, равную одной странице и содержит элементы страничной таблицы описывают 1024 страницы. Таким образом, каждая страничная таблица описывает 4м байта, а оглавление может описать до 4г байт - максимальное адресное пространство.

Windows графическая 32 разрядная многозадачная ОС. Windows 1) основана на защищенном 386+; 2) динамически загружаемые библиотеки DLL. Блок программного кода, который по требованию может быть загружен в ОЗУ, используется несколькими программами одновременно и может быть выгружен в тот момент когда надобность в нем отпадает. (exe ->dll->dll). Основные DLL это Kernel, работа с файлами, потоками, процессами, событиями, сообщениями, системными часами, управление памятью, загрузка библиотек, запуск и остановка процесса.

Advapi32 – системный log файл. Gdi32 – графический интерфейс.

User32 - клавиатура, мышь, сообщения пользователю и высоко уровненная работа с графическим интерфейсом.

___________________________

Модель процессора фирмы Intel - 16-разрядный процессор i80286 - принципиально отличается от i8086. Этот процессор может работать в двух режимах - реальном и защищённом.

В реальном режиме процессор i80286 является практически полным аналогом i8086, но имеет большее быстродействие. В реальный режим процессор переключается после аппаратного сброса или после включения питания компьютера.

Реальный режим обеспечивает полную совместимость процессора i80286 с программным обеспечением, подготовленным для i8086. Поэтому компьютер IBM AT (и его аналоги), в котором установлен процессор i80286, способен без труда работать с операционной системой MS-DOS и программами, разработанным ранее для процессора i8086.

Однако полностью возможности i80286 реализуются в так называемом защищённом режиме, в который процессор может переключиться специальной командой из реального режима.

В защищённом режиме процессор i80286 полностью преображается. Используя совершенно иной метод адресации памяти, процессор i80286 расширяет адресное пространство до 16 мегабайт. Процессор i80286 в защищённом режиме имеет встроенную поддержку мультизадачных операционных систем, значительно ускоряющую и упрощающую процесс переключения задач. Эта поддержка активно используется всеми мультизадачными операционными системами и оболочками, разработанными для компьютера IBM PC/AT.

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

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

В защищённом режиме программа может записывать данные только в те области памяти, которые выделены ей операционной системой. Это сильно повышает надёжность работы мультизадачных и, в частности, мультипользовательских операционных систем.

В следующих моделях процессоров фирмы Intel - i80386 и i80486 - помимо расширения адресного пространства до умопомрачительной величины в 4 гигабайта реализована концепция страничной виртуальной памяти. Всё это возможно только в защищённом режиме.

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

Например, при работе в среде операционной системы WINDOWS версий 3.0 и 3.1 на компьютерах, оснащённых процессорами i80386 или i80486 в так называемом расширенном режиме (386 Enhanced Mode) ваша программа может распоряжаться несколькими десятками мегабайт виртуальной оперативной памяти, даже если в компьютере установлено только 3-4 мегабайта физической оперативной памяти.

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

В процессорах i80386 и i80486 реализован так называемый режим виртуального процессора i8086 или просто виртуальный режим. Этот режим реализуется в рамках защищённого режима. В виртуальном режиме процессор способен выполнять программы, составленные для процессора i8086, находясь в защищённом режиме и используя аппаратные средства защищённого режима: мультизадачность, изолирование адресных пространств отдельных задач друг от друга, страничная виртуальная память. Перечислим кратко основные преимущества, которые получает программа, работающая в защищённом режиме процессора:

- возможность непосредственной адресации памяти за пределами первого мегабайта;

- для процесоров i80386 и i80486 реализован механизм страничной виртуальной памяти, позволяющий программам работать с памятью, размер которой может быть много больше физической оперативной памяти, установленной в компьютере;

- аппаратная поддержка мультизадачности позволяет создавать на основе процессоров, работающих в защищённом режиме высокопроизводительные мультизадачные и мультипользовательские системы;

- эффективная работа нескольких программ, составленных для MS-DOS, основанная на использовании виртуального режима работы процессора.