
- •Курсова робота з дисципліни: «Системне програмування» на тему: «Модель арифметико-логічного пристрою»
- •Завдання
- •1 Формати числових даних
- •2 Виконання арифметичних операцій
- •2.1 Арифметичні операції над двійковими числами
- •Imul операнд_1 [, операнд_2, операнд_3]
- •Idiv дільник
- •2.2 Арифметичні операції над двійково-десятковими неупакованими числами
- •2.3 Арифметичні операції над двійково-десятковими упакованими числами
- •3 Опис роботи програми
- •6 Результати роботи програми
- •Висновки
- •Список використаної літератури
Міністерство освіти і науки, молоді та спорту України
Черкаський державний технологічний університет
Кафедра системного програмування
Курсова робота з дисципліни: «Системне програмування» на тему: «Модель арифметико-логічного пристрою»
Перевірила:
Куницька С.Ю.
«_____»_________2012р
_____________________
Виконав:
студент
групи КМ-105
Лукашенко Андрій
__________________
__________________
Черкаси 2012
ЗМІСТ
ВСТУП..........................................................................................................................3
ФОРМАТИ ЧИСЛОВИХ ДАНИХ........................................................................4
ВИКОНАННЯ АРИФМЕТИЧНИХ ОПЕРАЦІЙ.................................................6
Арифметичні операції над двійковими числами...........................................6
Арифметичні операції над двійково-десятковими неупакованими числами............................................................................................................12
Арифметичні операції над двійково-десятковими упакованими
числами............................................................................................................16
ОПИС РОБОТИ ПРОГРАМИ.............................................................................18
БЛОК-СХЕМА ПРОГРАМИ...............................................................................20
Блок-схема головної програми.....................................................................20
Блок схема операції віднімання....................................................................21
Блок-схема операції ділення.........................................................................22
ЛІСТИНГ ПРОГРАМИ........................................................................................23
РЕЗУЛЬТАТИ РОБОТИ ПРОГРАМИ...............................................................31
ВИСНОВКИ...............................................................................................................34
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ...........................................................35
ВСТУП
Метою курсової роботи є розробка програми на мові програмування Assembler, яка виконує арифметичні операції над числами.
Завдання
Скласти програму моделювання операції віднімання та ділення чисел з фіксованою крапкою з заданою кількістю розрядів.
Введення операндів виконується з клавіатури та виводяться на екран. Програма виконує перевірку правильності введення чисел і має дружній інтерфейс.
Варіант №11
Кількість байтів в цілих та дробових частинах числа |
Спосіб зберігання числа в пам’яті (формат числа) |
6 |
упакований |
1 Формати числових даних
Група арифметичних цілочисельних команд працює з двома типами чисел:
цілими двійковими числами. Числа можуть мати знаковий розряд або не мати такого, тобто бути числами із знаком або без знаку;
цілими десятковими числами.
Цілі двійкові числа
Ціле двійкове число з фіксованою точкою - це число, закодоване в двійковій системі числення.
Розмірність цілого двійкового числа може становити 8, 16 або 32 біт. Знак двійкового числа визначається тим, як інтерпретується старший біт в представленні числа. Це 7-й, 15-й чи 31-й біти для чисел відповідної розмірності. Серед арифметичних команд є всього дві команди, які дійсно враховують цей старший розряд як знаковий, - це команди цілочисельного множення і ділення imul і idiv. В інших випадках відповідальність за дії із знаковими числами і, відповідно, зі знаковим розрядом лягає на програміста. Діапазон значень двійкового числа залежить від його розміру і трактування старшого біта або як старшого значущого біта числа, або як біта знака числа (табл. 1).
Розмірність поля |
Ціле без знаку |
Ціле зі знаком |
байт |
0 ... 255 |
-128 ... +127 |
слово |
0 ... 65 535 |
-32768 ... +32 +767 |
подвійне слово |
0 ... 4294967295 |
-2147483648 ... +2 147 483 647 |
Таблиця 1. Діапазон значень двійкових чисел
Десяткові числа
Десяткові числа - спеціальний вид подання числової інформації, в основу якого покладено принцип кодування кожної десяткової цифри числа групою з чотирьох біт. При цьому кожен байт числа містить одну або дві десяткові цифри в так званому двійковій-десятковому коді (BCD - Binary-Coded Decimal). Мікропроцесор зберігає BCD-числа в двох форматах (рис. 1):
упакованому форматі - в цьому форматі кожен байт містить дві десяткові цифри. Десяткова цифра являє собою двійкове значення в діапазоні від 0 до 9 розміром 4 біти. При цьому код старшої цифри числа займає старші 4 біти. Отже, діапазон представлення десяткового упакованого числа в одному байті становить від 00 до 99;
неупакованому форматі - в цьому форматі кожен байт містить одну десяткову цифру в чотирьох молодших бітах. Старші чотири біта мають нульове значення. Це так звана зона. Отже, діапазон представлення десяткового неупакованого числа в одному байті становить від 0 до 9.
Упаковане десяткове число 5674304:
Неупаковане десяткове число 9985784:
Зона