Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика экзамен

.pdf
Скачиваний:
53
Добавлен:
11.05.2015
Размер:
540.48 Кб
Скачать

1. Системы счисления, используемые на компьютере. Десятичная система, двоичная и 16ричная системы счисления. Правила перевода.

Система счисления — символический метод записи чисел, представление чисел с помощью письменных знаков.

Система счисления:

даёт представления множества чисел (целых и/или вещественных); даёт каждому числу уникальное представление (или, по крайней мере, стандартное представление);

отражает алгебраическую и арифметическую структуру чисел.

Десятичная система, двоичная и 16-ричная системы счисления.

Двоичная система счисления — это позиционная система счисления с основанием 2. В этой системе счисления, числа записываются с помощью двух символов (0 и 1).

Десятичная система счисления — позиционная система счисления по целочисленному основанию 10. Одна из наиболее распространённых систем. В ней используются цифры 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, называемые арабскими цифрами.

Шестнадцатеричная система счисления (шестнадцатеричные числа) — позиционная система счисления по целочисленному основанию 16. Обычно в качестве шестнадцатеричных цифр используются десятичные цифры от 0 до 9 и латинские буквы от

A до F для обозначения цифр от 1010 до 1510, то есть (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).

Правила перевода.

Для перевода десятичного числа в двоичную систему его необходимо последовательно делить на 2 до тех пор, пока не останется остаток, меньший или равный 1. Число в двоичной системе записывается как последовательность последнего результата деления и остатков от деления в обратном порядке.

Для перевода десятичного числа в шестнадцатеричную систему его необходимо последовательно делить на 16 до тех пор, пока не останется остаток, меньший или равный 15. Число в шестнадцатеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.

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

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

Для перевода двоичного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 2, и вычислить по правилам десятичной арифметики:

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

2.Арифметические операции в двоичной системе счисления. Понятие прямого, обратного и дополнительного кода. Сложение и вычитание целых чисел в двоичной системе

счисления.

Сложение

Умножение

Вычитание

 

 

 

 

 

 

 

 

 

-

0

 

1

 

 

 

 

 

 

 

 

0

0

 

1

 

 

 

 

 

 

 

 

1

1

 

0

 

 

 

 

 

 

Прямой код — способ представления двоичных чисел с фиксированной запятой в компьютерной арифметике. Главным образом используется для записи положительных чисел. При записи числа в прямом коде старший разряд является знаковым разрядом. Если его значение равно 0 — то число положительное, если 1 — то отрицательное. В остальных разрядах (которые называются цифровыми разрядами) записывается двоичное представление модуля числа. Обратный код — метод вычислительной математики, позволяющий вычесть одно число из другого, используя только

операцию сложения над натуральными числами. Ранее метод использовался в механических калькуляторах (арифмометрах). В настоящее время используется в основном в современных компьютерах.Обратный n-разрядный двоичный код положительного целого числа состоит из одноразрядного кода знака (двоичной цифры 0), за которым следует n − 1- разрядное двоичное представление модуля числа (обратный код положительного числа совпадает с прямым кодом). Дополнительный код — наиболее распространённый способ представления отрицательных целых чисел в компьютерах. Он позволяет заменить операцию вычитания на операцию сложения и сделать операции сложения и вычитания одинаковыми для знаковых и беззнаковых чисел, чем упрощает архитектуру ЭВМ. Дополнительный код отрицательного числа можно получить инвертированием модуля двоичного числа (первое дополнение) и прибавлением к инверсии единицы (второе дополнение). Либо вычитанием числа из нуля.

3.Арифметические операции в двоичной системе счисления. Представление вещественных чисел в компьютере. Сложение и вычитание вещественных чисел в двоичной системе

счисления.

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

4.Основные логические операции: AND, OR, NOT, XOR. Таблицы истинности для этих операций. Основные тождества булевой алгебры.

AND (и)

OR(Или)

NOT (Отрицание)

XOR(Исключающее ИЛИ)

5.Графические обозначения основных логических операций: AND, OR, NOT. Схема двоичного сумматора и ее анализ.

AND

OR

NOT

XOR

Схема двоичного сумматора и ее анализ.

6. Понятие об информации и науке информатике. Исторические этапы способов обработки, хранения и передачи информации.

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

Информатика – это наука, которая изучает общие законы хранения, обработки и передачи информации с помощью компьютера.

Исторические этапы способов обработки, хранения и передачи информации:

речь (сделало возможным обработку информации человеком)

письменность (позволило решить очень важную проблему – надежность хранения информации и передачу ее во времени) книгопечатание (стало возможным быстро и надежно распространять информацию)

компьютеры (удалось принципиально решить проблему хранения, передачи и обработки информации)

7. Функции компьютера. Их краткая характеристика.

обработка данных хранение данных перемещение данных управление

8. Структура компьютера. Основные компоненты компьютера и их характеристика. Состав центрального процессора.

Центральный процессор (ЦП) управляет функционированием всей системы и выполняет функции обработки информации. (Очень часто в наименовании этого компонента Оперативная память хранит исходные данные и всю информацию, необходимую для их обработки.

Устройства ввода-вывода перемещают данные между компьютером и окружающей средой в обе стороны.

Системные внутренние связи представляют собой некоторый механизм, обеспечивающий обмен информацией между остальными компонентами — ЦП, оперативной памятью и устройствами ввода-вывода.

В состав ЦП входят:

устройство управления, на которое возлагаются функции управления прочими компонентами ЦП и, следовательно, всем компьютером;

арифметическое и, логическое устройство (АЛУ), которое выполняет все операции, связанные с содержательной обработкой информации;

регистры, которые хранят оперативную информацию во время выполнения процессором текущей операции;

внутренние связи ЦП — некоторый механизм, обеспечивающий совместную работу трех прочих компонентов ЦП.

9. Краткая история вычислительной техники. Поколения ЭВМ. Основные характеристики ЭВМ каждого поколения.

Абак, V век до н.э. Логарифмическая линейка , XVI век Механический арифмометр, 1879 г.

Электронный компьютер ENIAC, 1946 г

Поколения ЭВМ

Первое поколение, на лампах, 1946 – 1955 гг Второе поколение, на транзисторах, 1955-1965 гг

Третье поколение, интегральные микросхемы, 1965 – нач. 70-х Четвертое поколение, микропроцессоры, ПК, 70-е – наши дни

10. Внешние устройства современного компьютера. Типы мониторов и принтеров. Их краткая характеристика.

Устройства ввода информации клавиатура, мышь, сканер, средства речевого ввода Устройства вывода информации мониторы, принтеры, плоттеры, многофункциональные устройства (мфу), синтезаторы звука

Типы монитора:

CGA Разрешение 320x200 Число цветов 16 EGA Разрешение 640x350 Число цветов 64 VGA Разрешение 640x480 Число цветов 256

SuperVGA Разрешение 1024x768 Число цветов до 16 млн.

Типы принтеров:

Матричный Способ печати Печатающей головкой с 9-ю (18-ю или 24-мя) иглами через красящую ленту Скорость печати(символов/сек) 200-400

Струйный Способ печати Картриджем с чернилами путем выстреливания чернил через маленькие сопла Скорость печати(символов/сек) 200-500 Лазерный Способ печати Принцип подобен ксерографии: намагничивание участков бара-бана лазерным лучем, прилипание к

ним тонера — красящего порошка и перенос на бумагу Скорость печати(символов/сек) 1000-5000

11. Программное обеспечение современного компьютера. Понятие об операционной системе. Трансляторы. Прикладные программы.

Программное обеспечение – такая же важная составная часть компьютера, как и его аппаратура. Поэтому говорят: современный компьютер – неразрывное единство аппаратного и программного обеспечения.

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

Трансляторы. Как известно, компьютер понимает только машинный язык, а мы пишем программу на языке высокого уровня, приближенном к естественному, человеческому языку. Для перевода с языка программирования на машинный язык служат

программы – трансляторы.

Прикладные программы. В состав ПО входят также прикладные программы, ориентированные на выполнение конкретных действий на компьютере. В их числе – редакторы (текстовые, графические, музыкальные), обучающие программы и др.

12. Файловая система современного компьютера. Понятие файла, каталога. Типы файлов.

Файловая система - это часть операционной системы, назначение которой состоит в том, чтобы обеспечить пользователю удобный интерфейс при работе с данными, хранящимися на диске, и обеспечить совместное использование файлов несколькими пользователями и процессами.

Файл— концепция в вычислительной технике: сущность, позволяющая получить доступ к какому-либо ресурсу вычислительной системы и обладающая рядом признаков:

Каждый файл имеет название – имя файла (file name).

Имя файла состоит из двух частей, которые разделены точкой:

основное имя, которое может содержать от одного до восьми символов;

расширение имени ( file name extension), которое может содержать до трех символов.

Каталог - это файл, содержащий системную информацию о группе файлов, его составляющих. В каталоге содержится список файлов, входящих в него, и устанавливается соответствие между файлами и их характеристиками (атрибутами).

13. Операционная система MS DOS. Основные внутренние команды этой системы.

Одной из самых распространенных операционных систем до середины 90-х годов была дисковая операционная система фирмы

Microsoft MS DOS (Microsoft Disk Operating System). В современных ОС Windows для работы с командами DOS используется командная строка, которую можно вызвать: Пуск/выполнить, в окне диалога ввести cmd и нажать ОК. Другой способ вызова командной строки – Пуск/Программы/Стандартные/Командная строка.

1. Команда просмотра оглавления диска

 

DIR диск

(DIRectory —

Существует возможность с помощью этой команды:

- сделать постраничную выдачу оглавления (если весь каталог не умещается на экран и тогда всякий раз для продолжения просмотра

следует дополнительно нажимать любую клавишу):

DIR C:/P

 

- сделать краткий просмотр оглавления (не столбцом, а вытянуть список файлов по строкам):

DIR С:/W

- сделать просмотр списка группы файлов по заданному шаблону (маске): DIR P*.* — выдает список файлов, наименование которых

начинается с буквы P (в текущем

DIR A: *.EXE — выдает список файлов с расширением EXE

2. Переназначение текущего устройства

С> А: После выполнения такой команды рабочим станет дисковод А:

3. Вызов программы на выполнение

A> имя файла где в качестве имени файла может быть только файл с расширением EXE, COM или BAT. Причем, можно указывать и другое устройство: A> C:NC — запуск NC из корневого каталога диска C:

4. Копирование файлов COPY имя исходного файла имя конечного файла где имя исходного файла и имя конечного файла могут включать и указание устройств (A:,C: и др.).

Копирование можно выполнять и для объединения группы файлов в один файл. Например, фрагменты текста объединить в один файл: COPY имя 1+имя 2+...+имя K имя

Здесь файлы имя 1, имя 2, ..., имя K объединяются в один файл имя.

Команда COPY позволяет и создать новый (текстовый) файл непосредственно с клавиатуры: COPY con имя файла затем набираем текст строку за строкой. В конце каждой строки нужно нажимать ENTER, а после ввода последней нажать F6 и ENTER.

5. Удаление файла

 

DEL имя файла

(DELete —

где имя файла может включать и указание устройства и каталога. При удалении можно задавать шаблон (маску).

6.

Переход в другой каталог

 

CD имя каталога

(Change Directory —

 

7.

Переименование файла REN имя исходное имя конечное

(REName —

8.

Создание нового каталога

 

MD имя каталога Make Directory — Заметим, что, так как новый каталог всегда создается в текущем каталоге, то предварительно, если нужно, следует выйти в нужный каталог (или корневой каталог).

9. Выход в корневой каталог делается командой

CD \ Напомним, что если из одного каталога нужно перейти в другой, то предварительно надо выйти в корневой каталог, а затем войти в нужный.

10.

Уничтожение каталога

RD имя каталога

(Remove Directory —

Здесь также следует помнить, что удаляется указанный подкаталог в текущем каталоге. Внимание: в системе MS DOS удалить каталог

можно лишь, если в нем нет никаких других файлов. Иначе предварительно следует удалить эти файлы, а уж затем и каталог.

11.

Вывод файла на экран

TYPE имя файла

 

12. Вывод файла на печать

COPY имя файла PRN

 

13.

Очистка экрана дисплея

CLS

(CLear Screen — чистый экран )

14. Оболочка Far Manager. Назначение, вид окна. Файловые операции в Far Manager.

Для запуска FAR из-под Windows, как правило, следует дать команду Пуск/Программы/Far Manager/Far manager.

Основные элементы : строка меню, строка состояния, командная строка, строка назначений функциональных клавишей

Файловые операции в FAR

операция просмотра файла - клавиша F3

операция редактирования файла - F4.

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

для копирования – нажать F5 для переноса – F6

для удаления – F8

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

Этапы решения задачи на компьютере

Постановка задачи

Построение математической модели

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

Реализация программы на компьютере

Анализ результатов

Алгоритм – это однозначное, точное и полное описание последовательности элементарных действий для решения данной задачи.

Свойства алгоритма

Дискретность

Понятность

Определенность

Массовость

Результативность

Способы записи алгоритма

на естественном языке (русском, английском и т.д.) ,

на алгоритмическом языке (или языке программирования: Бейсик, Паскаль и т.д.),

на языке блок–схем.

16.Язык блок-схем. Основные типы блоков. Понятие структуры. Виды структур.

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

Основные типы блоков:

начало и конец, изображаются овалом

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

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

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

Следование

--

17.Основные типы алгоритмов и способы их записи на языке блок-схем.

Линейный (Не содержит логических условий, имеет одну ветвь обработки, и изображается линейной последовательностью блоков)

Разветвленный (Содержит одно или несколько логических условий, и имеет несколько ветвей обработки, строится на основе структуры развилка)

Циклический (Содержит один или несколько циклов, строится на основе структуры цикл, все ветви должны в конце концов сойтись)

18.Архитектура ЭВМ. Особенности фон Неймановской архитектуры.

Архитектура ЭВМ - концептуальная структура вычислительной машины[1], определяющая проведение обработки информации и включающая методы преобразования информации в данные и принципы взаимодействия технических средств и программного обеспечения.

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

Принципы фон Неймана

Принцип двоичного кодирования. Согласно этому принципу, вся информация, поступающая в ЭВМ, кодируется с помощью двоичных сигналов (двоичных цифр, битов) и разделяется на единицы, называемые словами.Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти. Поэтому ЭВМ не различает, что хранится в данной ячейке памяти - число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.

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

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

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

19. Оперативная память компьютера. Понятие бита, байта, слова, двойного слова. Понятие адреса байта и слова.

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

Байт (byte) из 8 бит (bit – Binary digit)

Каждый бит – это 0 или 1

Содержимое байта записывают в 16-ричной системе – с буквой h, если содержимым байта является 00010011, то будем записывать его как 13h (десятичное 19).

Байты нумеруются с нуля, вся память (8086) 1Мб (220), поэтому 20-разрядные адреса от 00000h до FFFFFh Слово (word) – два байта, адрес слова – адрес 1-го его байта

Двойное слово (double word) – четыре байта

Байт – это наименьшая адресуемая ячейка памяти. Но в ПК имеются и более крупные адресуемые ячейки – слова и двойные слова. Слово (word) – это два соседних байта. Размер слова – 16 разрядов. Они нумеруются, если рассматривать слово как единое целое, справа налево от 0 до 15. Адресом слова считается по определению адрес первого его байта (с меньшим адресом).

Двойное слово (double word) – это четыре соседних байта или, что то же самое, два соседних слова. Размер двойного слова – 32 разряда, они нумеруются справа налево от 0 до 31. Адрес двойного слова – адрес первого из его байтов (с наименьшим адресом).

20. Регистры центрального процессора. Краткая характеристика регистров общего назначения.

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

Все регистры имеют размер двойного слова (32 разряда), за каждым из них закреплено определенное имя (EAX, ESP и др.).

Регистры общего назначения eax/ax/ah/al, ebx/bx/bh/bl, ecx/cx/ch/cl, edx/dx/dh/dl, esi/si, edi/di, ebp/bp, esp/sp;

Особенностью всех этих регистров является то, что их можно использовать в любых арифметических, логических и т.п. машинных операциях.

21. Регистры центрального процессора. Сегментные регистры и указатель команд. Регистр флагов.

Сегментные регситры (CS, DS, SS, ES, GS, FS) Эти регистры используются для сегментирования адресов, которое является разновидностью модификации адресов.

указатель команд (eip); имеет разрядность 32/16 и содержит смещение следующей команды относительно содержимого сегментного регистра CS.

регистр флагов (eflags).

Флаги условий авт.меняются при выполнении команд и фиксируют те или иные свойства результата

CF (carry flag) – флаг переноса.

OF (overlow flag) – флаг переполнения.

ZF (zero flag) – флаг нуля. Устанавливается в 1, если результат команды оказался нулевым.

SF (sign flag) – флаг знака.

PF (parity flag) – флаг четности..

AF (auxiliary carry flag) – флаг дополнительного переноса.

Флаги состояний - сами по себе они не меняются, и менять их должна программа; состояние этих флагов оказывает влияние на дальнейшее поведение процессора.

DF (direction flag) – флаг направления. IF (interrupt flag) – флаг прерываний.

TF (trap flag) – флаг трассировки.

22. Представление данных на компьютере. Представление целых чисел без знака и со знаком.

Данные в компьютере представляются в виде кода, который состоит из единиц и нулей в разной последовательности.

Целые без знака в виде:

Целые со знаком в виде:

байта: от 0 до 255 (28

байта: от -128 до +127

слова: от 0 до 65535 (=216 – 1 ),

слова: от -32767 до +32767

двойного слова:от 0 до 4294967295 (=232

двойного слова: от –2147483648 до + 2147483647

23. Представление данных на компьютере. Представление символьных данных и представление команд.

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

Машинные команды ПК занимают от 1 до 6 байт. Код операции (КОП) занимает один или два первых байта команды. В ПК столь много различных операций, что для них не хватает 256 различных кодов, которые можно представить в одном байте. Поэтому некоторые операции объединяются в группу и им дается один и тот же КОП, во втором же байте этот код уточняется. Кроме того, во втором байте указываются типы операндов и способы их адресации. В остальных байтах команды указываются ее операнды.

24. Понятие о языке Ассемблера. Этапы разработки программы на ассемблере.

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

Этапы:

Составить алгоритм и реализовать его в виде команд макроассемблера, набрав текст программы в редакторе. Мы будем использовать редактор, встроенный в FAR. Даем команду Shift-F4 и в возникшем окне набираем текст. Сохраняем его в файле с расширением ASM.

Оттранслировать программу с помощью Ассемблера. Мы будем использовать макроассемблер MASM 6.12. В результате будет создан объектный файл. Если на этом этапе будут обнаружены ошибки, то их следует исправить с помощью редактора.

Преобразовать объектный файл в исполняемый файл типа COM или EXE.

Выполнить исполняемый файл, запустив его обычным образом.

25.Windows API функция для вывода символов на экран. Ее основные параметры и их

назначение.

WriteConsoleA, выводящая символы на экран, которая содержит 5 параметров:

stdout – это дескриптор устройства вывода (монитора), полученный процедурой GetStdHandle ADDR buf – адрес начала сообщения (в нашем случае строки,состоящей из цифр)

BSIZE – размер сообщения, т.е. число байтов в нем (указали 30, т.к. в 30 символов уместиться все наше сообщение) ADDR cWritten – адрес участка памяти, где процедура

WriteConsoleA сохранит число выведенных на экран символов NULL – всегда равен нулю.

26. Windows API функция для ввода символов с консоли. Ее основные параметры и их назначение

Для организации ввода данных с консоли (с клавиатуры) служит процедура ReadConsole,

одновременно похожая на WriteConsoleA и противоположная ей. Обратите внимание, что здесь имеем дело с дескрипторами двух устройств – экрана (stdout) и клавиатуры (stdin).

27. Особенности сложения и вычитания целых (в том числе и знаковых) чисел на Ассемблере.

Беззнаковые числа складываются как обычно, только в двоичной системе счисления. Однако здесь есть одна проблема: что делать, если сумма получится очень большой – такой, что она не умещается в ячейке? Например, если при ячейке размеров в 8 битов мы складываем 250 и 10, то получим число 260 (100000100b), которое не «влезает» в ячейку.

В этом случае в ПК левая единица (единица переноса) отбрасывается и в качестве ответа выдается искаженное число (в нашем случае ответом будет байт 00000100b, т.е. число 4). Но зато в флаг переноса CF записывают 1. Это сигнал о том, что получилась неправильная сумма (если переноса не было, то в CF записывают 0). Затем можно проанализировать этот флаг (подходящие средства для этого есть) и «поймать» такую ошибку.

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

Пример (для ячейки в 8 битов).

+3 складываем с –1. Их дополнительные коды это 3 и (256 –1)=255. Складываем как числа без знака: 3+255 (mod 256) = 258 (mod 256) =2. Рассматриваем 2 как дополнительный код ответа, поэтому получаем ответ +2.

28. Команды сложения и вычитания на Ассемблере.

Сложение:

ADD op1, op2

Вычитание (subtract):

SUB op1,op2

29. Команды умножения и деления на Ассемблере.

Умножение целых без знака (multiply): MUL op

Умножение целых со знаком (integer multiply):IMUL op

Деление целых без знака (divide):

DIV op

Деление целых со знаком (integer divide):

IDIV op

30. Директивы определения данных.

Обычно в программе используются переменные и константы. Нужно указать их имена и значения. Это делается с помощью директив. Общий вид директивы: [имя] название директивы [операнды] имя – это и есть название константы или переменной, название директивы – служебное слово, операнды – значения для переменных или констант.

31. Безусловный переход, команда сравнения и условного перехода на Ассемблере.

Команда сравнения имеет вид: (compare): CMP op1, op2 Команда условного перехода имеет вид: Jxx метка.

На месте символов хх ставится нужная буква, которая показывает исход сравнения, при котором нужно делать переход. Это такие буквы:

E – equal

N – not

G – greater (больше) – для чисел со знаком L – less (меньше) – для чисел со знаком

A – above (выше, больше) – для чисел без знака B – below (ниже, меньше) – для чисел без знака

Безусловный переход (jump): JMP op

32. Команда управления циклом на Ассемблере.

Цикл можно реализовать с помощью команды условного перехода. Но имеются и специальные команды. Управление циклом по счетчику: LOOP метка

33. Модификация адресов на ассемблере. Индексирование в одномерном массиве.

Ранее указывали точные адреса для операндов из памяти:MOV CX,A Но можно вместе с адресом указать регистр: MOV CX, A[BX]

Тогда команда будет работать не с указанным в ней адресом A, а с так называемым исполнительным адресом

34. Модификация по нескольким регистрам на ассемблере. Обработка двумерных массивов.

В ПК разрешено указывать сразу два модификатора, причем один из них обязательно должен быть BX или BP, а другой – регистром SI или DI (модифицировать по парам BX и BP или SI и DI нельзя). A[BX][SI]

35. Процедуры на Ассемблере. Правила оформления процедуры и обращения к ней.

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

Размещают процедуры, как правило, в конце сегмента команд (за последней командой основной программы).

Причем оформляют ее специальным образом:

<имя процедуры> PROC <параметры> <тело процедуры>

<имя процедуры> ENDP

Обращаться к процедуре следует по команде

CALL <имя процедуры>

Завершаться процедура должна командой возврата

RET

36. Процедуры на Ассемблере. Передача параметров в процедуру. Рекурсивные процедуры.

Самый простой способ передачи параметров в процедуру и получение результатов ее работы – через регистры.

Но как быть, когда требуется передавать много параметров? На них просто может не хватить регистров. В этом случае рекомендуется передавать параметры через стек.

Перед обращением к процедуре основная программа записывает параметры в стек, а процедура их затем извлекает. Как? Как добраться к элементам стека без считывания их из стека? Для этого используют регистр BP – засылают в него адрес вершины стека (содержимое регистра SP), а затем используют выражение [BP+i] для доступа к параметрам процедуры. При этом, однако, если регистр BP используется в процедуре, то его предварительно надо спасти

P

PROC

 

 

PUSH BP

;спасти BP

 

MOV BP,SP

;BP – на вершину стека

 

 

команды процедуры

Очевидно, что перед выходом из процедуры нужно восстановить старое значение BP и очистить стек от параметров : POP BP ; восстановить старое значение BP

RET 2*k ; очистить стек от параметров (их k

Процедура называется рекурсивной, если она обращается сама к себе либо непосредственно (прямая рекурсия), либо через другие процедуры (косвенная рекурсия).

37. Работа с файлами на Ассемблере. Открытие и закрытие файлов. Windows API процедуры открытия и закрытия файлов, их параметры.

На языке Ассемблера существуют возможности работы с файлами, размещенными на диске. Причем, возможности эти представлены в полном объеме:

-

-можно открыть файл для записи и соответственно дописывать в него

-можно открыть файл одновременно для записи и чтения.

-по окончании работы с файлом в программе – файл нужно закрыть!

Открытие

Итак, чтобы прочитать содержимое файла, необходимо вначале открыть его. Это делается (как и другие операции с файлами) с помощью API-функции CreateFile . При этом:

Первый параметр у функции содержит адрес имени файла, состоящего из символов. Признаком окончания имени служит нулевой байт. Например, ADDR fName (в сегменте данных должно быть, например:

fName BYTE "simple",0 )

Второй параметр показывает процедуре, для чего открывается или создается файл. Параметр GENERICWRITE означает, что разрешена запись в файл, GENERICREAD разрешает только чтение. Можно позволить и чтение и запись: GENERIC_READ or GENERIC_WRITE

Третий параметр показывает, может ли файл использоваться другими программами (не забывайте, что Windows — многозадачная операционная система!). Нас пока многозадачность не интересует, поэтому выбираем параметр, равный нулю, что открывает доступ к файлу только нашей программе.

Четвертый параметр тоже имеет отношение к многозадачности. Он содержит адрес области данных, в которой указано, может ли файл использоваться программами, порожденными данной. Любая программа в системе Windows может запускать другие программы или, как говорят, процессы. Мы пока не доросли до запуска «дочерних» программ, поэтому полагаем этот параметр равным нулевому адресу NULL, что разрешает использовать файл только основной программе.

Пятый параметр показывает, что делать, если файл уже существует. Значение CREATE_ALWAYS приказывает уничтожить уже су-ществующий файл и создать на его месте пустой файл с тем же именем. В нашем случае это значит, что если в папке, где запущена программа, нет файла simple, то он будет создан. Если же такой файл уже есть, он будет уничтожен, и на его месте появится файл с тем же именем simple, но совершенно пустой.

Другие значения этого параметра:

CREATENEW (не трогает уже существующий файл),

OPENEXISTING (открывает только уже существующий файл, сохраняя его содержимое),

OPEN_ALWAYS (если файл существует, открывает его, не трогая содержимое, если не существует, создаем новый файл с указанным именем).

Шестой параметр задает атрибут файла: архивный, скрытый, только для чтения, системный и т. д. Например, если параметр равен FILEATTRIBUTEARCHIVE —

Седьмой параметр будем считать всегда равен нулю.

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

Это дескриптор файла, используемый аналогично дескриптору экрана или клавиатуры mov fHandle, eax Завершает работу с файлом API-функция CloseHandle, у которой всего один параметр — дескриптор файла. Эта процедура

отсоединяет файл от дескриптора, и после ее выполнения файл снова должен быть открыт, чтобы стали возможными чтение или запись.

38. Чтение из файла и запись в файл. Windows API процедуры записи и чтения файлов, их параметры.

Для чтения из файла нужно сначала получить дескриптор файла (для этого подойдет процедура CreateFile), затем использовать процедуру чтения, которая должна быть похожей на процедуру записи.

Для записи в файл используется функция WriteFile,

Она имеет те же параметры, что и процедура WriteConsole: дескриптор файла fHandle, адрес области памяти, хранящей символы, — ADDR digs, количество символов BSIZE, адрес памяти, где хранится число действительно записанных в файл символов ADDR cWritten, и, наконец, никому не нужный нулевой указатель NULL.

39.Работа с вещественными числами на Ассемблере. Математический сопроцессор и его регистры. Форматы записи вещественных чисел.

40.Работа с вещественными числами на Ассемблере. Команды передачи данных и арифметические команды математического сопроцессора.

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