+ -
当前位置:首页 → 问答吧 → 试用8086的乘法指令编制一个32位和16位数相乘的程序

试用8086的乘法指令编制一个32位和16位数相乘的程序

时间:2010-12-11

来源:互联网

求写法!

作者: z307450494   发布时间: 2010-12-11

http://topic.csdn.net/u/20091013/15/fdaf7533-1a9c-42ca-9ffd-40773df1061f.html

作者: masmaster   发布时间: 2010-12-11

网上有段现成的, 拿去试一试好使不
Assembly code

;=============================== 
;32位符号数的乘法运算 
;入: DXAX=32位操作数1 
; CXBX=32位操作数2 
;出: CXBXDXAX=两操作数积 
;=============================== 
subn_mul32 proc near 
push di 
xor di,di 
test dh,80h 
jz sss_1 
mov di,1 
not dx 
not ax 
add ax,1 
adc dx,0 
sss_1: 
test ch,80h 
jz sss_2 
not cx 
not bx 
add bx,1 
adc cx,0 
xor di,1 
sss_2: 
call subn_32x32 
test di,1 
jz sss_out 
not ax 
not bx 
not cx 
not dx 
add ax,1 
adc dx,0 
adc bx,0 
adc cx,0 
sss_out: 
pop di 
ret 
subn_mul32 endp 
;=============================== 

作者: masmaster   发布时间: 2010-12-11