Системне програмування та архітектура комп’ютерів

Переведення чисел: ±3456 ±14 та ±90 ± 14 із десяткової у двійкову систему числення. Виконання операції множення за алгоритмом "А" на 1 розряд множника операндів. Визначення ємності в Кбайтах, що буде мати напівпровідниковий запам’ятовуючий пристрій.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык украинский
Дата добавления 16.10.2021
Размер файла 269,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

МІНІСТЕРСТВО ОБОРОНИ УКРАЇНИ

Військовий інститут телекомунікацій та інформатизації імені героїв Крут

КОНТРОЛЬНА РОБОТА

Системне програмування та архітектура комп'ютерів

Київ - 2020

Завдання 1

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

Здійснюємо переведення чисел у двійкову та шістнадцяткові системи числення:

3456+14=3470 (-3470)

3470

2

3470

1735

2

0

1734

867

2

1

866

433

2

1

432

216

2

1

216

108

2

0

108

54

2

0

54

27

2

0

26

13

2

1

12

6

2

1

6

3

2

0

2

1

1

3470

d->

0000110110001110b

-> 0D8EH

-3470

d->

1111001001110001b

інверсія

+

1

1111001001110010b

-> F272H

3456-14=3442 (-3442)

3442

2

3442

1721

2

0

1720

860

2

1

860

430

2

0

430

215

2

0

214

107

2

1

106

53

2

1

52

26

2

1

26

13

2

0

12

6

2

1

6

3

2

0

2

1

1

3442

d->

0000110101110010b

-> 0D72H

-3442

d->

1111001010001101b

інверсія

+

1

1111001010001110b

-> F28EH

90+14=104 (-104)

104

2

104

52

2

0

52

26

2

0

26

13

2

0

12

6

2

1

6

3

2

0

2

1

1

104

d->

0000000001101000b

-> 0068H

-104

d->

1111111110010111b

інверсія

+

1

1111111110011000b

-> FF98H

90-14=76 (-76)

76

2

76

38

2

0

38

19

2

0

18

9

2

1

8

4

2

1

4

2

2

0

2

1

0

76

d->

0000000001001100b

-> 004CH

-76

d->

1111111110110011b

інверсія

+

1

1111111110110100b

-> FFB4H

Запишемо отримані дані у вигляді таблиці:

Byte (Shortint)

Word (Integer, Longint)

bin

hex

bin

hex

76

0100.1100

4CH

0000.0000.0100.1100

004CH

-76

1011.0100

B4H

1111.1111.1011.0100

FFB4H

104

0110.1000

68H

0000.0000.0110.1000

0068H

-104

1001.1000

98H

1111.1111.1001.1000

FF98H

3442

0000.1101.0111.0010

0D72H

-3442

1111.0010.1000.1110

F28EH

3470

0000.1101.1000.1110

0D8EH

-3470

1111.0010.0111.0010

F272H

З метою перевірки правильності переведення чисел у двійкову та шістнадцяткову системи числення в додатку «Блокнот» було розроблено програму 1_14.asm, яку було скомпільовано з використанням середовища Turbo Assemler (рис. 1)

Рисунок 1. Компілювання програми з використанням середовища TASM

Лістинг програми наведено нижче:

Turbo Assembler Version 4.1 09/24/20 21:34:58 Page 1

1_14.asm

14_1-KONTROL

1 IDEAL

2 0000 MODEL small

3 0000 STACK 256

4 0100 DATASEG

5; Byte

6 0000 68 lb db 104

7 0001 4C db 76

8; Word

9 0002 0068 lw dw 104

10 0004 004C dw 76

11 0006 0D8E dw 3470

12 0008 0D72 dw 3442

13; Shortint

14 000A 98 lsh db -104

15 000B B4 db -76

16; Integer

17 000C FF98 dw -104

18 000E FFB4 dw -76

19 0010 F272 dw -3470

20 0012 F28E dw -3442

21; Longint

22 0014 00000D8E dd 3470

23 0018 00000D72 dd 3442

24 001C FFFFF272 dd -3470

25 0020 FFFFF28E dd -3442

26 0024 CODESEG

27 0000 Start:

28 0000 Exit:

29 0000 B4 4C mov AH, 04Ch

30 0002 B0 00 mov AL, 00h

31 0004 CD 21 int 21h

32 END Start

Порівнняння значень отриманих в середовищі tasm (лістинг програми) із значеннями, що наведені в табл. 1 свідчить про правильність переведння чисел у двійкову та шістнадцяткову системи числення.

Завдання 2

Виконати операцію множення за алгоритмом «А» на 1 розряд множника операндів А = 20 та В = -12, наведених у «5» системі числення. Результат С навести у десятковій системі числення.

Множення за алгоритмом «А» полягає у послідовному зсуві множника В та суми часткових добутків праворуч на 1 розряд для кожного циклу.

Алгоритм множення «А» може бути записаний у вигляді:

Рекурентна формула:

Переведення чисел в двійкову систему:

A=2*51+0*50=10 (10)=0.1010 (2)

B= - (1*51+2*50)=-7 (10)=1.0111 (2)

Знак добутку:

Sign(C)=Sign(A) mod2 Sign(B) = 0 mod2 1 =1

b1

b2

b3

b4

0

1

1

1

B

1

0

1

0

A

0

0

0

0

S0

1

0

1

0

D1=A*b4

1

0

1

0

S1=S0+D1

0

1

0

1

0

S1*2-1

1

0

1

0

D2=A*b3

1

1

1

1

0

S2= S1*2-1+D2

0

1

1

1

1

0

S2*2-1

1

0

1

0

D3=A*b2

1

0

0

0

1

1

0

S3=S2*2-1+D3

1

0

0

0

1

1

0

S3*2-1

0

0

0

0

D4=A*b1

1

0

0

0

1

1

0

S4=S3*2-1+D4

C=Sign(C) S4=1.1000110 (2)

C=1.1000110 (2)= - (1*26+0*25+0*24+0*23+1*22+1*21+0*20)=-70 (10)

Відповідь: C=-70 (10)

Завдання 3

Яку ємність у Кбайтах буде мати напівпровідниковий запам'ятовуючий пристрій реалізований на 8 мікросхемах пам'яті з організацією 8192х1.

Кількість байт і 1 мікросхемі пам'яті:

Відповідно, ємність однієї мікросхеми памяті - кБ

Ємність пристрою: кБ

Відповідь: Ємність пристрою 8 кБ

Завдання 4

Розробити модуль обчислення арифметичного виразу Y=вираз на мові Асемблера використовуючи цілочисельні арифметичні операції: add, adc, inc, sub, sbb, dec, neg, imil, idiv та логічні операції sal, sar.

%TITLE «4-14»

; Y=(4*c - (d/2)+23)/(a*a-1)

model small

stack 100h

data

a14 db 5

c14 db 5

d14 db 7

code

Start:

var14 proc

mov ax,@data

mov ds, ax

xor ax, ax

mov al, a14; al=a14

imul al; ax=ax*ax=a14*a14

sub ax, 1; ax=a14*a14-1

cmp ax, 0; перевірка умови нерівності знаменника 0

je Q1

push ax; зберігаємо знаменник

xor ax, ax; ax=0

xor dx, dx; cx=0

mov dl, c14; cx=c14

sal dx, 2; cx=c14*4 цілочисленне множення на 4 шляхом зсуву

; ліворуч на 2 розряди

mov al, d14; ax=d14

sar ax, 1; ax=ax/2 цілочисленне ділення на 2 шляхом

; зсуву праворуч на 1 розряд

neg ax; ax=-ax/2

add ax, dx; ax=4*c14 - (d14/2)

add ax, 23; ax=4*c14 - (d14/2)+23

pop cx

idiv cx; ділимо чисельник на знаменник

Q1:ret

var14 endp

end Start

Компілюємо файл

Досліджуємо його в середовищі TD 5.0 за умови:

a=5, c=5, d=7.

1. Розрахунок множення a*a=5*5=25=19H

2. Розрахунок знаменника:

a*a-1=25-1=24=18H

3. Розрахунок: 4*c=4*5=20=14H

4 Розрахунок: d/2=7/2=3=3H

4. Розрахунок чисельника: 4*с-d/2+23=20-3+23=40=28H

множення алгоритм операнд програмування

5. Розрахунок ділення чисельника на знаменник

40/24=1 (16 у залишку - регістр dx=10H)

Таким чином, розроблена програма дозволяє здійснювати обчислення виразу з використанням арифметичних та логічних операцій.

Размещено на Allbest.ru


Подобные документы

  • Перевід цілого числа з десяткової системи числення в Р-ічную. Застосовування "трійкової логіки" у ЕОМ. Контроль числових перетворень за допомогою кодів Фібоначчі. Використання недвійкової комп'ютерної арифметики при розробці обчислювальної техніки.

    контрольная работа [35,6 K], добавлен 28.11.2014

  • Синтез цифрового автомата для виконання операції множення в оберненому коді двох двійкових чисел з фіксованою комою. Будування керуючого автомату з жорсткою логікою по принципу Мілі. Використання алгоритму множення з пропусканням тактів додавання.

    курсовая работа [279,6 K], добавлен 14.03.2013

  • Розробка машинного алгоритму операції множення в доповняльному коді з пропуском тактів додавання в двійковій системі числення з старших розрядів чисел, представлених у формі з плаваючою комою та операційний автомат. Контроль операції віднімання.

    курсовая работа [45,5 K], добавлен 14.03.2013

  • Запам'ятовуючі пристрої (ЗП) є частиною мікропроцесорних систем (МПС). Вони призначені для запису, зберігання та читання, або тільки для зберігання та читання інформації, поданої у вигляді двійкових кодових слів. Постійний ЗП - пам'ять комп'ютера.

    лекция [406,7 K], добавлен 13.04.2008

  • Написання програми для мобільного приладу, яка буде переводити числа з однієї системи числення в іншу. Розробка графічного інтерфейсу, яким зручно буде користуватись. Опис процедур, обробників та мови програмування. Дослідження логічних частин програми.

    курсовая работа [1,2 M], добавлен 27.08.2014

  • Розробка алгоритму множення чисел у прямому коді з молодших розрядів із пропусканням тактів сумування для двійкових чисел. Синтез операційного та керуючого автоматів з жорсткою логікою. Описання технології числового контролю операції додавання по модулю.

    курсовая работа [74,9 K], добавлен 14.03.2013

  • Вибір оптимальної конфігурації та характеристика сучасних персональних комп’ютерів і їх комплектуючих. Технічна характеристика кожного пристрою комп’ютера. Зовнішні запам'ятовуючі і пристрої введення інформації. Переваги пристроїв різних фірм.

    дипломная работа [65,5 K], добавлен 06.07.2011

  • Загальна структура комп'ютера, архітектура процесора типу Intel 8086. Принцип роботи пам'яті, її види (постійна та оперативна). Основи програмування на мові асемблер та її синтаксис. Особливості використання позначок, кодів команд, операндів і директив.

    лабораторная работа [36,0 K], добавлен 27.02.2013

  • Загальні відомості про системи числення. Поняття основи. Машинні коди чисел. Алгоритми виконання операцій додавання і віднімання в арифметико-логічному пристрої ЕОМ, множення і ділення двійкових чисел в АЛП. Логічні основи ЕОМ. Досконалі нормальні форми.

    учебное пособие [355,4 K], добавлен 09.02.2012

  • Спосіби розв'язання трудомістких обчислювальних завдань з використанням двох і більше комп'ютерів, об'єднаних в мережу. Розробка програмної реалізації восьми процесорної паралельної системи зі розподіленою пам’яттю, яка виконує множення двох матриць.

    курсовая работа [747,6 K], добавлен 23.01.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.