1. Информационные системы. Понятия информации, системы, автоматизированной информационной системы



страница13/18
Дата23.12.2012
Размер1.84 Mb.
ТипДокументы
1   ...   10   11   12   13   14   15   16   17   18

15.11.Арифметические команды языка Ассемблер.

Ниже перечислены наиболее часто используемые арифметические команды языка Ассемблер.

  • ADD <приемник>, <источник> — сложение двоичных чисел. Содержимого источника складывается с содержимым приемника. Операнды должны иметь одинаковый формат: байт или слово. Источник может иметь тип r, m, i, а приемник — r или m. Нельзя использовать комбинации параметров, имеющих следующие типы: rsegm, i; rsegm, rsegm; m, m. Команда формирует флаги AF, CF, OF, PF, SF, ZF.

  • INC <приемник> — прибавляет 1 к содержимому приемника. Операнд может быть типа r или m. Команда формирует флаги AF, OF, PF, SF, ZF.

  • SUB <приемник>, <источник> — вычитание двоичных чисел. Содержимого источника вычитается из содержимого приемника. Операнды должны иметь одинаковый формат: байт или слово. Источник может иметь тип r, m, i, а приемник — r, кроме rsegm, или m. Нельзя, чтобы оба оператора были типа m. Команда формирует флаги AF, CF, OF, PF, SF, ZF.

  • DEC <приемник> — вычитает 1 из содержимого приемника. Операнд может быть типа r или m. Команда формирует флаги AF, OF, PF, SF, ZF.

  • MUL <источник>, IMUL <источник> — умножение чисел без знака и со знаком соответственно. Операнд представляет собой 8- или 16-битовый множитель и может быть типа r или m. Если источник имеет формат байт, то множимое хранится в регистре AL, произведение будет сохранено в AX. Если операнд имеет формат слово, то множимое берется из регистра AX, а результат сохраняется в регистрах DX и AX: старшие 2 байта результата в DX, а младшие — в AX. Команды формируют флаги CF и OF.

  • DIV <источник>, IDIV <источник> — деление чисел без знака и со знаком соответственно. Операнд представляет собой 8- или 16-битовый делитель и может быть типа r или m. Если источник имеет формат байт, то делимое хранится в регистре AX, частное будет сохранено в AL, а остаток от деления размещается в AH. Если операнд имеет формат слово, то в качестве делимого берется содержимое регистров DX и AX (старшие 2 байта в DX, а младшие в AX), частное от деления сохраняется в регистре AX, а остаток от деления в DL. Команды формируют флаг IF, который устанавливается в 1 при делении на 0 и делении большого числа на очень маленькое, если частное выходит за диапазон допустимых значений.

  • CMP <приемник>, <источник> — сравнение двоичных чисел. Операнды должны иметь одинаковый формат: байт или слово. Источник может иметь тип r, m, i, а приемник — r или m. Нельзя использовать комбинации параметров, имеющих следующие типы: rsegm, i; rsegm, rsegm; m, m. При сравнении беззнаковых чисел команда формирует флаги CF и ZF, а при сравнении чисел со знаком — CF, OF, SF, ZF.

15.12.Ассемблер: команды пересылки данных, команда безусловной передачи управления.


Команды пересылки данных включают в себя:

  • MOV <приемник>, <источник> — пересылает в зависимости от формата операндов один байт или одно слово между регистрами или между регистром и памятью, то есть заносит непосредственное значение в регистр или память. Операнды должны иметь одинаковый формат — байт или слово. Нельзя в одной команде использовать rsegm совместно с i, два операнда типа m или два операнда типа rsegm.

  • PUSH <источник> — помещает в вершину стека содержимое источника, который может быть любым из 16-битовых регистров или парой ячеек памяти, содержащих 16-битовое слово. Команда уменьшает на 1 содержимое регистра SP.

  • POP <приемник> — снимает слово с вершины стека и помещает его в приемник, который может быть любым из 16-битовых регистров или парой ячеек памяти. Команда увеличивает на 1 содержимое регистра SP.

Команда безусловной передачи управления JMP <операнд> — выполняет передачу управления по заданному адресу. В качестве операнда указывается прямой или косвенный адрес.

Переход по прямому адресу выполняется командой JMP <метка>. Если метка расположена в том же сегменте, что и команда передачи управления, переход считается внутренним (near), в противном случае — внешним (far). В написании команды JMP разницы нет. Тип перехода определяется видом метки в момент её объявления: для внутреннего перехода после метки ставится двоеточие « : ». Транслятор по таблице меток и их адресов сам определяет атрибуты near или far и транслирует команду передачи управления соответственно в более короткую или более длинную машинную команду. Необязательный модификатор short перед меткой (т.е. команда вида JMP short <операнд>), позволяет немного сократить длину команды, указывая, что метка расположена не далее ±128 байтов от первого байта команды JMP.

Косвенный адрес для перехода может быть задан в регистре или памяти. В этом случае в качестве операнда выступает имя регистра или области памяти соответственно. При использовании косвенной адресации необходимо указывать атрибут дистанции для операнда с помощью модификатора ptr. Например, JMP near ptr [SI], JMP far ptr [BX].

15.13.Команды условной передачи управления в языке Ассемблер.

Команды условной передачи управления, называемые также иногда триггерами, имеют следующий общий формат:

J<условие> <метка>

где условие — мнемокод проверяемого условия, метка — определяет адрес для перехода. Команда передает управление по прямому адресу — метке, если указанное в команде условие соблюдается. В противном случае выполняется следующая по порядку команда. Условная передача управления может быть только ближней (near) и короткой (short), то есть метка перехода должна быть в том же сегменте и не далее ±128 байт от команды условной передачи управления. Выполнение условия проверяется по состоянию флагов регистра FL, которые устанавливаются по результатам предыдущих операций, формирующих условие перехода, например арифметических, логических, сравнения и др.

Команды условной передачи управления могут быть знаковыми, когда условие проверяется с учетом знака операндов, и беззнаковыми, когда условие проверяется по абсолютным значениям операндов. Какой тип команды использовать зависит от особенностей решаемой задачи и формата данных (знаковые или беззнаковые), над которыми выполняются операции, определяющие возможность перехода. Например, пусть регистр AX содержит 11011010, регистр BX — 00100110, и содержимое этих регистров сравнивается командой CMP AX, BX. В этом случае, если данные беззнаковые, то число в AX будет больше, а если знаковые — то меньше, т.к. единица в старшем разряде указывает, что число отрицательное.

Команды условной передачи управления для беззнаковых данных включают в себя:

  • JA/JNBE — переход, если больше/не меньше или равно, то есть, если флаги ZF=0 и CF=0.

  • JAE/JNB — переход, если больше или равно/не меньше, то есть, если флаг CF=0.

  • JB/JNAE — переход, если меньше/не больше или равно, то есть, если флаг CF=1.

  • JBE/JNA — переход, если меньше или равно/не больше, то есть, если флаги AF=1 или CF=1.

Команды условной передачи управления для знаковых данных включают в себя:

  • JG/JNLE — переход, если больше/не меньше или равно, то есть, если флаги ZF=0 и SF=OF.

  • JGE/JNL — переход, если больше или равно/не меньше, то есть, если флаг SF=OF.

  • JL/JNGE — переход, если меньше/не больше или равно, то есть, если флаг SF¹OF.

  • JLE/JNG — переход, если меньше или равно/не больше, то есть, если флаги ZF=1 или SF¹OF.

Команды условной передачи управления для остальных проверок включают в себя:

  • JE/JZ — переход, если равно/нуль, то есть, если флаг ZF=1.

  • JNE/JNZ — переход, если не равно/не нуль, то есть, если флаг ZF=0.

  • JS — переход, если знак отрицательный, то есть, если флаг SF=1.

  • JNS — переход, если знак положительный, то есть, если флаг SF=0.

  • JC — переход, если есть перенос, то есть, если флаг CF=1. Аналог команды JB.

  • JNC — переход, если нет переноса, то есть, если флаг CF=0. Аналог команды JNB.

  • JO — переход, если есть переполнение, то есть, если флаг OF=1.

  • JNO — переход, если нет переполнения, то есть, если флаг OF=0.

  • JP/JPE — переход, если есть четность, то есть, если флаг PF=1.

  • JNP/JPO — переход, если нет четности, то есть, если флаг PF=0.

  • JCXZ — переход, если содержимое регистра CX равно 0.

15.14.Ассемблер: команды управления циклами, команды перехода к подпрограмме и выхода из неё.

Команды управления циклами используются для повторения цикла заданное число раз. Количество повторений предварительно записывается в регистр CX. Каждый цикл автоматически уменьшает показание CX на 1. Основная команда управления циклами:

LOOP <метка>

Цикл повторяется до обнуления содержимого регистра CX. Команда уменьшает значение в регистре CX на единицу и передает управление по прямому адресу — метке, если значение в регистре CX больше нуля. Если значение в регистре CX равно нулю, выполняется следующая по порядку команда. Передача управления может быть только ближней и короткой (метки near и short).

Подпрограммы в языке Ассемблер оформляются в виде процедур. Для перехода к подпрограмме используется команда CALL <адрес процедуры>. Она запоминает в стеке адрес возврата, т.е. содержимое регистров IP и CS для следующей команды (16 битов, если near, и 32 бита, если far), и осуществляет переход к выполнению процедуры, т.е. записывает в регистры IP и CS (если дальний вызов) новый адрес команды. Адрес процедуры может быть:

  • непосредственным — указывается имя процедуры;

  • прямым — указывается имя регистра, в котором хранится смещение адреса процедуры; может использоваться для вызова близких процедур;

  • косвенным — адрес перехода задается с помощью переменной; для близких процедур вызов осуществляется с использованием переменной формата слово: CALL word ptr <имя переменной>; для дальних процедур — с использованием переменных формата двойное слово: CALL dword ptr <имя переменной>.

Возврат из процедуры выполняется командой RET. Она извлекает из стека адрес возврата и возвращает управление из процедуры, вызванной до этого командой CALL. Если процедура является близкой, то команда RET извлекает из стека одно слово и заносит его в регистр IP. Если процедура имеет атрибут far, то команда возврата извлекает из стека 2 слова: смещение адреса и адрес сегмента, после чего заносит их соответственно в регистры IP и CS.

Вызовы процедур могут быть вложенными. Глубина вложения ограничивается емкостью стека.

15.15.Прерывания и команды языка Ассемблер для работы с ними.

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

В ассемблере существуют следующие команды для реализации прерываний.

  • INT <номер прерывания> — прерывает выполнение программы и передает управление подпрограмме обработки, заданной номером прерывания. При выполнении этой команды в стек помещается содержимое регистров FL, IP и CS, обнуляются флаги IF и TF, после чего в регистры IP и CS загружаются соответственно первое и второе слова вектора прерываний, который считывается из ОЗУ по адресу 4 ´ <номер прерывания>. Например, команда INT 16h считает из памяти вектор, находящийся по адресу 4 ´ 16h = 58h, то есть в регистр IP будет загружен адрес смещения программы обработки прерывания из слова по адресу 58h, а в регистр CS — адрес сегмента этой программы из слова по адресу 5Ah.

  • INTO — прерывает выполнение программы при возникновении переполнения, т.е. когда флаг OF=1. Управление передается по адресу, считанному из 10h, т.е. данная команда является аналогом команды INT 4. Команда обнуляет флаги IF и TF.

  • IRET — выполняет возврат из программы обработки прерываний. При обработке этой команды из стека извлекаются 3 последних слова и загружаются в регистры IP, CS и FL, при этом содержимое регистра SP увеличивается на 6.

16.Языки программирования баз данных. Язык SQL.

16.1.Язык определения данных и язык манипулирования данными.

Язык программирования баз данных (ЯПБД) обычно включает в себя два подъязыка: язык определения данных (Data Definition Language — DDL), используемый для определения схемы (структуры) базы данных (БД), и язык манипулирования данными (Data Manipulation Language — DML), предназначенный для работы с данными, хранимыми в базе. Как правило, в этих языках отсутствуют конструкции управления вычислительным процессом, такие как условные операторы или операторы цикла. Для устранения этого ограничения многие системы управления базами данных (СУБД) предоставляют возможность внедрения операторов ЯПБД в тот или иной язык программирования высокого уровня, например C++, Pascal, Java, FoxPro, называемый базовым языком. Перед компиляцией программы на базовом языке, включающей операторы ЯПБД, они транслируются в конструкции базового языка, обеспечивающие вызов соответствующих подпрограмм СУБД. Кроме того, большинство СУБД и сред разработки приложений для работы с БД предоставляют инструментальные средства для интерактивного выполнения операторов ЯПБД.

Язык определения данных DDL представляет собой язык для описания структуры БД, связей между её компонентами и ограничений для поддержки целостности и обеспечения защиты от несанкционированного доступа. Такое описание называется схемой базы данных. Язык DDL применяется как для определения новой схемы, так и для модификации уже существующей. Обычно он используется разработчиками и администраторами баз данных. В результате определения схемы БД на языке DDL формируется набор специальных таблиц, называемый системным каталогом, словарем данных или каталогом данных. Системный каталог хранит метаданные («данные о данных»), которые описывают объекты БД и позволяют упростить управление ими и доступ к ним. Перед обработкой реальных данных СУБД обычно считывает необходимые для её выполнения сведения из системного каталога.

Язык манипулирования данными DML предназначен для выполнения основных операций управления данными, включающих извлечение, добавление, изменение и удаление сведений, хранящихся в БД. Как правило, язык DML используется разработчиками и программистами приложений БД, а также пользователями, работающими непосредственно с БД. Существует два типа таких языков: процедурные и непроцедурные. Процедурный язык DML позволяет описать какие данные необходимы и точно указать способ их извлечения. Пользователь языка определяет порядок обработки и все операции, которые следует выполнить для получения требуемой информации. Обычно операторы процедурного языка DML встраиваются в программу на языке программирования высокого уровня, конструкции которого используются для управления процессом обработки данных. Непроцедурный (декларативный) язык DML позволяет описать лишь то, какие данные требуются, не конкретизируя способ их извлечения. Конструкции языка DML, определяющие обрабатываемые сведения, транслируются СУБД в набор подпрограмм, обеспечивающих манипулирование указанными данными. Такой подход позволяет скрыть особенности внутренней реализации структур данных и алгоритмов, используемых для извлечения и преобразования хранимых сведений. Часть непроцедурного языка DML, предназначенная для извлечения данных, называется языком запросов. Язык запросов — высокоуровневый узкоспециализированный язык, предоставляющий средства для выборки информации из БД в соответствии с различными требованиями.
1   ...   10   11   12   13   14   15   16   17   18

Похожие:

1. Информационные системы. Понятия информации, системы, автоматизированной информационной системы iconРеферат на тему: "логистические информационные системы. Иерархия использования логистической информационной системы. Функции логистической информационной системы. Поток информации в предпринимательстве."
Основные направления информационно-технического обеспечения логистических систем
1. Информационные системы. Понятия информации, системы, автоматизированной информационной системы iconРазработка автоматизированной информационной системы «кафедра» с помощью современных средств web-программирования
Рассматривается разработка автоматизированной информационной системы «Кафедра» и средства ее реализации
1. Информационные системы. Понятия информации, системы, автоматизированной информационной системы iconБазы данных и информационные системы
...
1. Информационные системы. Понятия информации, системы, автоматизированной информационной системы iconЭкзаменационные вопросы по информатике Направление подготовки «Адаптивная физическая культура»
Основные понятия информатики: информационная среда, информационные технологии, информационные системы, базы данных, интеллектуальные...
1. Информационные системы. Понятия информации, системы, автоматизированной информационной системы iconРабочая программа для студентов направления 230400. 62 «Информационные системы и технологии»
...
1. Информационные системы. Понятия информации, системы, автоматизированной информационной системы iconДисциплина «Интеллектуальные информационные системы», пиэ, 4 курс, 1 семестр вопросы на зачет
Понятие интеллектуальной информационной системы (иис), особенности и основные свойства иис
1. Информационные системы. Понятия информации, системы, автоматизированной информационной системы iconИнформационные системы
Информационная система (ИС) – это комплекс, состоящий из информационной базы (хранилища информации) и процедур, позволяющих накапливать,...
1. Информационные системы. Понятия информации, системы, автоматизированной информационной системы iconРазработка автоматизированной системы эксергетического анализа сложных химико-технологических систем
Поэтому необходимость разработки автоматизированной системы расчета и оптимизации эксергетического баланса хтс произвольной структуры...
1. Информационные системы. Понятия информации, системы, автоматизированной информационной системы iconЛекция 1) гис как специализированная информационная система. Структура информационных систем, представление о модели данных. Последовательность действий при создании информационной системы
Модели данных для пространственной информации. Геокодирование, общее понятие. Геокодирование как процесс перевода пространственной...
1. Информационные системы. Понятия информации, системы, автоматизированной информационной системы iconТемы, вопросы для изучения
Понятия: системы; фаза; гомогенные и гетерогенные системы; процессы и их классификация; параметры и функции состояния системы
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org