- •Системы счисления, используемые на компьютере. Десятичная система, двоичная и 16-ричная системы счисления. Правила перевода.
- •Арифметические операции в двоичной системе счисления. Понятие прямого, обратного и дополнительного кода. Сложение и вычитание целых чисел в двоичной системе счисления.
- •Арифметические операции в двоичной системе счисления. Представление вещественных чисел в компьютере. Сложение и вычитание вещественных чисел в двоичной системе счисления.
- •Основные логические операции: and, or, not, xor. Таблицы истинности для этих операций. Основные тождества булевой алгебры.
- •Понятие об информации и науке информатике. Исторические этапы способов обработки, хранения и передачи информации.
- •Функции компьютера. Их краткая характеристика.
- •Структура компьютера. Основные компоненты компьютера и их характеристика. Состав центрального процессора.
- •Язык блок-схем. Основные типы блоков. Понятие структуры. Виды структур.
- •17. Основные типы алгоритмов и способы их записи на языке блок-схем.
- •18. Архитектура эвм. Особенности фон Неймановской архитектуры.
- •Оперативная память компьютера. Понятие бита, байта, слова, двойного слова. Понятие адреса байта и слова.
- •Регистры центрального процессора. Краткая характеристика регистров общего назначения.
- •Регистры центрального процессора. Сегментные регистры и указатель команд. Регистр флагов.
- •Представление данных на компьютере. Представление целых чисел без знака и со знаком.
- •23 Представление данных на компьютере. Представление символьных данных и представление команд.
- •Понятие о языке Ассемблера. Этапы разработки программы на ассемблере.
- •Windows api функция для вывода символов на экран. Ее основные параметры и их назначение.
- •Windows api функция для ввода символов с консоли. Ее основные параметры и их назначение.
- •Особенности сложения и вычитания целых (в том числе и знаковых) чисел на Ассемблере.
- •29. Команды умножения и деления на Ассемблере.
- •30. Директивы определения данных.
- •33. Модификация адресов на ассемблере. Индексирование в одномерном массиве.
- •34. Модификация по нескольким регистрам на ассемблере. Обработка двумерных массивов.
- •Процедуры на Ассемблере. Правила оформления процедуры и обращения к ней.
- •36. Процедуры на Ассемблере. Передача параметров в процедуру. Рекурсивные процедуры.
- •Работа с файлами на Ассемблере. Открытие и закрытие файлов. Windows api процедуры открытия и закрытия файлов, их параметры.
- •38. Чтение из файла и запись в файл. Windows api процедуры записи и чтения файлов, их параметры.
- •39. Работа с вещественными числами на Ассемблере. Математический сопроцессор и его регистры. Форматы записи вещественных чисел.
- •40. Работа с вещественными числами на Ассемблере. Команды передачи данных и арифметические команды математического сопроцессора.
38. Чтение из файла и запись в файл. Windows api процедуры записи и чтения файлов, их параметры.
Чтение и запись файла.
На языке Ассемблера существуют возможности работы с файлами, размещенными на диске. Причем, возможности эти представлены в полном объеме:
- можно открыть файл и читать из него информацию (причем, неважно, какой тип файла открывается – текстовый, исполняемый и т.п.)
- можно открыть файл для записи и соответственно дописывать в него
- можно открыть файл одновременно для записи и чтения.
- по окончании работы с файлом в программе – файл нужно закрыть!
ЧТЕНИЕ ФАЙЛА
Для чтения из файла нужно сначала получить дескриптор файла (для этого подойдет процедура CreateFile),
Затем использовать процедуру чтения, которая должна быть похожей на процедуру записи.
После открытия файла и запоминания его дескриптора за дело принимается процедура чтения файла ReadFile, устроенная так же, как и WriteFile. Ее параметры: дескриптор файла fHandle, адрес буфера, где окажутся прочитанные символы, число символов BSIZE, адрес переменной, хранящей число на самом деле прочитанных сим-волов: ADDR cRead и, наконец, завершающий NULL, нам уже знакомы.
Заметим, что количество на самом деле прочитанных символов не всегда равно указанному. Больше символов, чем есть в файле, прочитать нельзя. Сравнивая число прочитанных и число указанных символов, можно понять, что достигнут конец файла
ЗАПИСЬ В ФАЙЛ
Для записи в файл используется функция WriteFile,
Она имеет те же параметры, что и процедура WriteConsole:
1)дескриптор файла fHandle,
2)адрес области памяти, хранящей символы, — ADDR digs,
3)количество символов BSIZE,
4)адрес памяти, где хранится число действительно записанных в файл символов ADDR cWritten,
5)нулевой указатель NULL.
Файл читается последовательно.
39. Работа с вещественными числами на Ассемблере. Математический сопроцессор и его регистры. Форматы записи вещественных чисел.
Математический сопроцессор — сопроцессор для расширения командного множества центрального процессора и обеспечивающий его функциональностью модуля операций с плавающей запятой, для процессоров, не имеющих интегрированного модуля.
Регистры
В FPU можно выделить три группы регистров:
Стек процессора: регистры R0..R7. Размерность каждого регистра: 80 бит.
Служебные регистры
Регистр состояния процессора SWR (Status Word Register) — информация о текущем состоянии сопроцессора. Размерность: 16 бит.
Управляющий регистр сопроцессора CWR (Control Word Register) — управление режимами работы сопроцессора. Размерность: 16 бит.
Регистр слова тегов TWR (Tags Word Register) — контроль за регистрами R0..R7 (например, для определение возможности записи) Размерность: 16 бит.
Регистры указателей
Указатель данных DPR (Data Point Register). Размерность: 48 бит.
Указатель команд IPR (Instruction Point Register). Размерность: 48 бит.