实验10(2)

;实验10
;解决除法溢出的问题
assume cs:code , ss:stack
stack segment
        dd 0,0,0,0
stack ends

code segment
start :
        mov ax,stack
        mov ss,ax
        mov sp,16 ;定义栈段

        MOV ax,4240h
        mov dx,000fh
        mov cx,0ah
        call divdw

        mov ax,4c00h
        int 21h

divdw:
        push bx
        MOV bx,ax;保存低位数据

        mov ax,dx
        mov dx,0
        div cx
        push ax ;保存商
        push dx ;保存余数
        
        pop ax ;取余数
        
        mov dx,ax
        mov ax,bx
       
        div cx
        mov cx,dx ;余数
        pop dx ;高位商

        pop bx

        ret


CODE ENDS
END start 

 

posted @ 2014-08-21 17:49  Sylvia小伊  阅读(114)  评论(0)    收藏  举报