Міністерство освіти і науки України
Національний технічний університет України
«Київський політехнічний інститут імені Ігоря Сікорського»
Теплоенергетичний факультет
Кафедра автоматизації проектування енергетичних процесів і систем
Лабораторна робота № 1
з дисципліни «Операційні системи»
«Внутрішнє представлення цілочисельних даних в IBM PC»
Варіант 19
Робота студента1 курсу, ТР-15
Черкас Оксани Сергіївни
Перевірила д.т.н., проф. Левченко Л.О.
КИЇВ 2022
Мета роботи
Виконати переведення чисел, наданих викладачем, з десяткової у двійкову систему числення. Надати їх внутрішньо машинне представлення відповідно до діапазону знакових та без знакових форматів типів чисел. Машинне представлення даних необхідно надати у двійковій та шістнадцятирічній системі числення.
Короткий теоретичний опис
Види систем числення:
Двійкова система числення — це позиційна система числення, база якої дорівнює двом та використовує для запису чисел тільки два символи: зазвичай 0 (нуль) та 1 (одиницю). Числа, представлені в цій системі часто називають двійковими або бінарними числами.
Для запису числа у двійковій системі числення використовується представлення цього числа за допомогою степенів числа 2.
Вісімко́ва система чи́слення — позиційна цілочисельна система числення з основою 8. Для представлення чисел в нійвикористовуютьсяцифривід0 до 7.
Вісімкова система часто використовується в галузях, пов'язаних з цифровими пристроями. Характеризується легким переводом вісімкових чисел у двійкові і назад, шляхом заміни вісімкових чисел на триплети двійкових. Раніше широко використовувалася в програмуванні і взагалі комп'ютерної документації, проте в наш час майже повністю витіснена шістнадцятковою. У вісімко вій системі вказуються права доступу для команди chmod в Unix-подібних операційних системах.
Загальноприйнятою в сучасному світі є десяткова позиційна система числення, яка з Індії через арабські країни прийшла в Європу. Араби взяли за основу число 10, тому що в якості обчислювального пристрою вони використовували 10 пальців рук. В десятковій системі для запису числа використовується десять цифр від 0 до 9 і основою є число 10.
Шістнадцяткова система чи́слення — це позиційна система числення з основою 16. Тобто кожне число в ній записується за допомогою 16 символів. Арабські цифри від 0 до 9 відповідають значенням від нуля до дев'яти, а 6 літер латинської абетки A, B, C, D, E, F відповідають значенням від десяти до п'ятнадцяти. Шістнадцяткова система числення широко використовується розробниками комп'ютерів та програмістами.
Цю систему часто називають також Hex (початкові літери англ. hexadecimal — шістнадцятковий).
Представлення чисел у десятковій, двійковій, шістнадцятирічній системі
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
Цілочисельні типи даних, їх діапазони значень та кількість пам’яті, яку вони потребують
Тип
Діапазони значень
Необхідна пам’ять
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
Числовий діапазон без знакових чисел наступний:
• байт — від 0 до 255; (28) або 00h – FFh → 1111 1111b →255d
• слово — від 0 до 65 535; (216) або 0000h – FFFFh → 1111 1111 1111 1111b
• подвійне слово — від 0 до 232 - 1. (4 294 967 295)
або 0000 0000h – FFFF FFFFh → 1111 1111 1111 1111 1111 1111 1111 1111b
Варіант №19
Завдання 1:
217 + 19 = 236
-236
217 – 19 = 198
-198
2025 + 19 = 2044
-2044
2025 – 19 = 2006
-2006
Переведення цілих чисел в двійкову і шістнадцяткову системи
/
/
/
Внутрішньомашинне представлення чисел
Dec
Byte
Word
Bin
Hex
Bin
Hex
236
1110. 1100
EC
0000.0000.1110.1100
00EC
-236
1111.1111.0001.0100
FF14
198
1100.1101
C6
0000.0000.1100.0110
00C6
-198
1111.1111.0011.1010
FF3A
2044
0000.0111.1111.1100
07FC
-2044
1111.1000.0000.0100
F804
2006
0000.0111.1101.0110
07D6
-2006
1111.1000.0010.1010
F82A
Завдання 1
Створити у блокноті файл з назвою прізвища з розширенням asm. У цей файл додати дані розміром байт та слово. Створити лістинг програми. Переглянути та проаналізувати програму *.lst на предмет відповідності опису типу даних, роздрукувати і додати до звіту. Якщо є помилки у типі даних, виділити їх напівжирним накресленням.
Результати перевірки
/
Результати лістингу
/
/
/
Значення -236 та -198 виходять за рамки діапазону байта, тому для коректного запису слід використовувати формат слів (dw).
Завдання 2
Створити у блокноті файл «Повні дані Прізвище» (файл dani.asm). У файлі dani.asm видалити символ коментаря « ; », запустити на трансляцію та уважно проаналізувати внутрішньомашинне представлення різних значень даних та їх типів, віднайти дані з невірним типом даних та виділити їх напівжирним накресленням.
Результати перевірки
/
Результати лістингу
/
/
/
/
/
/
Виділення помилок
.MODEL tiny
.data
k db -8
db -10
dw -10
db 15
db -15
db 0feh
db 0b12h
db 01100110b
dw 10001011b
dw 13
dw '0f'
dw 0245h
dw 0101b
dw 0a32h
dw 0f45h
dw 55
dw 0c47h
dw 0afh
dd 4, 8, 0Ah, 0ffh
dw -15
db -16
dw -16
r db 127
q db -127
t1 dw -127
db 128
i db -128
i1 dw -1228
w db -129
p dw -129
db 255
db -255
db 256
dw 256
q dw -32768
rr1 df -32768
zz1 dd -32768
j dw 32767
a dw 65535
dw -65535
dd -65535
dd -2147583648
dd 2147583647
dq -2147583648
dq 2147583647
lldw 10101000b
ffdb 12, "№", 0b12h
f1 dw 12, "№", 0b12h
g5 db 0101b
ssdw 00000101b
xx dq 26
c1 dw 0f45h, 55, 66
a1 db -113
a2 dw -113
ii db -159
i11 dw -159
s1 db -89
ss5 dw -89
s2 db -92
ff2 dw -92
s3 dw -231
a11 db "sigma"
a22 dw e301h
a33 db 12
a55 dwoffset a11
a66 dw 13
ggdw -123
hhdw -9
end
Висновок: За результатом виконання лабораторноъ роботи були використаны способи переведення з десяткової системи у двійкову і шістнадцяткову. Також ми ознайомились з їх внутрішньомашинним виглядом. Окрім цього ми ознайомились з діапазонами різних форматів і змогли перевірити код за допомогою лістингу та виявити помилки при некоректному записі.