21,459
社区成员
发帖
与我相关
我的任务
分享
assume cs:code,ss:stack
stack segment
db 16 dup (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 dx
push ax
mov ax,dx
mov dx,0
div cx
push ax ;H/N的商;结果的高16位
push dx ;H/N的余数
add sp,4
pop ax
div cx ;ax存储结果的低16位
mov cx,dx
sub sp,4
pop dx ;将结果的高16位出栈到dx
add sp,4
ret
code ends
end start
divdw:
push bx
push ax
mov ax,dx
mov dx,0
div cx
mov bx,ax
pop ax
div cx
mov cx,dx
mov dx,bx
pop bx
ret