;公式我们可以用十进制模拟一下,和二进制一样的原理
assume cs:code,ss:stack
stack segment
dw 8 dup(0)
stack ends
code segment
start:
mov ax,stack
mov ss,ax
mov sp,10h
mov ax,4240h
mov dx,0fh
mov cx,0ah
call divdw
mov ax,4c00h
int 21h
divdw:
push ax
mov ax,dx ;int(H/N)
mov dx,0
div cx
mov bx,ax ;商暂存到bx,乘65536是高16位
pop ax ;取出ax作为低16位,上次计算的余数在dx中,刚好做为高16位
div cx
mov cx,dx ;余数赋值给cx
mov dx,bx ;dx赋值为上次暂存的bx
ret
code ends
end start
王爽《汇编语言》实验10:编写子程序divdw 解答
最新推荐文章于 2022-05-02 10:28:51 发布