組合語言 第三版 王爽 實驗10-2 編寫子程式 之 解決除法溢位問題 divdw
阿新 • • 發佈:2019-02-19
題目:
分析:
1.也就是把dw資料拆成兩個db資料和db相除。
2.注意引數的傳入和傳出。
程式碼:
assume cs:code,ss:stack stack segment db 16 dup (0) stack ends ;計算dw型除以db型,結果是dw型的除法運算 code segment start: mov ax,4240H ;被除數的低位 mov dx,000FH ;被除數的高位 mov cx,0AH call divdw mov ax,4C00H int 21h divdw: ;先計算高位,再計算低位。低位先入棧 push ax mov ax,dx mov dx,0 ;計算dw型 除以db型 結果是 db型除法運算 div cx ;結果是dx 0 ax 商 cx 餘數 mov bx,ax ;儲存ax pop ax ;計算低位 dw型除以db型 結果是db型除法運算 div cx mov cx,dx ;餘數儲存在cx裡 mov dx,bx ;dx儲存的是最終結果的高位、 ret code ends end start
結果: