100分求--怎么用8086实现长整数以及包括定点小数的四则运算(+,-,×,/)

hawind 2003-12-31 10:24:09
帮忙!怎么用8086实现长整数以及包括定点小数的四则运算(+,-,×,/)。在此谢谢大家了。。
  最好给出源码。
  可以发到我的邮箱:
litterpig_007@163.com
...全文
122 13 打赏 收藏 举报
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
W32API 2004-01-07
我想你没有理解我的意思。整数你用我给你的那个连接里面提供的例程去变形就可以做到,不管你是否为 128bits 以上长度的运算,只是数据处理会比较多。
对于浮点运算,我并没有说用浮点数来算,但是你既然计算定点小数,你的定点小数的定义是什么?INTEL 只有格式化浮点数的定义,显然 8086 没有浮点单元,所以你得用整数运算的指令去计算浮点格式的数据,那你怎么能不先了解格式化浮点数的存储格式?
去分析它的格式,加法可以可以先用移位的方式对齐阶码,然后阶码不变,尾数相加,根据是否溢出,在去调整阶码;减法要处理符号问题;乘(除)法的移位方式与整数运算的相反。
  • 打赏
  • 举报
回复
hawind 2004-01-07
关键。我不想用浮点数来算!
我就想以这种形式.----如:1234.56789/456.123
以及:1234.56789×456.123
当然:以上数不能只在65535就是五位数的范围之内!
  • 打赏
  • 举报
回复
W32API 2004-01-05
头疼。。。你自己拿格式化浮点数来分析嘛。。。
乘除法移位方向与整数相反,运算方法是,阶码相加,尾数移位加减(非规定的固定格式数)
  • 打赏
  • 举报
回复
hawind 2004-01-05
等待~!
  • 打赏
  • 举报
回复
hawind 2004-01-04
还有没有人关注一下。。呵呵 !
  求解!
  • 打赏
  • 举报
回复
W32API 2004-01-04
对于格式化浮点数我没有研究的先说。。。上面的代码仅适用于整数
  • 打赏
  • 举报
回复
mmmaaa 2004-01-04
乘法:
被乘数移位加。
模拟 16bits 乘法用 x86 汇编语句描述如下:

xor eax,eax
mov ebx,16bits data
mov edx,16bits data
mov ecx,20H
clc
@@1:
shl eax,1
rol edx,1
jnc @@2
add eax,ebx
@@2:
loop @@1
next:


除法:
被除数移位减。。。
模拟除法用 x86 汇编语句描述如下:
xor eax,eax
mov ebx,divisor
mov edx,dividend
mov ecx,20H
@@1:
shld eax,edx,1
cmp eax,ebx
jl @@2
sub eax,ebx
inc edx
@@2:
loop @@1
next:

; 乘法的被乘数和乘数不需要区分
; 除法的被除数和除数必须区分,这和串连移位所使用的寄存器有关。余数存储在 EAX,商存储在 EDX

  • 打赏
  • 举报
回复
hawind 2004-01-03
谢谢了。。
  • 打赏
  • 举报
回复
W32API 2004-01-03
http://expert.csdn.net/Expert/topic/2510/2510572.xml?temp=.6205408
里面贴有乘法和除法的运算例程,你自己该为用 16bit 的运算,多一些数据处理而已
  • 打赏
  • 举报
回复
hawind 2004-01-02
不是吧!
  偶不会了。
  • 打赏
  • 举报
回复
hawind 2004-01-01
主要是可以达到6位以上的运算就行!
谁能帮一下吗?
  • 打赏
  • 举报
回复
rain1983 2004-01-01
兄弟,你看看计算机组成原理上的方法哈,我们要考试不能给你写了哦
  • 打赏
  • 举报
回复
fengyunxian 2004-01-01
hahah
  • 打赏
  • 举报
回复
相关推荐
发帖
汇编语言
加入

2.1w+

社区成员

汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
申请成为版主
帖子事件
创建了帖子
2003-12-31 10:24
社区公告
暂无公告