Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сопроцессор и FASM, Конвертация числа 
V
    Опции темы
Moky
Дата 4.3.2013, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 4.3.2013

Репутация: нет
Всего: нет



Так уж получилось задал вопрос и сам на него нашел ответ.
Вот код
Код

  format PE GUI 4.0
entry start 
include 'win32ax.inc'
INCLUDE 'api\user32.inc'

section '.data' data readable writable

achi    dd 70.05; слагаемое a
bchi    dd 9.2; слагаемое b
res     dd  ? 
formats db 'Сумма = %.02i.%.02i',0
result  db 256 dup (?)
const   dd 100


section '.code' code readable executable

start:

  finit; иницилизация сипроцессора
   fld dword [achi] ; помещаем слагаемое а в st(0)     st0=70.05
    fadd [bchi] ; прибавляем к st(0) второе слагаемое st0=79.25
     fmul [const] ; умножаем st(0) на 100                    st0=7925
      fstp dword [res] ; помещаем результат в ячейку памяти
       ffree   st0 ; очистка регистра st(0)
        fwait ; синхронизацая работы процессора и сопроцессора

        mov     eax,[res] ; пересылаем содержимое ячейки памяти в регистр eax еах=7925
        xor     edx,edx; очищаем регистр edx для приема остатка от деления еах=7925 edx=0
        mov     ecx,[const]; пересылаем в регистр ecx число 100 еах=7925 edx=0 ecx=100
        div     ecx ; делим содержимое регистра еах на 100 еах=79 edx=25 ecx=100


  ;Подготавливаем результат сложения к выводу
  invoke wsprintf,result,formats,eax, edx
; выодим результат
  invoke MessageBox, 0,result, 'Сопроцессор', MB_OK

     invoke ExitProcess,0 


      section '.idata' import data readable

library kernel32,'KERNEL32.DLL',user32,'USER32.DLL'
INCLUDE 'api\kernel32.inc'

Просто меня сбила с толку одна маленькая заметка в инете и я пытался прикрутить к FASMу функцию  FpuFLtoA. У меня не получилось. Оказалось нельзя верить всему что пишут в инете.

Это сообщение отредактировал(а) Moky - 6.3.2013, 15:09
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0925 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.