Розроблення алгоритму і програми а NASM асемблері для додавання / множення чисел з плаваючою крапкою - Курсовая работа

бесплатно 0
4.5 181
Розробка алгоритму роботи програми, її загальна характеристика та функціональні особливості, умови ефективного використання. Способи виклику та адреса завантаження, відомості про використання оперативної пам"яті. Посібник системного програміста.


Аннотация к работе
Число з плаваючою крапкою - форма представлення дійсних чисел, в якій число зберігається у формі мантиси і показника степеня. Число вважається записаним в стандартному (нормалізованому) вигляді, якщо воно записане у вигляді, де, зване мантисою, таке, що, - ціле, називається показником ступеня та - ціле, основу системи числення (на письмі це зазвичай 10). Це означає, що записане число в 105 разів більше числа 1,528535047, тобто для отримання потрібного числа кома зсувається на 5 розрядів вправо. Додавання у прямому коді виконується тільки над числами одного знаку. Потім знак результату, який зберігається на прапорі Т, переносимо на прапор З Виконуючи зрушення вправо регістра порядку РА, вводимо знак числа в розряд 7 регістра РА Передачу молодшого біта порядку в старший розряд мантиси виконуємо за два кроки: спочатку з розряду Про регістра РВ в Т потім з Т в розряд 7 регістра місце старшого розряду мантиси.В ході виконання завдання курсової роботи мною було розроблено проект програми на NASM асемблер для множення / додавання чисел з плаваючою крапкою.Лістинг програми NASM асемблер model small code 386 start: mov ax,@data mov ds, ax mov es, ax main_loop: mov ax, 3; Очищаємо екран int 10h mov ah, 9 mov dx, offset string0 int 21h mov ah, 0 int 16h cmp al, "1" je a2 cmp al, "2" je a1 cmp ah, 1 jne main_loop exit: mov ah, 4Ch int 21h a0: mov ax, 3; int 10h mov ah, 9 mov dx, offset string1 int 21h mov string2 30,"A" mov di, offset A; завантажили число А fild B; завантажили число В fadd st(1), st; додамо А і В fst С; результат додавання в змінну С mov di, offset string5 fldz; загрузили в FPU ноль db 0DFH, 0F1h; fcomip st, st(1); порівняння числа з нулем jnz a3 mov byte ptr [di], "0"; Якщо ціла частина рівна 0 inc edi jmp b01 a3: fstcw control; Заокруглюємо до нуля or control, 0C00h fldcw control fld st; дублюємо вміст st(0) в st(1) frndint; int 10h mov ah, 9 mov dx, offset string1 int 21h mov string2 30,"A" mov string3 33,"A" mov di, offset A; завантажили число А fild B; завантажили число В fmul st(1), st; множимо А і В fst С; результат додавання в змінну С mov di, offset string5 fldz; загрузили в FPU ноль db 0DFH, 0F1h; fcomip st, st(1); порівняння числа з нулем jnz a3 mov byte ptr [di], "0"; Якщо ціла частина рівна 0 inc edi jmp b01 a3: fstcw control; Заокруглюємо до нуля or control, 0C00h fldcw control fld st; дублюємо вміст st(0) в st(1) frndint;

Вывод
В ході виконання завдання курсової роботи мною було розроблено проект програми на NASM асемблер для множення / додавання чисел з плаваючою крапкою.

Під час розробки і реалізації алгоритму задачі, мною було вивчено особливості роботи з мовою низького програмування асемблер, застосовано на практиці, отримані знання з лекційного курсу.

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

Список литературы
1. Аблязов Р.З. Программирование на ассемблера на платформе x86-64. - М.: ДМК Пресс, 2011. - 304 с.

2. Голубь Н.Г. Исскуство программирования на ассемблере. Лекции и упражнения. - 2-е изд., испр. и доп., - СПБ.: ДИАСОФТ, 2002. - 656 с.: ил.

3. Зубков С.В. Assembler для DOS, Windows и Unix. - 2 изд., испр. и доп., - М: ДМК, 2000. - 608 с.: ил.

4. Кип Р. Ирвин. Язык ассемблера для процесоров Intel. - 4-е изд., Пер. с англ. - М.: Издательский дом «Вильямс», 2005. - 912 с.: ил.

5. Крупник А.Б. Изучаем ассемблер. - СПБ.: Питер, 2005. - 249 с.

6. Магда Ю.С. Ассемблер для процессоров Intel Pentium. - СПБ.: Питер, 2006. - 410 с.: ил.

7. Марек Р. Ассемблер на примерах. Базовий курс. - СПБ.: Наука и техника, 2005. - 240 с.: ил.

8. Столяров А.В. Программирование на языке ассемблера NASM для OC UNIX. Уч. пособие. - 2-е изд. - М.: Макс-пресс, 2011. - 188 с.

9. Харт Джонсон М. Системное программирование в среде Windows / Джонсон М. Харт; пер. с англ. - М.: Издательский дом «Вильямс», 2005.

10. Юров В.И. Assembler. Учебник для вузов. 2-е изд. - СПБ.: Питер, 2003. - 637 с.

11. Юров В.И. Assembler. Практикум. 2-е изд. - СПБ.: Питер, 2006. - 399 с
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?