Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Внутрішнє представлення цілочисельних даних в IBM PC



 

Практична робота № 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

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 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
 | высокая мощность, ёмкость

mybiblioteka.su - 2015-2024 год. (0.024 сек.)