31909

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

Лабораторная работа

Информатика, кибернетика и программирование

Виконати переклад заданих викладачем чисел з десяткової в двійкову систему числення. Дати їх внутрішнє (машинне) представлення в залежності від діапазону в знакових і беззнакових форматах типів Shortint (signed char), Byte (unsigned char), Integer (int), Word (unsigned int). Машинне представлення даних має бути дане в двійковій і шестнадцятирічній системах числення.

Украинкский

2013-09-01

58.65 KB

5 чел.

 

   Лабораторна робота № 1

Тема: Внутрішнє представлення цілочисельних даних в IBM| РС

Мета|ціль| роботи: Виконати переклад|переведення| заданих викладачем чисел з|із| десяткової в двійкову систему числення. Дати їх внутрішнє (машинне) представлення|подання| в залежності від діапазону в знакових і беззнакових форматах типів Shortint| (signed| char|), Byte| (unsigned| char|), Integer| (int|), Word| (unsigned| int|). Машинне представлення даних має бути дане в двійковій і шестнадцятирічній| системах числення.

Порядок|лад| роботи:

1) Обчислити|вичисляти| для свого варіанту цілі числа.

2) Перевести|переказувати| їх з|із| 10-річної| в 2-ву| (або 16-річну|) систему числення.

3) Отримати| їх внутрішнє представлення.|п

      4) Написати програму опису цих чисел на мові|язиці| Асемблера і отримати|одержувати| лістинг.

      5) Перевірити правильність своїх викладень.

Цілочисельні дані мають бути представлені|уявляти| у всіх можливих для платформи Winl6| (Win32|) форматах з врахуванням|з урахуванням| їх діапазону представлення|подання|.|застосування|

Варіант №8

X =± 4567, Y =± 60 № = 8. Тоді вийдуть наступні вісім цілих чисел для варіанту № = 8, а саме: 

1)

4567 + 8 =

4575

2)

4567 - 8 =

4559

3)

-4567 + 8 =

- 4559

4)

-4567 - 8 =

- 4575

5)

60 + 8  =

68

6)

60 - 8 =

52

7)

-60 + 8 =

-52

8)

-60 - 8 =

-68

Рішення:|вирішення|

Для переводу|переведення| цілого числа, представленого|уявляти| в десятковій системі числення, в систему числення з|із| основою|заснуванням| q необхідно дане число ділити на основу|заснування| до отримання цілого залишку|остачі|, меншого q. Отриману|одержувати| частку знову необхідно ділити на основу|заснування| до отримання|отримання| цілого залишку|остачі|, меншого q, і так далі до тих пір, поки остання частка буде менше q. Число в системі числення з|із| основою|заснуванням| q представиться у вигляді впорядкованої послідовності залишків ділення|поділки| в порядку|ладі|, зворотному їх отриманню|отриманню|. До того ж старша цифра числа дає останній залишок|остача|, а молодша —-| перший.

Для того, щоб змінити|позмінювати| знак числа, потрібно інвертувати всі його біти і додати до нього одиницю — отримаємо|одержуватимемо| представлення негативного|заперечного| числа в додатковому коді.

Для цілих типів із|із| знаком, під знак відводиться старший біт, до того ж для позитивних чисел він дорівнює 0, а для негативних|заперечних| — 1.

Цілочисельні   типи,   їх  діапазони   значень   і   кількість   потрібної   для   них   пам'яті приведені в наступній|слідуючій| таблиці:

Тип

Диапазон значений

Требуемая память

Byte

0..255

1 byte

Shortint

-128.. 127

1 byte

Word

0..65 535

2 bytes

Integer

-32 768..32 767

2 bytes

Longint

-2 147 483 648..2 147 483 647

4 bytes

Протокол перекладу|переведення| чисел

Спочатку переведемо|переказуватимемо| задані числа в двійкову систему числення, а потім дамо їх внутрішнє представлення|подання|.

68

2

68

34

2

0

34

17

2

0

16

8

2

1

8

4

2

0

4

2

0

68d => 0100 0100b (BYTE)

-68d =>0100 0100b -двійковий код числа |-68|

      1011 1011b - інверсія

      +________1

       1011 1111b – додатковий код  

52

2

52

26

2

0

26

13

2

0

12

6

2

1

6

3

2

0

2

1

1

52d =>  0011 0100b (BYTE)

-52d => 0011 0100b -двійковий код числа |-52|

       1100 1011b - інверсія

      +________1

       1100 1111b – додатковий код  

4575

2

4574

2292

2

1

2292

1146

2

0

1146

573

2

0

572

286

2

1

286

143

2

0

142

71

2

1

70

35

2

1

34

17

2

1

16

8

2

1

8

4

2

0

4

2

2

0

2

1

0

4575d => 0001 0001 1110 1001b (WORD)

-4575d => 0001 0001 1110 1001b -двійковий код числа |-4575|

          1110 1110 0001 0110b - інверсія

         +__________________1

          1110 1110 0001 0111b – додатковий код  

4559

2

4548

2274

2

1

2274

1137

2

0

1136

568

2

1

568

284

2

0

284

142

2

0

142

71

2

0

70

35

2

1

34

17

2

1

16

8

2

1

8

4

2

0

4

2

2

0

2

1

0

4559d => 0001 0001 1100 0101b (WORD)

-4559d => 0001 0001 1100 0101b -двійковий код числа |-4559|

          1110 1110 0011 1010b - інверсія

         +__________________1

          1110 1110 0011 1011b – додатковий код  

        Byte

              Word

     Bin

 ex

           Bin

 Hex

68

0101 0000

     50

0000  0000  0101  0000

    0050

-68

1011 0000

     B0

1111  1111  1010  0000

    FFB0

52

0010 1000

     28

0000  0000  0010  1000

     0028

-52

1101 1000

     D8

1111  1111  1101  1000

     FFD8

4575

0001  0001  1110  1011

     11EB

-4575

1110  1110  0001  0101

      EE15

4559

0001  0001  1100  0011

      11C3

-4559

1110  1110  0011  1101

      EE3D

Машинное представление заданных чисел.

Зробимо перевірку, для цього напишемо програму, відкомпілюємо її за допомогою компілятора з мови|язика| асемблера MASM| і отримаємо|одержуватимемо| файл лістингу:

;Файл Асемблер.asm

title Labor_2

.MODEL tiny

.DATA

;----------byte------------------

Ib          byte  68

            byte  52

;----------word-----------------

Iw          word  68

word  52

word  4575

word  4575

;-----------shortint------------

is byte  -68

byte  -52

;-----------integer------------

ii word  -68

word  -52

word  -4575

word  -4559

;----------longint-----------

il            dword  4575

dword  4559

dword  -4575

dword  -4559

END

Microsoft(R) Macro Assembler Version 6.15.8803                               15/10/10   18:44:16

Labor_2                                                                   Page 1 – 1

       

                                                       ;Файл Асемблер.asm

                                                                   title Labor_2

                                                                  .MODEL tiny

0000                                                           .DATA                                                                   ;----------byte------------------

0000  50                                                     Ib          byte  68

0001  28                                                                  byte  52

                                                                  ;----------word-----------------

0002  0050                                                 Iw          word  68

0004  0028                                                               word  52

0006  11EB                                                              word  4575

0008  11C3                                                              word  4559

                                                                  ;-----------shortint------------

000A   B0                                                    is   byte  -68

000B   D8                                                               byte  -52

                                                                  ;-----------integer------------

000C  FFB0                                                ii  word  -68

000E  FFD8                                                           word  -52

0010  EE15                                                            word  -4575

0012  EE3D                                                            word  -4559

                                                                  ;----------longint-----------

0014  000011EB                                         il         dword  4575

0018  000011C3                                                    dword  4559

001C  FFFFEE15                  .                               dword  -4575

0020  FFFFEE3D                                                  dword  -4559

                                                                  END


 

А также другие работы, которые могут Вас заинтересовать

56555. Ігровий турнір «Через гру до безпеки життя» 202 KB
  Та команда котра першою правильно виконає завдання отримує 3б. Що ускладнює виконання кладки взимку низька температура снігопади ожеледь використання додаткового обладнання та інструментів Гра Піраміда...
56556. Сценарій позакласного заходу «Лицарський турнір» 122.5 KB
  Король Хлодвіг А зараз ми проведемо спортивний конкурс аби ви хоч трішки розімялись та показали хто спритніший в гонці на конях. Конкурс Найкращий гонец Учасники загону повинні за командою Герольда по одному пробігти на конях дистанцію на швидкість.
56557. Турнір знавців Франції 31.5 KB
  Мета заходу: практична: навчити учнів використовувати знання, отримані при вивченні теми; розвивати мовлєневі навички; освітня: узагальнити та систематизувати знання учнів з теми «Франція»; розвивальна: розвивати пам’ять, логічне мислення, увагу...
56558. Турнір допитливих та кмітливих 50 KB
  Мета: закріпити знання з вивчених предметів; розвивати у дітей мовлення, пам'ять, кмітливість і старанність, уміння розгадувати ребуси, загадки; виховувати почуття відповідальності за команду.
56559. Государственная служба какмеханизм государственного управления 131.5 KB
  Народ осуществляет свою власть непосредственно, а также через органы государственной власти, самоуправления, политические партии и общественные организации, что в своей совокупности составляет политическую систему. Особое место в этой системе занимает государство
56560. Турнир знатоков информатики 120 KB
  Цели: Воспитательная: воспитание умения работать в команде, уважения к сопернику, воспитание чувства ответственности; Учебная: теоретическое повторение ранее изученного материала в увлекательной форме...
56561. Турнір «Лицарі ввічливості» 243.5 KB
  Привітання І команди: Посміхнися стане день ясніш І веселка тобі також посміхнеться А від цього буде веселіш Ще не раз до тебе посмішка вернеться. Привітання II команди: Як без сонця жодна не росте рослина Так без слова доброго не живе людина. Конкурс Розминка Запитання для І команди.
56562. Педагогічний турнір «Гра — господиня освітнього процесу» 102 KB
  Гра виконує в суспільстві певні функції: передачі накопиченого суспільно-історичного досвіду; відтворення суспільних відносин людей; здійснення всебічного гармонійного розвитку; відображення оточуючого світу; ріднить з мистецтвом; виявляє самодіяльність людей...