Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2010, 15:17   #1
Shamonya
Пользователь
 
Регистрация: 05.11.2010
Сообщений: 17
По умолчанию 1. Написать процедуру печати вещественного числа в научной форме

Я много прочитал о числах с плавающей запятой, у мя 1 вопрос
в сопроцессоре
я испрользую команду fxtracr благодаря которой я могу дать 2 переменным ментису и степень, но как это перевести в десятичную систему
например
Код:
.data
m_dt dt 0
ch_dt dt 0
y_real dt 45.56;y_real=4004 b63d 70a3 d70a 3d71
.code
mav ax,@data
mov ds,ax
fxtract
fstp m_dt
dstp ch_dt
после этих действий будет ch_dt=4001 a000 .... 0000(5)
m_dt-3ffff b63d 70a3 d70a 3d71(1.42375)
как из них сделать десятичный цыфры указаные в скобках?!)

Последний раз редактировалось Stilet; 05.11.2010 в 20:25.
Shamonya вне форума Ответить с цитированием
Старый 05.11.2010, 15:33   #2
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

http://forum.vingrad.ru/faq/topic-15...вод-числа.html
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 05.11.2010, 16:31   #3
Shamonya
Пользователь
 
Регистрация: 05.11.2010
Сообщений: 17
По умолчанию

Спс
Но если использовать этот текст
Код:
; Требуется директива .286C или выше
outexp  proc    near
        push    ax
        push    bp
        mov     bp, sp
        push    10
        push    0

        ftst
        fstsw   ax
        sahf
        jnz     short @oe0
        mov     ah, 02h
        mov     dl, 30h
        int     21h
        jmp     short @oe2
.
@oe0:   fxtract

; домножим её на lg 2
        fldlg2
        fmulp   st(2), st

        fld     st(1)
        frndint
        fsub    st(2), st

        fistp   word ptr [bp - 4]

        fxch    st(1)

;       fld1
;       fld     основание
;       fyl2x
; Но в нашем случае двоичный логарифм десяти
; можно загрузить непосредственно.
        fldl2t
        fmulp   st(1), st
        fld1
        fld     st(1)
        fprem
        fsub    st(2), st
        f2xm1
        faddp   st(1), st
        fscale
        fstp    st(1)
        fmulp   st(1), st
        fld1
        fcomp   st(1)
        fstsw   ax
        sahf
        jbe     short @oe1
        fimul   word ptr [bp - 2]
        dec     word ptr [bp - 4]
@oe1:   call    outfloat
        mov     ah, 02h
        mov     dl, 'e'
        int     21h
        mov     ax, word ptr [bp - 4]
        call    outpint
@oe2:   leave
        pop     ax
        ret
outexp  endp
то число очень ограниченно, как увеличить то число которое можно преобразовать?*

[

Последний раз редактировалось Stilet; 05.11.2010 в 20:26.
Shamonya вне форума Ответить с цитированием
Старый 05.11.2010, 19:08   #4
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

Как понять ограничено ?
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Старый 05.11.2010, 20:18   #5
Shamonya
Пользователь
 
Регистрация: 05.11.2010
Сообщений: 17
По умолчанию

Какое максимальное число можно загнать на вершину сопроцессора?
Shamonya вне форума Ответить с цитированием
Старый 05.11.2010, 20:43   #6
Goodwin98
equ asm
Участник клуба
 
Аватар для Goodwin98
 
Регистрация: 02.05.2009
Сообщений: 1,605
По умолчанию

1,1 × 10^4932
Если не ошибаюсь...
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4
Goodwin98 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возведение вещественного числа в куб SL1CK Общие вопросы .NET 1 31.01.2010 17:48
Перевод вещественного числа из 10 в 2 Систему счисления. [С++] Veselyn Помощь студентам 9 17.01.2010 00:39
вывод вещественного числа olegnaum Общие вопросы C/C++ 8 21.11.2009 21:03
Выделение из строки записи вещественного числа. Kuh@r Общие вопросы C/C++ 1 30.03.2009 22:12
Перевод вещественного числа в двоичный код shepelin Свободное общение 9 06.07.2008 10:00