Системное програмирование

Под ПО ИС принимают совокупность программ и документальных средств для создания и эксплуатации систем обработки данных средств выч техники. В зависимости от функций выполняемых ПО его можно разделить на системное и прикладное. Прикладное ПО предназначено для решения конкретных задач пользователя при организации вычислительного процесса.

ППО предназначено для решения конкретных задач пользователя и организации выч процесса информационной системы в целом. Системное программное обеспечение организует процесс обработки информации в компьютере и обеспечивает нормальную раб среду для прикладных программ.

В состав системного программного обеспечения входит:

1.Операционные системы

2.Сервисные программы

3.Трансляторы языков программирования.

4.Програмы технического обслуживания.

Системное ПО

ОС

Сервисные программы

Трансляторы ЯП

Программы тех обслуживания

Однопользовательские

Многопользовательские

Сетевые

Оболочки

Утилиты

Антивирусы

Компиляторы

Интерпретаторы

Ассемблеры

Тестовые программы

Спец программы контроля

Трансляторами ЯП называется программа осуществляющая перевод текста программы с языка программы в машинный код. Комплекс средств, включающих в себя входной язык программирования, транслятор, машинный язык, библиотеки стандартных программ, средства отладки оттранслированных программ и компоновки их в единое целое называется системой программирования. В зависимости от способа перевода входного языка программирования трансляторы подразделяются на компиляторы и интерпретаторы. В компиляции процессы трансляции и выполнения программы разделены по времени. Сначала компилируемая программа преобразуется в набор объектных модулей на машинном языке которые затем собираются(компонуются) в единую машинную программу готовую к выполнению эта программа может быть выполнена многократно без повторной трансляции. Интерпретатор осуществляет пошаговую трансляцию и немедленное выполнение операторов исходной программы. Каждая программа ЯП транслируется в одну или несколько команд машинного языка которые тут же выполняются без сохранения на диске. Таким образом при интерпретации программа на машинном языке не сохраняется и поэтому при каждом запуске исходной программы на выполнение ее нужно транслировать заново.

Базовые регистры.

EAX — временное хранение данных. Аккумулятор

EBX- вычислительные процессы

ECX — служит для хранения данных, служит счетчиком.

EDX — выч процессы, в качестве расширителя аккумулятора для вычислений ч повышенной точностью, а также при умножении и делении.

Регистры для адресации.

BX – базовый регистр.

BP – указатель базы.

SI – индекс источника.

DI – индекс результата.

Эти регистры могут использоваться для хранения адреса памяти.

Регистры сегментов.

С помощью этих регистров память можно организовать в виде совокупности 4 различных сегментов.

CS – регистр программного сегмента, определяет местоположение части памяти содержащий программу.

DS – идентифицирует часть памяти предназначенной для хранения данных.

SS – сегмент стека, определяет часть памяти используемый как системный стек.

ES – регистр расширенного сегмента, указывает дополнительную область памяти используемую для хранения данных.

Регистры указателя стека.

SP – указывает смещение текущей вершины стека.

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

IP – хранит адрес ячейки памяти начала следующей команды.

Регистр флаков

Флаки это отдельные биты принимающие значение 0 или 1. Регистры флаков содержат 9 активных битов(из 16).

OR – признак переполнения, равен 1 если возникает арифметическое переполнение, т.е. когда размер результата превышает размер ячейки назначения.

DF – признак направления, устанавливается в единицу для автоматического декремента в командах обработки строк, и в 0 для инкремента.

IF – признак разрешения прерывания, если равен 1 прерывание разрешено.

TF – признак трассировки, если стоит 1 то процессор переходит в режим ожидания после выполнения каждой из команд.

SF – признак знака, равен 1 для отрицательных чисел, 0 для положительных.

ZF – признак нулевого результата, равен 1 если результат равен 0.

PF – признак четности, устанавливает 1 если результат имеет четное число единиц.

CF – признак переноса, устанавливает 1 если имеет место перенос или заем из старшего бита результата.

AF – признак дополнительного переноса, устанавливается в 1 во время выполнения команд 10 сложения или вычитания при возникновении переноса или займа между полубайтами.

Формат представления базовых данных.

С точки зрения размерности микропроцессор поддерживает следующие типы данных:

Байт – 8 последовательно расположенных битов пронумерованных от 0 до 7. Нулевой бит является младшим значащим битом.

Слово – последовательность из 2 байт или 16 битов. Байт содержащий нулевой бит называется младшим а содержащий 15 старшим. Адресом слова является адрес его младшего байта.

Двойное слово – последовательность из 4 байт или 32 битов. Слово содержащее 0 бит называется младшим словом а 31 –старшим.

Учетверенное слово – последовательность из 8 байт или 64бита от 0 до 63.

Дерективы инициализации и описания данных в языке Ассемблер.

DB – резервируется память для данных в размере 1 байт, в эту дерективу можно задавать след значения:

Выражение или константу из деапазона для чисел со знаком -128 до 127 для чисел 1 знака от 0 до 255.

Символьную строку из 1 или более символов строка заключается в кавычки, в этом случае выделяется столько байт сколько символов строки.

BW – дезертвируется память размером 2 байта. Директиве BW можно задовать след значение :

Выражеие или константа принимающих значение от -32768 до 32767 или от 0 до 65535.

Одну двухбайтовую строку закл в ковычкию

DD – двойное слово, 4 байта.

DF – 6байт.

DQ – 8байт.

DT – 10 байт.

A=100;

B=-200;

C=20100;