鱼C论坛

 找回密码
 立即注册
查看: 3105|回复: 2

实验10 3数值显示 一直除法溢出

[复制链接]
发表于 2011-7-30 13:02:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
assume cs:code,ds:data,ss:ts
data segment
     db 16 dup (0)
data ends

ts segment
     dw 8 dup (0)
ts ends

code segment
ks:  mov ax,12666
         mov bx,data
         mov ds,bx
         mov si,0
         mov bx,ts
         mov ss,bx
         mov sp,16
         mov bx,0
         call dtoc 
         
         mov dh,8
         mov dl,3
         mov cl,2
         call show
         
         mov ax,4c00H
         int 21H
         
dtoc:  

                                     push dx
                                     push cx
                                     push bx
                                     mov dx,0
      t :                            mov bx,10
                 div bx
                 mov cx,ax
                 add dx,30H
                 mov [si],dl
                 inc si
                 jcxz f
                                     jmp short  t
                 
f:                 
                 
                 
                 pop bx
                 pop cx
                 pop dx
                 push si
                 ret
                 
show:                 
         
                 pop si
                 push bx
                 push cx
                 
                 mov al,160
                 sub dh,1
                 mul dh 
                 mov bx,ax
                 
                 sub dl,1
                 mov al,2
                 mul dl
                 
                 add bx,ax
                 mov ax,0b800H
                 add ax,bx
                 mov es,ax
                 mov di,0
                 mov ah,cl
        s:         mov al,[si] 
                 mov es:[di],ax
                 sub si,1
                 mov cx,si
                 add di,2
                 loop s
                 mov al,[si]
                 mov es:[di],ax
                 push cx
                 push bx
                 ret
                 
code ends
end ks
我改了一个早上了都一直在除法溢出是在没办法了来论坛求教求教
用debug看到除法的得二次循环就除法溢出了:Q
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-31 11:13:37 | 显示全部楼层
哈我终于搞定了
原来我没把dx里的余数清掉
assume cs:code,ds:data
data segment
     db 16 dup (0)
data ends


code segment
ks:  mov ax,12666
         mov bx,data
         mov ds,bx
         mov si,0
         call dtoc 
         
         mov dh,8
         mov dl,3
         mov cl,2
         call show
zh:         push cx
         mov ax,4c00H
         int 21H
         
dtoc:  

                                 push cx
                 mov dx,0
        t:         mov bx,10
                 div bx
                 add dx,30H
                 mov ds:[si],dl
                 mov dx,0
                 inc si
                 mov cx,ax
                 jcxz f
                                loop  t
                 
f:                 
                 add al,30H
                 mov [si],al
                 mov bx,si
                 pop cx
                 ret
                 
show:                 
         
                 push cx
                 
                 mov al,160
                 sub dh,1
                 mul dh 
                 mov bx,ax
                 
                 sub dl,1
                 mov al,2
                 mul dl
                 
                 add bx,ax
                 mov ax,0b800H
                 mov es,ax
                 mov ah,cl
                 mov di,0
                 
        s:         mov cx,si
                         mov al,ds:[si] 
                 mov es:[bx+di],ax
                 sub si,1
                 add di,2
                 jcxz o
                 jmp short s
        o:         mov al,[si]
                 mov es:[di],ax
                 jcxz zh

                 
code ends
end ks
这个是改好的分享一哈希望有人给点建议
还有杂关帖子,这个也要研究一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-31 22:26:55 | 显示全部楼层
实验10的第3个实验很考验人啊。我以前做的时候做了2天才搞定,还问了好多人的呵呵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 02:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表