花了我40分钟才弄好,好像挺慢了。
我没看提示,直接写的,程序如下:
assume cs:code
code segment
start: mov ax,4240h
mov dx,0fh
mov cx,10
mov si,ax
mov ax,dx
mov dx,0
div cx
mov bx,ax
mov ax,si
div cx
mov cx,dx
mov dx,bx
mov ax,4c00h
int 21h
code ends
end start
我的思路是这样的:把被除数分开成两部分做,先把ax存起,把dx赋值给ax,除了cx后把商再存起来,再把除数后面的部分弄回ax上,再计算,最后把余数dx赋值给cx,把第一次计算到的商赋值给dx,这样就ok了。
- [huangqihang] 哈,终于完善了,我找了个地址存起来了。 06/26 21:45
- [游客] 问题出在,你数据在分解成数字字符的过程中,明明你的数据已经是0了,可是还在进行操作,所以,你得到的余 06/26 09:09
- [游客] 前面有一些无用的0,我不知道怎么去掉 ================= 首先应该知道这些0是怎 06/26 09:01
- [游客] 呵呵。这次好多了。多理解题目的意思。后面还有两个子程序呢,做了之后,就可以运用到课程设计1中了,要仔 06/23 16:23
- [mess] 程序结果没问题,根据我们平时十进制的除法的习惯,很容易能弄明白公式~_~ 06/23 12:26
- [huangqihang] 哦哦,我居然没有发现它要写的是一个调用的子程序,不过改正也很容易。我就不改了。 06/22 23:20
- [游客] 哦,是这样啊,我都还不知道它给出dh和dl是干什么的呢。 我把它改正好了: assume cs: 06/22 22:06
- [wsrf] 你的子程序只能在一个固定的行和列位置显示,根本就不符合要求。行和列是由dh和dl中的值来决定的。并且 06/22 10:59
[ huangqihang 发表于 2009-06-22 23:20 ]
哦哦,我居然没有发现它要写的是一个调用的子程序,不过改正也很容易。我就不改了。
[ mess 发表于 2009-06-23 12:26 ]
程序结果没问题,根据我们平时十进制的除法的习惯,很容易能弄明白公式~_~