- •Системы счисления, используемые на компьютере. Десятичная система, двоичная и 16-ричная системы счисления. Правила перевода.
- •Арифметические операции в двоичной системе счисления. Понятие прямого, обратного и дополнительного кода. Сложение и вычитание целых чисел в двоичной системе счисления.
- •Арифметические операции в двоичной системе счисления. Представление вещественных чисел в компьютере. Сложение и вычитание вещественных чисел в двоичной системе счисления.
- •Основные логические операции: and, or, not, xor. Таблицы истинности для этих операций. Основные тождества булевой алгебры.
- •Понятие об информации и науке информатике. Исторические этапы способов обработки, хранения и передачи информации.
- •Функции компьютера. Их краткая характеристика.
- •Структура компьютера. Основные компоненты компьютера и их характеристика. Состав центрального процессора.
- •Язык блок-схем. Основные типы блоков. Понятие структуры. Виды структур.
- •17. Основные типы алгоритмов и способы их записи на языке блок-схем.
- •18. Архитектура эвм. Особенности фон Неймановской архитектуры.
- •Оперативная память компьютера. Понятие бита, байта, слова, двойного слова. Понятие адреса байта и слова.
- •Регистры центрального процессора. Краткая характеристика регистров общего назначения.
- •Регистры центрального процессора. Сегментные регистры и указатель команд. Регистр флагов.
- •Представление данных на компьютере. Представление целых чисел без знака и со знаком.
- •23 Представление данных на компьютере. Представление символьных данных и представление команд.
- •Понятие о языке Ассемблера. Этапы разработки программы на ассемблере.
- •Windows api функция для вывода символов на экран. Ее основные параметры и их назначение.
- •Windows api функция для ввода символов с консоли. Ее основные параметры и их назначение.
- •Особенности сложения и вычитания целых (в том числе и знаковых) чисел на Ассемблере.
- •29. Команды умножения и деления на Ассемблере.
- •30. Директивы определения данных.
- •33. Модификация адресов на ассемблере. Индексирование в одномерном массиве.
- •34. Модификация по нескольким регистрам на ассемблере. Обработка двумерных массивов.
- •Процедуры на Ассемблере. Правила оформления процедуры и обращения к ней.
- •36. Процедуры на Ассемблере. Передача параметров в процедуру. Рекурсивные процедуры.
- •Работа с файлами на Ассемблере. Открытие и закрытие файлов. Windows api процедуры открытия и закрытия файлов, их параметры.
- •38. Чтение из файла и запись в файл. Windows api процедуры записи и чтения файлов, их параметры.
- •39. Работа с вещественными числами на Ассемблере. Математический сопроцессор и его регистры. Форматы записи вещественных чисел.
- •40. Работа с вещественными числами на Ассемблере. Команды передачи данных и арифметические команды математического сопроцессора.
Представление данных на компьютере. Представление целых чисел без знака и со знаком.
Прямой код — способ представления двоичных чисел с фиксированной запятой в компьютерной арифметике. Главным образом используется для записи положительных чисел. При записи числа в прямом коде старший разряд является знаковым разрядом. Если его значение равно 0 — то число положительное, если 1 — то отрицательное. В остальных разрядах (которые называются цифровыми разрядами) записывается двоичное представление модуля числа.
Обратный код — в нем, как и в прямом коде старший разряд отводится для представления знака числа, но остальные разряды интерпритируются в зависимости от того, положительное число или отрицательное. Обратный код положительного числа неизменный. А обратный код отрицательного числа формируется дополнением модуля исходного числа нулями до самого старшего разряда модуля,а затем поразрядной заменой всех нулей числа на единицу и всех единиц на нули. В знаковом разряде обратного кода у положительных чисел будет 0, а у отрицательных — 1.пример : +2810 = 000111002
-2810 = 111000112
Дополнительный код — построен на основе обратного кода, позволяет существенно облегчить арифметические операции над числами разных знаков. Дополнительный код формируется следующим образом: сначала формируется обратный код, а затем к младшему разряду добавляют 1. При выполнении арифметических операций положительные числа представляются в прямом коде, а отрицательные — в дополнительном.
Целые без знака в виде:
байта: от 0 до 255 (28 – 1)
слова: от 0 до 65535 (=216 – 1 ),
двойного слова:от 0 до 4294967295 (=232 – 1 )
Целые со знаком в виде:
байта: от -128 до +127
слова: от -32767 до +32767
двойного слова: от –2147483648 до + 2147483647
В ПК знаковые числа записываются в дополнительном коде: неотрицательное число записывается так же, как и беззнаковое число, а отрицательное число Х представляется беззнаковым числом 2k-│x│, где k- количество разрядов в ячейке, отведенное под число:
╔ х , если х ≥ 0
╣ 2k-│x│, если х < 0
╚
Например, дополнительным кодом числа +98 будет байт 62h или слово 0062h
-98 байт 9Eh(=158=256-98) или слово FF9Eh(=216-98=10000h-62h)
23 Представление данных на компьютере. Представление символьных данных и представление команд.
В ПК символьные данные хранятся также в двоичном коде. Для этого каждому символу ставится в соответствие некоторое неотрицательное число, называемое кодом символа, и это число записывается в память в двоичном виде. Конкретное соответствие между символами и их кодами называется системой кодировки.
Как правило, используется 8-разрядные коды символы. Это позволяет закодировать 256 различных символов, чего вполне достаточно для представления символов, используемых на практике. Поэтому для кода символа достаточно выделить один байт.
В ПК обычно используется кодировка ASCII (American Standart Code for Information Interchange- американский стандартный код для обмена информацией). Конечно, в ней не предусмотрены коды для букв русского алфавита, поэтому в нашей стране используются варианты этой системы кодировки, в которые включают буквы русского алфавита. Чаще всего, пожалуй, используется вариант, известный под названием «Альтернативная кодировка ГОСТ». Отметим основные особенности.
Особенности кодировки ASCII
Код пробела меньше кода любой буквы и цифры и вообще меньше кода любого графически представимого символа.
Коды цифр упорядочены по возрастанию и идут без пропусков.
Поэтому из неравентва код('0') ≤ код(С) ≤ код('9') следует, что С — цифра, и поэтому справделиво равенство
код(i) = код('0')+i, где i — число от 0 до 9.
Коды больших латинских букв упорядочены согласно алфавиту и также идут без пропусков.
То же самое верно и для малых латинских букв
В Альтернативной кодировке ГОСТ коды русских букв (больших и малых) упорядочены согласно алфавиту, но если коды больших букв идут без пропусков, то между кодами малых букв 'п' и 'р' вклиниваются коды иных символов.
Что кастается машинного представления строк, т.е. последовательностей символов, то под каждую строку отводят нужное число соседних байтов памяти, в которые записывают коды символов, образующих строку. Адрес первого из этих байтов считается адресом строки. Отметим, что эта последовательность будет записана в нормальном, неперевернутом виде.