Системне програмування та архітектура комп’ютерів
Переведення чисел: ±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Написання програми для мобільного приладу, яка буде переводити числа з однієї системи числення в іншу. Розробка графічного інтерфейсу, яким зручно буде користуватись. Опис процедур, обробників та мови програмування. Дослідження логічних частин програми.
курсовая работа [1,2 M], добавлен 27.08.2014Запам'ятовуючі пристрої (ЗП) є частиною мікропроцесорних систем (МПС). Вони призначені для запису, зберігання та читання, або тільки для зберігання та читання інформації, поданої у вигляді двійкових кодових слів. Постійний ЗП - пам'ять комп'ютера.
лекция [406,7 K], добавлен 13.04.2008Розробка алгоритму множення чисел у прямому коді з молодших розрядів із пропусканням тактів сумування для двійкових чисел. Синтез операційного та керуючого автоматів з жорсткою логікою. Описання технології числового контролю операції додавання по модулю.
курсовая работа [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