马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
花了点时间,把实验10的第二小问也做了。这次顺利了很多。
但要注意一下对公式的理解。
一开始采用了错误的压栈方式进行32位加法。。。
后来想明白了,那个*65536其实就是在区分高位和低位,这样低位置零,再相加也就不会有进位问题。
于是顺利解出。assume cs:codeseg,ss:stack
stack segment
dw 8 dup (0)
stack ends
codeseg 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: mov bx,ax
mov bp,dx
mov ax,bp
mov dx,0
div cx
push ax
mov ax,bp
mov dx,0
div cx
mov ax,bx
div cx
mov cx,dx
pop dx
ret
codeseg ends
end start
|