Курсовая работа: Реалізація функцій ABS(X), [X], {x}

3. Від порядку відняти 127 – це дорівнює Х.

4. Зсунути мантису на Х вправо – це і буде ціле число.

в) Функція [Х]

1. Перетворити дійсне число в ціле

2. Результат знову перетворити в дійсне

г) Функція |X|

1. Поставити в 0 знак мантиси дробового числа

д) Функція {X}

1. Виділити цілу і дробову частину (аналогічно як при переведенні дійсного в ціле) і відкинути цілу.

2. Взяти порядок рівний 127.

3. Зсувати мантису вліво поки старший біт рівний 1 не вийде за межі мантиси.

4. Зменшити порядок на кількість зсувів.

5. Записати результат у відповідний формат.

5. Реалізація програми

Програма написана на мові ASM-86 з використанням команд сопроцесора та команд процесора 286/386. Вона складається з функцій, які мають цілі вхідні та вихідні дані в регістрі AX, а дробові дані – за адресою DS:SI та ES:DI. Для роботи необхідно записати у відповідні регістри дані або їх адреси, викликати функції і прочитати результат з вказаного місця.

Програма компілюється Turbo Assembler, зв’язується за допомогою TLINK.

6. Системні вимоги

- Математичний сопроцесор (для демонстрації)

- Мікропроцесор Intel 80386 або старший.

- Для перегляду результатів – Turbo Debugger або інший відлагоджувач.

7. Інструкція для користувача

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

Необхідно описати такі дані:

r dd 0 ;дійсне число

I dw 0 ;ціле число

а) перетворення цілого в дійсне:

mov ax,word ptr [I]

mov di,seg r

mov es,di

mov di,offset r

call WORD_TO_REAL

б) перетворення дійсного в ціле

mov ax,word ptr [I]

К-во Просмотров: 406
Бесплатно скачать Курсовая работа: Реалізація функцій ABS(X), [X], {x}