|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 雪球丶 于 2020-3-17 16:30 编辑
- assume cs:code
- code segment
- start:
- mov ax,4240H
- mov dx,000FH
- mov cx,0AH
- call divdw
-
- mov ax,4c00h
- int 21h
-
- ;子程序,被除数为dword型,除数为word型,结果为dword型
- ;输入参数:
- ; (ax)=dword型数据的低16位
- ; (dx)=dowrd型数据的高16位
- ; (cx)=除数
- ;返回值:
- ; (dx)=结果的高16位,(ax)=结果的低16位
- ; (cx)=余数
- ;32位除法所需的寄存器:DX被除数的高16位,AX被除数的低16位,reg,除数(这里是cx)结果:AX商,DX余数
- divdw:
- mov si,ax ;低16位暂存在si中
- ;计算高16位,将16位计算转化为32位计算
- mov ax,dx
- mov dx,0
- div cx
- mov bx,ax ;H/N存放在BX中
- ;计算低16位
- mov ax,si
- div cx
-
- mov cx,dx
- mov dx,bx
- ret
-
- code ends
- end start
复制代码 |
|