一、实验要求
二、代码实现
1 assume cs:code,ss:stack 2 3 stack segment 4 dw 8 dup(0) 5 stack ends 6 7 code segment 8 start: mov ax,stack 9 mov ss,ax 10 mov sp,10H 11 mov ax,4240H 12 mov dx,000FH 13 mov cx,0AH 14 call divdw 15 mov ax,4c00h 16 int 21h 17 18 divdw: push ax ;保存低16位数据 19 mov ax,dx ;传递高16位给ax 20 mov dx,0 ;dx置0是为了不影响下边除法的余数,使高16位为0 21 div cx ;H/N=高16位数据/除数 22 23 mov bx,ax ;ax=bx的值位(int)H/N的商,dx的值位(rem)H/N的余数 24 pop ax ;取出低16位的值 25 26 div cx ;L/N,16位除法的时候默认被除数DX为高16位,AX为低16位 27 mov cx,dx ;计算处的余数保存到cx中 28 mov dx,bx ;结果的高16位数据存储在dx中 29 30 ret 31 code ends 32 end start
三、上机调试
原文:https://www.cnblogs.com/TonyJia/p/12605930.html