Сложение дробных чисел - Assembler
Формулировка задачи:
Здравствуйте, как сложить 1.5+2.3 , покажите пример пожалуйста или обращаться к сопроцессору ? Заранее благодарю.
Решение задачи: «Сложение дробных чисел»
textual
Листинг программы
.386 .model flat,stdcall option casemap: none include kernel32.inc includelib kernel32.lib .data? sum dq ? .data a dq 1.5 b dq 2.3 .code Start: finit fld a ;st = a fadd b ;st = a + b fstp sum ;sum <- st invoke ExitProcess,0 end Start
Объяснение кода листинга программы
- Объявление переменных в сегменте данных: — a (dq 1.5) — дробное число со знаком, хранящее значение 1.5 — b (dq 2.3) — дробное число со знаком, хранящее значение 2.3 — sum (dq ?) — дробное число со знаком, в которое будет производиться сложение
- Код программы: — Start: — finit — начало работы с плавающей точкой — fld a — загрузка переменной a в регистр st — fadd b — сложение a и b — fstp sum — сохранение результата сложения в переменную sum — invoke ExitProcess,0 - завершение работы программы
- Результат выполнения программы: После выполнения программы в переменной sum будет храниться результат сложения a и b, то есть число 3.8.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д