zzkkw 发表于 2011-7-30 13:02:13

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

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 ,dl
               inc si
               jcxz f
                                     jmp shortt
               
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,
               mov es:,ax
               sub si,1
               mov cx,si
               add di,2
               loop s
               mov al,
               mov es:,ax
               push cx
               push bx
               ret
               
code ends
end ks我改了一个早上了都一直在除法溢出是在没办法了来论坛求教求教
用debug看到除法的得二次循环就除法溢出了:Q

zzkkw 发表于 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:,dl
               mov dx,0
               inc si
               mov cx,ax
               jcxz f
                              loopt
               
f:               
               add al,30H
               mov ,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:
               mov es:,ax
               sub si,1
               add di,2
               jcxz o
               jmp short s
        o:       mov al,
               mov es:,ax
               jcxz zh

               
code ends
end ks这个是改好的分享一哈希望有人给点建议
还有杂关帖子,这个也要研究一下

zzxxcc89 发表于 2011-7-31 22:26:55

实验10的第3个实验很考验人啊。我以前做的时候做了2天才搞定,还问了好多人的呵呵
页: [1]
查看完整版本: 实验10 3数值显示 一直除法溢出