| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
- assume cs:code
 
  
- data segment
 
 -         db 10 dup (0)
 
 - data ends
 
  
- code segment
 
 -         start:        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_str
 
 -                         mov ax,4c00h
 
 -                         int 21h
 
 -                         
 
 -         dtoc:        mov bx,10
 
 -                         inc si
 
 -                 s:        div bx
 
 -                         add dl,30h
 
 -                         mov ds:[si],dl
 
 -                         mov dx,0
 
 -                         inc ax
 
 -                         mov cx,ax
 
 -                         dec ax
 
 -                         jcxz s1
 
 -                         inc si
 
 -                         loop s
 
 -                 s1:        ret
 
 -                 
 
 - show_str:        dec si
 
 -                         mov bl,dh
 
 -                         mov dh,0
 
 -                         add dl,dl
 
 -                         mov di,dx
 
 -                         mov dx,0
 
 -                         mov bh,0
 
 -                         mov ax,160
 
 -                         mul bx
 
 -                         add ax,160
 
 -                         mov bx,ax
 
 -                         mov ax,0b800h
 
 -                         mov es,ax
 
 -                         mov ch,0
 
 -                         mov dx,cx
 
 -                 s8:        mov al,ds:[si]
 
 -                         mov es:[bx+di],al
 
 -                         mov es:[bx+di+1],dl
 
 -                         mov cl,ds:[si]
 
 -                         mov ch,0
 
 -                         dec si
 
 -                         add di,2
 
 -                         jcxz s10
 
 -                         jmp s8
 
 -                 s10:ret        
 
 -                                 
 
 -                         
 
 - code ends
 
 - end start
 
  复制代码 
为什么我单步执行可以,直接运行会报错,显示除法溢出呢
   试试我修改的代码: 
- data segment
 
 -         db 010h dup (0)
 
 - data ends
 
  
- stack segment stack
 
 -         dw 080h dup (0)
 
 - stack ends
 
  
- code segment
 
 -         assume cs:code , ds:data , ss:stack
 
 - main proc near
 
 -                         mov ax,12666
 
 -                         mov bx,data
 
 -                         mov ds,bx
 
 -                         mov si,0
 
 -                         call dtoc
 
 -                         
 
 -                         mov dh,8          ; 第8行
 
 -                         mov dl,3          ; 第3列
 
 -                         mov cl,2          ; 字符颜色:绿色
 
 -                         call show_str
 
 -                         
 
 -                         xor ax,ax
 
 -                         int 016h
 
  
-                         mov ax,4c00h
 
 -                         int 21h
 
 - main endp
 
 - Align 010h
 
 - dtoc proc near
 
 -                         mov bx,10
 
 -                 s:      cwd
 
 -                         div bx
 
 -                         add dl,30h
 
 -                         mov ds:[si],dl
 
 -                         or ax,ax
 
 -                         jz s1 
 
 -                         inc si
 
 -                         jmp s
 
 -                 s1:     ret
 
 - dtoc endp
 
 - Align 10h
 
 - show_str proc near
 
 -                         mov ax,0b800h
 
 -                         mov es,ax
 
 -                         xor bx,bx
 
 -                         mov bl,dh
 
 -                         dec bx
 
 -                         xor dh,dh
 
 -                         add dx,dx
 
 -                         mov di,dx
 
 -                         mov ax,160
 
 -                         mul bx
 
 -                         add di,ax
 
 -                 s8:     mov al,ds:[si]
 
 -                         or al,al
 
 -                         jz s10 
 
 -                         stosb
 
 -                         mov al,cl
 
 -                         stosb
 
 -                         dec si
 
 -                         jmp s8 
 
 -                 s10:    ret
 
 - show_str endp        
 
 - code ends
 
 - end main
 
  复制代码 
 
 
 |   
 
 
 
 |