上午刚写的,就发博客吧,以备查看。
assume cs:code
code segment ;计算1000 000 001 / 10 (3B9A CA01 H/0AH)
main: mov ax,0ca01h
mov dx,3b9ah
mov cx,0ah
call divdw
mov ax,4c00h
int 21h
divdw: ; 参数 (ax)=dword型数据的低16位
; (dx)=dword型数据的高16位
; (cx)=除数
; 返回 (dx)=结果的高16位,(ax)=结果的低16位
; (cx)=余数
push bx
mov bx,ax
mov ax,dx
mov dx,0
div cx
push ax ;将高位产生的商入栈保存
mov ax,bx
div cx
mov cx,dx ;结果
pop dx
pop bx
ret
code ends
end main