Міністерство освіти і науки України
Національний технічний університет України
«Київський політехнічний інститут імені Ігоря Сікорського»
Теплоенергетичний факультет
Кафедра АПЕПС
ЗВІТ
з лабораторної роботи № 1
з дисципліни «Операційні системи»
Тема «Внутрішнє представлення цілочисельних даних в IBM PC»
Варіант № 4
Мета роботи:
Обчислити для свого варіанту цілі числа.
Перевести їх з десяткової у двійкову (або шістнадцятирічну) систему счислення.
Отримати їх внутрішньомашинне представлення.
Перевірити правильність викладок, отримати лістинг з даними свого варіанту.
Теоретичний опис:
За своїм варіантом я отримав ці 8 чисел:
1. 217 + 4 = 221
2. 217 – 4 = 213
3. -217 + 4 = -213
4. -217 – 4 = -221
5. 2025 + 4 = 2029
6. 2025 - 4 = 2021
7. -2025 + 4 = -2021
8. -2025 – 4 = -2029
Програми і дані в комп'ютері зберігаються у двійкової системі счислення (форматі). Для позначення адрес розміщення даних у оперативній пам'яті використовується шістнадцятирічне представлення чисел, тобто адреси комірок пам’яті кодуються шістнадцятирічними числами.
Для переведення чисел з системи счислення з основою p у систему счислення з основою q з використанням арифметики старої системи счислення з основою p потрібно:
для переведення цілої частини:
послідовно число, записане в системі з основою p, слід ділити на основу нової системи счислення, виділяючи залишок. Останні (числа залишку), записані в зворотному порядку, будуть утворювати число в новій системі счислення;
для переведення дробової частини:
послідовно дробову частину слід множити на основу нової системи счислення, виділяючи цілі частини, які і будуть утворювати запис дробової частини числа в новій системі счислення.
Перевожу їх у двійкову систему.
1. 221 = 1101-1101 b
2. 213 = 1101-0101 b
3. -213 = 1111-1111-0010-1011 b
4. -221 = 1111-1111-0010-0011 b
5. 2029 = 111-1110-1101 b = 0000-0111-1110-1101 b
6. 2021 = 111-1110-0101 b = 0000-0111-1110-0101 b
7. -2021 = 1111-1000-0001-1011 b
8. -2029 = 1111-1000-0001-0011 b
Представлення чисел у десятковій, двійковій, шістнадцятирічній системі
Decimal, d
Binary, b
Hexadecimal, h
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F
Зв’язок між двійковою і шістнадцятирічною системою – 24 , тобто 16-річне число можна представити чотирма двійковими розрядами. Наприклад, 72A16 = 0111 0010 10102
Перевожу їх у шістнадцятирічну систему
1. 1101-1101 = DD h
2. 1101-0101 = D5 h
3. 1111-1111-0010-1011 = FF2B h
4. 1111-1111-0010-0011 = FF23 h
5. 0000-0111-1110-1101 = 07ED h
6. 0000-0111-1110-0101 = 07E5 h
7. 1111-1000-0001-1011 = F81B h
8. 1111-1000-0001-0011 = F813 h
Цілочисельні типи даних, їх діапазони значень та кількість пам’яті, яку вони потребують, наведені у таблиці:
Тип
Діапазони значень
Необхідна пам’ять
Byte
0 - 255 28 - беззнакові
1 byte
Shortint
-128 - 127 (28 / 2) знакові
1 byte
Word
0 - 65535 216 беззнакові
2 bytes
Integer
-32768 – 32767 (216 / 2) знакові
2 bytes
Longint
-2 147 483 748 - 2 147 483 747 (232 / 2) знакові
4 bytes
Таблиця чисел представлених внутрішньомашинно
Dec
Byte
Word
Bin
Hex
Bin
Hex
221
1101-1101
DD
0000-0000-1101-1101
00DD
-221
1111-1111-0010-0011
FF23
213
1101-0101
D5
0000-0000-1101-0101
00D5
-213
1111-1111-0010-1011
FF2B
2029
0000-0111-1110-1101
07ED
-2029
1111-1000-0001-0011
F813
2021
0000-0111-1110-0101
07E5
-2021
1111-1000-0001-1011
F81B
Для отримання лістингу необхідно:
скачати емулятор DOSBOX за посиланням:
https://mega.nz/folder/rXYSlKxS#raUw1oeM5iT4YFnf_8Ub2A/file/2PYyQaoZ
або з офіційного сайту http://www.dosbox.com/download.php?main=1 і встановити на комп’ютері.
скачати програму трансляції TASM
https://mega.nz/folder/LDBkWK5R#8lElurXS5nWHZMwOxNIYzg
1. На диску D: створити власну папку (наприклад, ASM), записати до неї модулі tasm, tlink. У Блокноті створити файл з іменем свого прізвища та розширенням *.asm («Сохранить как» з розширенням *.asm), до якого записати дані, наведені нижче, та додати дані відповідно свого варіанту.
2. Перейти до командного рядка:
Пуск Выполнить cmd, перейти до папки, де записані модулі tasm, tlink, а саме: dir d:\ASM і запустити програму tasm /la *.asm
Створив ASM файл:
title smirnov.asm
.MODEL tiny
.DATA
i db 0, 255
i1 db -255
ii db -128, 127
a1 db 221
a2 db 213
a3 dw -221
a4 dw -213
q0 dw -255
q dw 0, 65535
q1 dw -1, 32768
q2 dw 1, 32767
q3 dw -65535
q4 dw -65535
a5 dw 2029
a6 dw 2021
a7 dw -2029
a8 dw -2021
end
Запустив програму tasm через DOSBox змонтувавши d:\asm до диску A:\ та отримав файл лістингу:
smirnov.asm
1 title smirnov.asm
2 0000 .MODEL tiny
3 0000 .DATA
4
5 0000 00 FF i db 0, 255
6 0002 01 i1 db -255
7 0003 80 7F ii db -128, 127
8
9 0005 DD a1 db 221
10 0006 D5 a2 db 213
11
12 0007 FF23 a3 dw -221
13 0009 FF2B a4 dw -213
14
15 000B FF01 q0 dw -255
16 000D 0000 FFFF q dw 0, 65535
17 0011 FFFF 8000 q1 dw -1, 32768
18 0015 0001 7FFF q2 dw 1, 32767
19 0019 0001 q3 dw -65535
20 001B 0001 q4 dw -65535
21
22 001D 07ED a5 dw 2029
23 001F 07E5 a6 dw 2021
24 0021 F813 a7 dw -2029
25 0023 F81B a8 dw -2021
26
27 end
Файл лістингу співпадає з початковим
Скріншоти:
//
/
/
Висновок: під час виконання лабораторної роботи №1 було набуто практичних навичок у переведенні чисел в різні системи числення (у двійкову, десятирічну, шістнадцятирічну), було надано їх внутрішньомашинне представлення відповідно до діапазону знакових та беззнакових форматів типів чисел, а також у використанні емулятора DOSBOX. Виконана перевірка результатів в лістинг-файлі.