1. 程式人生 > >組合語言 王爽 實驗十 解決除法溢位問題

組合語言 王爽 實驗十 解決除法溢位問題

上午剛寫的,就發部落格吧,以備檢視。

assume cs:code
code segment  ;計算1000 000 001 / 10 (3B9A CA01 H/0AH)
main:	mov ax,0ca01h
		mov dx,3b9ah
		mov cx,0ah
		call divdw
		
		mov ax,4c00h
		int 21h
divdw:			; 引數  (ax)=dword型資料的低16位
				;		(dx)=dword型資料的高16位
				;		(cx)=除數
				; 返回	(dx)=結果的高16位,(ax)=結果的低16位
				;		(cx)=餘數
		push bx
		
		mov bx,ax
		mov ax,dx
		mov dx,0
		div cx
		push ax   ;將高位產生的商入棧儲存
		mov ax,bx
		div cx
		mov cx,dx ;結果
		pop dx
		
		pop bx
		ret
				
code ends
end main