两个双精度数如何相加!

smite 2006-11-19 05:01:28
写一个完整的程序放在代码段C_SEG中,要求把数据段D_SEG中的A
和附加段E_SEG中的B相加,并把结果存放在D_SEG中的SUM中.其中AUGEND,ADDEND和SUM均为双精度数,AUGEND赋值为99251,ADDEND赋值为-15962


d_segsegment
A DD 99251
sumdt?
d_segends

e_segsegment
B DD -15962
e_segends

c_segsegment
assume cs:c_seg,ds:d_seg,es:e_seg
start:
push ds
sub ax,ax
push ax

mov ax,d_seg
mov ds,ax
mov ax,e_seg
mov es,ax

finit
fild A
fild B
fadd
fbstp sum

retf
c_segends
endstart

以上不用浮点数,用AX,DX……怎么编?

AX可以存入双精度数时,数据段内如何存放,会将多于16位的值自动放入BX中吗?
...全文
790 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
LiChenYue 2006-11-20
  • 打赏
  • 举报
回复
学习并蹭分ing
sczyllr 2006-11-19
  • 打赏
  • 举报
回复
我写了一个,不知道是不是哦!
D_SEG SEGMENT
AUGEND DD 99251D
SUM DD ?
D_SEG ENDS

E_SEG SEGMENT
ADDEND DD -15962D
E_SEG ENDS

C_SEG SEGMENT
ASSUME CS:C_SEG, DS:D_SEG, ES:E_SEG
MAIN PROC FAR
START:
MOV AX, D_SEG
MOV DS, AX
MOV AX, E_SEG
MOV ES, AX
MOV AX, word ptr AUGEND
MOV BX, word ptr AUGEND+2
ADD AX, word ptr ES:ADDEND
ADC BX, word ptr ES:ADDEND+2
MOV word ptr SUM, AX
MOV word ptr SUM+2, BX
MOV AH,4CH
INT 21H
MAIN ENDP
C_SEG ENDS
END START
z_l 2006-11-19
  • 打赏
  • 举报
回复
上面的都看不懂呢
smite 2006-11-19
  • 打赏
  • 举报
回复
是的!不用finit、fild、fadd,用ADD、ADDC怎么编
大熊猫侯佩 2006-11-19
  • 打赏
  • 举报
回复
不用浮点指令作浮点运算么?先从IEEE754浮点规范入手,然后编写算法用
通用指令集模拟浮点运算/

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧