|
Практична робота № 3
Внутрішнє представлення цілочисельних даних в IBM PC
Мета роботи:
Отримати|здобуття| практичні навики|навиків| переведення чисел з десяткової системи числення в двійкову. Оволодіти навиками|навичками| представлення даних засобами мови Асемблер.
1. Постановка задачі.
Виконати переведення заданих чисел з десяткової в двійкову систему числення. Розгдянути їх внутрішнє (машинне) представлення відповідно до діапазону в знакових і беззнакових форматах. Машинне представлення даних має бути в двійковій і шістнадцятирічній системах числення.
Вхідні дані.
До заданих двох базових чисел ± X і ± Y необхідно додати і відняти № свого варіанту.
Базові числа (БЧ): X = ± 2235, Y = ± 40. Номер варіанту (НВ) – 19.
БЧ | НВ | БЧ+НВ |
-19 | ||
-40 | -21 | |
-40 | -19 | -59 |
-19 | ||
-2235 | -2216 | |
-2235 | -19 | -2254 |
2. Переведення чисел з десяткової системи числення в двійкову
5910 = 0011 10112 = 3B16
59 = 25 + 24 + 23 + 21 + 20 59-32=27 27-16=11 11-8=3 |
-5910 = 1100 0101b2 = C516
|- 59| | 0011 1011 |
інверсія | 1100 0100 |
+1 | 0000 0001 |
1100 0101 |
2110 = 0001 0101b = 1516
21 = 16 + 5 = 24 + 22 + 1 = 10101
-2110 = 1100 0101b2 = C516
|- 21| | 0001 0101 |
інверсія | 1110 1010 |
+1 | 0000 0001 |
1110 1011 |
225410 = 0000 1000 1100 1110 b (займає 2 байта)
2254 = 211 + 27 + 26 + 23 + 22 + 21 = 1000 1100 1110
-2254d = 1111 0111 0011 0010 = F73216
|- 2254| | 0000 1000 1100 1110 |
інверсія | 1111 0111 0011 0001 |
+1 | 0000 0000 0000 0001 |
1111 0111 0011 0010 |
221610 = 0000 1000 1010 1000 = 08А816
-2216d = 00001000 1010 1000= F75816
|- 2254| | 0000 1000 1010 1000 |
інверсія | 1111 0111 0101 0111 |
+1 | 0000 0000 0000 0001 |
1111 0111 0101 1000 |
Машинне представлення заданих чисел.
Dec | Byte | Word | ||
Bin | Hex | Bin | Віх 1 | |
0011 1011 | 3В | 0000 0000 0011 1011 | 00 3В | |
-59 | 1100 0101 | С5 | 1111 1111 1100 0101 | FF C5 |
0000 0101 | 0000 0000 0000 0101 | 00 15 | ||
-21 | 1110 1011 | ЕВ | 1111 1111 1110 1011 | FF EB |
В цьому форматі дані не можуть бути представлені | 0000 1000 1100 1110 | 08 СЕ | ||
-2254 | 1111 0111 0011 0010 | F7 32 | ||
0000 1000 1010 1000 | 08 А8 | |||
-2216 | 1111 0111 0101 1000 | F7 58 |
Програма на мові Асемблер.
TITLE Модуль Int.asm .386 .model flat,stdcall ExitProcess PROTO:DWORD ;-------------------------------------------- .data ;------------------------------ byte ib byte 59 byte 21 byte -59 byte -21 ; ;------------------------------ word iw word 59 word 21 word -59 word -21 ; ;------------------------------- word word 2216 word 2254 word -2216 word -2254 ; ;----------------------------- dword idw dword 2216 dword 2254 dword -2254 dword -2216 ; ;-------------------------------------------- .code main proc
INVOKE ExitProcess,0 main endp end main |
Лістинг програми:
Microsoft (R) Macro Assembler Version 6.15.8803 09/22/12 21:15:05
Модуль Int.asm Page 1 - 1
TITLE Модуль Int.asm
.386
.model flat,stdcall
ExitProcess PROTO:DWORD
;--------------------------------------------
00000000.data
;------------------------------ byte
00000000 3B ib byte 59
00000001 15 byte 21
00000002 C5 byte -59
00000003 EB byte -21
;
;------------------------------ word
00000004 003B iw word 59
00000006 0015 word 21
00000008 FFC5 word -59
0000000A FFEB word -21
;
;------------------------------- word
0000000C 08A8 word 2216
0000000E 08CE word 2254
00000010 F758 word -2216
00000012 F732 word -2254
;
;----------------------------- dword
00000014 000008A8 idw dword 2216
00000018 000008CE dword 2254
0000001C FFFFF732 dword -2254
00000020 FFFFF758 dword -2216
;
;--------------------------------------------
00000000.code
00000000 main proc
INVOKE ExitProcess,0
00000007 main endp
end main
Дата добавления: 2015-09-30; просмотров: 23 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
| | высокая мощность, ёмкость |