汇编程序34:实验10 编写子程序(一)
1 assume cs:code 2 //做两次32位/16位的除法即可 3 code segment 4 start: 5 mov ax,3456h 6 mov dx,0012h 7 mov cx,0ah 8 call divdw 9 mov ax,4c00h 10 int 21h 11 divdw: 12 push ax 13 routine: 14 mov ax,dx 15 mov dx,0 //第一次除法可以确保不溢出因为是原数高位做第一次被除数的低位,而被除数高位置0 16 div cx 17 mov bx,ax //保留结果高位dx值,即第一结果的商,它的余作为第二次除法高位,原数低位作为第二次除法低位,同样不会溢出 18 pop ax //低位ax值 19 div cx //第二次除法的余作为结果的余,商作为结果低位ax值 20 mov cx,dx 21 mov dx,bx 22 ok: 23 ret 24 code ends 25 26 end start