Аннотация
Лабораторный практикум содержит методические указания и теоретические сведения по практическому изучению форматов компьютерного представления данных и введению в программную модель PC-совместимого компьютера. В практикум включены семь лабораторных работ, выполнение которых позволит понять основы Intel-архитектуры и научиться использовать полученные навыки при работе с компьютером. Выполнение индивидуальных заданий предусмотрено в большинстве работ, что обеспечивает хорошее восприятие нового материала студентами. Примеры в лабораторном практикуме разработаны с таким условием, чтобы программы можно было создавать с помощью инструментального средства Borland C++ 4.0, а запускать - в консольном режиме операционных систем Windows 9х и 2000/NT/XP.
Лабораторный практикум рассчитан на студентов, знающих основы программирования на языке высокого уровня Си и желающих углубить свои знания.
Содержание
Лабораторная работа №1. Системы счисления. 3
Лабораторная работа №2. Побитовые операции. 17
|
|
Лабораторная работа №3. Синтез комбинационных схем.. 28
Лабораторная работа №4. Символьные данные. 39
Лабораторная работа №5. Отрицательные числа и числа BCD.. 48
Лабораторная работа №6. Основы языка Ассемблер. 56
Лабораторная работа №7. Команды переходов и логических операций. 68
Литература. 83
Лабораторная работа № 1
Системы счисления
Цель работы: Изучение двоичной и шестнадцатеричной систем счисления; освоение приемов перевода целых и дробных чисел из десятичной системы счисления в двоичную, шестнадцатеричную и обратно.
Продолжительность работы: 8 ч.
Теоретические сведения
Системы счисления
Обычное десятичное число состоит из цепочки десятичных цифр и десятичной точки, если число дробное [1]. Цифры занимают определенные позиции в числе, их еще называют разрядами. Общая форма записи десятичного числа приведена на Рис. 1.
Рис. 1. Форма записи десятичного числа
Система счисления, при которой имеет значение местоположение цифр в записи числа, называется позиционной системой счисления. Десятичная система счисления является позиционной. В любой позиционной системе счисления имеется основание (для десятичной системы счисления - 10). Любое число записывается в виде последовательности, состоящей из цифр, каждая из которых меньше основания. Количество цифр основания равно самому основанию. Основание показывает, во сколько раз вес каждой цифры меньше веса цифры, стоящей в старшем соседнем разряде.
Для -ичной системы счисления:
Число = , (1)
где - основание системы счисления, – j -ый разряд числа в -ичной системе.
|
|
Десятичные числа строятся из десяти цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Двоичным числам необходимо две цифры: 0 и 1. Для шестнадцатеричных чисел требуется 16 цифр. Для обозначения цифр, следующих за 9, принято использовать латинские буквы от A до F (см. табл. 1).
Таблица 1. Цифры шестнадцатеричной системы.
Цифра | Значение | Цифра | Значение | Цифра | Значение | Цифра | Значение |
C | |||||||
D | |||||||
A | E | ||||||
B | F |
На рисунке 2 десятичное число 197 представлено согласно формуле (1) в двоичной, десятичной и шестнадцатеричной системах счисления.
Рис. 2. Число 197 в двоичной, десятичной и шестнадцатеричной системах
Чтобы избежать двусмысленности трактования числа, в литературе используется индекс для прямого указания основания системы счисления. Например, число C5 кроме как шестнадцатеричным быть не может, потому что в нем встречается цифра С, но оно может быть именем переменной. Индекс 16 избавляет от этой двусмысленности: C516. А число 101 может быть и двоичным, и десятичным, и шестнадцатеричным (1012, 10110, 10116), так как цифры 0 и 1 есть во всех этих системах счисления.
Если индекс не указывать, то считается, что число записано в десятичной системе.
Для компьютеров метод индексирования чисел для указания системы счисления неприемлем, поэтому используется правило записи чисел: для чисел, вводимых пользователем, присваиваемых в текстах программ и выводимых программой, система счисления по умолчанию десятичная, кроме специализированных программ (например, debug.exe и td.exe). В языках программирования для обозначения чисел в других систем счисления существуют свои обозначения (см. Табл.1.2.). Для вывода чисел в недесятичных системах счисления существуют специализированные строки форматирования и процедуры преобразования.
Таблица 1.2. Обозначение систем счисления в языках программирования.
Язык программи- рования Система счисления | Паскаль | Си | Ассемблер |
Двоичная | нет | нет | 11000101b |
Шестнадцатеричная | $C5 | 0xC5 | 0C5h |