- •Системы счисления, используемые на компьютере. Десятичная система, двоичная и 16-ричная системы счисления. Правила перевода.
- •Арифметические операции в двоичной системе счисления. Понятие прямого, обратного и дополнительного кода. Сложение и вычитание целых чисел в двоичной системе счисления.
- •Арифметические операции в двоичной системе счисления. Представление вещественных чисел в компьютере. Сложение и вычитание вещественных чисел в двоичной системе счисления.
- •Основные логические операции: and, or, not, xor. Таблицы истинности для этих операций. Основные тождества булевой алгебры.
- •Понятие об информации и науке информатике. Исторические этапы способов обработки, хранения и передачи информации.
- •Функции компьютера. Их краткая характеристика.
- •Структура компьютера. Основные компоненты компьютера и их характеристика. Состав центрального процессора.
- •Язык блок-схем. Основные типы блоков. Понятие структуры. Виды структур.
- •17. Основные типы алгоритмов и способы их записи на языке блок-схем.
- •18. Архитектура эвм. Особенности фон Неймановской архитектуры.
- •Оперативная память компьютера. Понятие бита, байта, слова, двойного слова. Понятие адреса байта и слова.
- •Регистры центрального процессора. Краткая характеристика регистров общего назначения.
- •Регистры центрального процессора. Сегментные регистры и указатель команд. Регистр флагов.
- •Представление данных на компьютере. Представление целых чисел без знака и со знаком.
- •23 Представление данных на компьютере. Представление символьных данных и представление команд.
- •Понятие о языке Ассемблера. Этапы разработки программы на ассемблере.
- •Windows api функция для вывода символов на экран. Ее основные параметры и их назначение.
- •Windows api функция для ввода символов с консоли. Ее основные параметры и их назначение.
- •Особенности сложения и вычитания целых (в том числе и знаковых) чисел на Ассемблере.
- •29. Команды умножения и деления на Ассемблере.
- •30. Директивы определения данных.
- •33. Модификация адресов на ассемблере. Индексирование в одномерном массиве.
- •34. Модификация по нескольким регистрам на ассемблере. Обработка двумерных массивов.
- •Процедуры на Ассемблере. Правила оформления процедуры и обращения к ней.
- •36. Процедуры на Ассемблере. Передача параметров в процедуру. Рекурсивные процедуры.
- •Работа с файлами на Ассемблере. Открытие и закрытие файлов. Windows api процедуры открытия и закрытия файлов, их параметры.
- •38. Чтение из файла и запись в файл. Windows api процедуры записи и чтения файлов, их параметры.
- •39. Работа с вещественными числами на Ассемблере. Математический сопроцессор и его регистры. Форматы записи вещественных чисел.
- •40. Работа с вещественными числами на Ассемблере. Команды передачи данных и арифметические команды математического сопроцессора.
Понятие о языке Ассемблера. Этапы разработки программы на ассемблере.
Язык ассемблера представляет собой символьную форму записи машинных команд. В нем вместо цифровых кодов операций выписываются их словесное обозначение, вместо адресов пишутся имена(метки). Константы записываются в десятичной форме.
Разработка программы на Ассемблере состоит из следующих этапов:
1)Составление алгоритма в виде блок-схемы или структурного описания,
2)Реализация алгоритма в виде команд макроассемблера, набрав текст программы в редакторе,встроенном в FAR. Даем команду SHIFT+F4, в возникшем окне создаем файл с расширением ASM, набираем текст
3)Переводим(транслируем,ассемблируем) программу с помощью ассемблера. Мы используем макроассемблер MASM 6.12. В результате будет создан объектный файл. Если на этом этапе будут обнаружены ошибки, то их следует исправить с помощью редактора
4)Преобразование объектного файла в исполняемый файл типа COM или EXE
5)Выполнить исполняемый файл, запустив его обычным оборазом
Windows api функция для вывода символов на экран. Ее основные параметры и их назначение.
Попробуем организовать вывод результата работы на экран, иначе говоря, сделать так, чтобы числа-результаты вывелись после простого запуска файла name.EXE
При этом будут использоваться несколько процедур, прототипы которых находятся в файлах с расширением .INC. Сами процедуры — Функции Windows API(Application Programming Interface – интерфейс прикладных программ) находятся в библиотеках с расширением .LIB.
Потребуется процедура GetStdHandle, которая получает дескриптор (описание) стандартного устройства, в нашем случае устройства вывода.
Также нужна процедура WriteConcoleA, выводящая символы на экран. Эта процедура содержит 5 параметров:
1) stdout — дескриптор устройства ввода-вывода (монитора), полученный процедурой GetStdHandle;
2) ADDR buf — адрес начала сообщения;
3) BSIZE – размер сообщения,т.е. Число байтов в нем;
4) ADDR cWritten – адрес участка памяти, где хранится процедура WriteConcoleA сохранит число выведенных на экран символов;
5) NULL всегда равен нулю;
Но самое главное, числа нужна преобразовать в символы(поскольку программа может выводить только символы). Для такого преобразования в системе Windows есть специальная процедура wsprintf. В отличии от многих других процедур, число параметров wsprintf переменно и зависит от количества преобразуемых чисел. Но первые параметры всегда одни и те же: это адрес буфера, где процедура сохраняет число в виде последовательности символов, адрес форматной строки, указывающий процедуре, какое выполнить преобразование, и, конечно, само преобразумеое число.
Так же используется дополнительный блок данных, который начинается со служебного слова .data . Он содержит список переменных с их описанием или даже с заданием ссамих значений переменных. Для описания переменных размера двойного слова используется служебное слово DWORD. Для переменных размером в байт — BYTE. Если значение переменной пока неопределено, то указывается знак «?»