- •1. Лабораторная работа № 1
- •1.1. Общие методические указания по выполнению лабораторной работы
- •1.2. Теоретические сведения
- •1.2.1. Работа с данными на битовом уровне
- •1.2.2. Упакованные данные
- •1.2.3.Разработка менеджера памяти на основе битовой карты
- •1.3.Задание на лабораторную работу
- •1.4. Отчет по лабораторной работе
- •2. Лабораторная работа №2
- •2.1. Общие методические указания по выполнению лабораторной работы
- •2.2. Теоретические сведения
- •2.2.1. Определение данных
- •2.2.2. Команды пересылки
- •2.2.3. Арифметические операции
- •2.3. Примеры программ на ассемблере
- •2.4. Порядок выполнения работы
- •2.5. Задание на лабораторную работу
- •2.6. Отчет по лабораторной работе
1.3.Задание на лабораторную работу
Задание 1. Написать программу, объединяющую в себе следующие процедуры и функции:
– установка бита целого числа в 1;
– установка бита целого числа в 0;
– проверка бита целого числа.
Модифицировать данные процедуры и функции таким образом, чтобы пользователь сам мог вводить целые числа и определять, с какими битами он будет работать (путем ввода соответствующих данных с клавиатуры).
Задание 2. Написать программу позволяющую работать с упакованными данными. Она должна реализовывать следующие функции:
– ввод данных, которые требуется упаковать, пользователем с клавиатуры (сообразно своему варианту из таблицы 1);
– упаковку данных в целое 16-разрядное число (тип данных – word);
– распаковку данных из числа (как всех данных сразу, так и отдельного поля данных по выбору пользователя).
Таблица 1
Варианты задания 2
№ варианта |
Тип данных для упаковки |
Поля данных (слева направо, от старших битов к младшим) |
1 |
Дата (с 1 января 1900 года по 31 декабря 1999 года) |
- год – 7 бит - месяц – 4 бита - день – 5 бит. |
2 |
Дата (с 1 января 1900 года по 31 декабря 1999 года) |
- день – 5 бит - месяц – 4 бита - год – 7 бит |
3 |
Дата (с 1 января 1900 года по 31 декабря 1999 года) |
- месяц – 4 бита - год – 7 бит - день – 5 бит |
Продолжение табл. 1
4 |
Дата (с 1 января 1900 года по 31 декабря 1999 года) |
- день – 5 бит - год – 7 бит - месяц – 4 бита
|
5 |
Дата (с 1 января 1900 года по 31 декабря 1999 года) |
- месяц – 4 бита - день – 5 бит - год – 7 бит
|
6 |
Дата (с 1 января 1900 года по 31 декабря 1999 года) |
- год – 7 бит - день – 5 бит - месяц – 4 бита |
7 |
Данные о человеке |
- психотип – 2 бита (сангвиник, меланхолик, холерик, флегматик) - рост – 7 бит (<=127) - вес – 7 бит (<=127) |
8 |
Данные о человеке |
- вес – 7 бит (<=127). - рост – 7 бит (<=127) - психотип – 2 бита (сангвиник, меланхолик, холерик, флегматик) |
9 |
Данные о человеке |
- вес – 7 бит (<=127). - психотип – 2 бита (сангвиник, меланхолик, холерик, флегматик) - рост – 7 бит (<=127)
|
10 |
Данные о квартире |
- номер квартиры – 9 бит - этаж – 4 бита - подъезд – 3 бита |
Продолжение табл. 1
11 |
Данные о квартире |
- этаж – 4 бита - подъезд – 3 бита - номер квартиры – 9 бит |
12 |
Данные о квартире |
- этаж – 4 бита - номер квартиры – 9 бит - подъезд – 3 бита |
Задание 3.
Написать оконное приложение, моделирующее работу битовой карты, обладающее следующими функциями:
– выводить на экран текущее состояние битовой карты (например, с помощью компонентов StringGrid или Memo) – параметры битовой карты выбираются сообразно своему варианту из таблицы 2;
– реализовывать запросы на выделение и освобождение памяти, согласно функциям, описанным в разделе 1.2.3. теоретических сведений.
Таблица 2
Варианты задания 2
№ варианта |
N, Kбайт |
M, байт |
L, байт |
1 |
1 |
4 |
2 |
2 |
1 |
4 |
4 |
3 |
0,5 |
4 |
1 |
4 |
1 |
8 б |
2 |
5 |
1 |
8 |
4 |
6 |
1 |
8 |
1 |
7 |
2 |
8 |
4 |
8 |
2 |
16 |
4 |
9 |
2 |
16 |
2 |
Продолжение табл. 2
10 |
2 |
16 |
1 |
11 |
0,5 |
4 |
2 |
12 |
0,5 |
2 |
4 |