Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler

Выпуск № 453
от 22.05.2006, 09:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 340, Экспертов: 24
В номере:Вопросов: 1, Ответов: 2


Вопрос № 43300: Здравствуйте! Я ни разу не работал с дробными числами в ассемблере, всегда работал только с целочисленными. Покажите, как будет выглядеть вот такая программа на асме: int a = 10; float b, c = 2.3; b = c + a; Спасибо....

Вопрос № 43.300
Здравствуйте! Я ни разу не работал с дробными числами в ассемблере, всегда работал только с целочисленными.
Покажите, как будет выглядеть вот такая программа на асме:
int a = 10;
float b, c = 2.3;
b = c + a;
Спасибо.
Отправлен: 17.05.2006, 09:32
Вопрос задал: Iluha (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгений Иванов
Здравствуйте, Iluha!

a DD 10
b DQ 2.3
c EQU offset b

fild [a]
fld [c]
fadd
fst [b]

удачи.

---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Россия, Нижний Новгород
Тел.: +78313145721
Организация: M2Media.ru
Адрес: Нижний Новгород, ул.Малая Ямская
WWW: Eugene Ivanov
ICQ: 214;88;90;76
----
Ответ отправлен: 17.05.2006, 09:40

Отвечает: Пан Павел Константинович
Здравствуйте, Iluha!

Предположим что тип INT и FLOAT, равен 32 битам(4 байтам).
Алгоритм действия:

int a = 117;
float b = 0.25;
b = a + b;

Вот код:
.8087
CSEG segment
assume cs:CSEG,ds:CSEG,ss:CSEG,es:CSEG
org 100h
Begin:

FINIT ;Инициализация сопроцессора

fild a ;Помещаем в стек ST(0) Целое число, НО! в виде Вещественного.

fadd b ;a = a + b
fst b ;b = a

ret ;exit

a DD 117
b DD 0.25

CSEG ends
end Begin


---------
Hello Worlds
Ответ отправил: Пан Павел Константинович (статус: 8-ой класс)
Ответ отправлен: 18.05.2006, 00:42


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.32 от 03.05.2006
Яндекс Rambler's Top100

В избранное