- 0
- 0
- 约5.28千字
- 约 20页
- 2026-02-13 发布于安徽
- 举报
二进制乘除法原理
二进制乘法原理
1.设被乘数为X,乘数为Y
Xi为被乘数第i位上的数,1≤i≤n,有0和1两种可能,那么
同理Yi为乘数第i位上的数,1≤i≤m,有0和1两种可能,那么
则
2.举例
X=1011,Y=1010,X*Y=1101110
1011
×1010
10101×20个10101011
101001×21个1010
0000000×22个1010
10100001×23个1010
1101110
二进制乘法汇编语言程序
datasegment
XDW?
YDW?
dataends
codesegment
assumecs:code,ds:data
start:
movax,data
movds,ax
movx,49
movy,254
movax,x
movbx,Y
movdx,0
movcl,-1
lop1:shrbx,1
inccl
jnclop1
movax,x
shlax,cl
lop2:adddx,ax
cmpbx,0
jnzlop1
movax,dx
movdx,0
MOVBX,10000;对应万位数
DIVBX
MOVBX,DX
MOVAH,2
ADDAL,30H
MOVDL,AL
INT21H
MOVAX,BX;对应千位数
MOVDX,0
MOVBX,1000
DIVBX
MOVBX,DX
MOVAH,2
ADDAL,30H
MOVDL,AL
INT21H
MOVAX,BX;对应百位数
MOVBL,100
DIVBL
MOVBL,AH
MOVAH,2
ADDAL,30H
MOVDL,AL
INT21H
MOVAL,BL;对应十位数
MOVAH,0
MOVBL,10
DIVBL
MOVBL,AH
MOVAH,2
ADDAL,30H
MOVDL,AL
INT21H
MOVDL,BL;对应个位数
ADDDL,30H
MOVAH,2
INT21H
MOVAH,4CH
INT21H
codeends
endstart
被乘数,乘数最大为255,积最大为65525
二进制除法原理
1.设被除数为X,除数为Y
Xi为被除数第i位上的数,1≤i≤n,有0和1两种可能,那么
同理Yi为除数第i位上的数,1≤i≤m,有0和1两种可能,那么
设商为Z,余数为T
Zi为商第i位上的数,1≤i≤n-m,有0和1两种可能,那么
或
Ti为余数第i位上的数,1≤i≤m,有0和1两种可能,那么
则分三种情形讨论
XY,那么Z=0,T=Y。
X=Y,那么Z=1,T=0。
XY,那么也分三种情形讨论
(1)、如果X2n-m*Y
余数T=X-Z*Y,其中0≤TY
(2)、如果X=2n-m*Y
Z=2n-m,T=0
(3)、如果X2n-m*Y
余数T=X-Z*Y,其中0≤TY
2.举例
X=1101110,Y=1010,XY,Z=1011,T=0
1011
10101101110
10100001×23个1010
0011110
00101001×21个1010
0001010
00010101×20个1010
0000000
T=0,Z=1011
二进制除法汇编程序1
datasegment
XDW?
YDW?
dataends
codesegment
assumecs:code,ds:data
start:
movax,data
movds,ax
movx,90
movy,100
movax,x
movbx,Y
movdx,0
movsi,
原创力文档

文档评论(0)